You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Rocco Corsi (Jira)" <ji...@apache.org> on 2019/10/22 15:38:00 UTC

[jira] [Commented] (THRIFT-4885) TSSLSocket crash during write

    [ https://issues.apache.org/jira/browse/THRIFT-4885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16957174#comment-16957174 ] 

Rocco Corsi commented on THRIFT-4885:
-------------------------------------

Sorry for the long delay for an update.

Did some testing with out of the box Thrift 0.12.0 and I could not cause this problem, with a TSSLSocket::close() resulting in a crash during TSSLSocket::write().

So problem is most likely due to the way we use Thrift in our application.  We have the need to allow the server to send async callbacks to the client, so we had to split the communication into oneway send and receive client/servers using same socket.  This change is most likely the source of the problem and why it doesn't happen with standard Thrift.

Please close this bug report.  Do you need @op to confirm?

>  TSSLSocket crash during write
> ------------------------------
>
>                 Key: THRIFT-4885
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4885
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.10.0
>            Reporter: op
>            Priority: Major
>         Attachments: patch.txt
>
>
> It happens that a race condition between TSSLSocket::write and TSSLSocket::close causes the application to crash. This issue has also been detected by Valgrind.
>  
> This is the core dump backtrace
> #1  0x00007f08549b2291 in BIO_write () from /lib64/libcrypto.so.1.0.0
> #2  0x00007f084fdbbb62 in ?? () from /lib64/libssl.so.1.0.0
> #3  0x00007f084fdbc256 in ?? () from /lib64/libssl.so.1.0.0
> #4  0x00007f085466657c in apache::thrift::transport::TSSLSocket::(write (this=0x7f07a0001060, buf=0x7f07a4b6d1ac "", len=4) at src/thrift/transport/TSSLSocket.cpp:387
>  
> See the patch in attachment.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)