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

ASF GitHub Bot commented on THRIFT-3568:
----------------------------------------

Github user nsuke commented on the pull request:

    https://github.com/apache/thrift/pull/807#issuecomment-174164904
  
    @andrewcox here you are.
    Critical flaw lies in `TFramedTransport::readSlow` -> 
`TFramedTransport::readFrame`.
    Where **THeaderTransport**::readFrame should have been called.
    Seems to be a simple transplant issue.
    
        __assert_fail () from /usr/lib/libc.so.6
        boost::shared_ptr<apache::thrift::transport::ttransport>::operator-> 
(this=0x7f8248001af8) at /usr/include/boost/smart_ptr/shared_ptr.hpp:693
        apache::thrift::transport::tframedtransport::readframe 
(this=0x7f8248001ad0) at src/thrift/transport/tbuffertransports.cpp:183
        apache::thrift::transport::tframedtransport::readslow 
(this=0x7f8248001ad0, buf=0x7f82517207d0 "\360\arq", len=4) 
rt/tbuffertransports.cpp:154
        apache::thrift::transport::theadertransport::readslow 
(this=0x7f8248001ad0, buf=0x7f82517207d0 "\360\arq", len=4) at 
src/thrift/transport/theadertransport.cpp:55
        apache::thrift::transport::tbufferbase::read (this=0x7f8248001ad0, 
buf=0x7f82517207d0 "\360\arq", len=4) thrift/transport/tbuffertransports.h:71
        
apache::thrift::transport::readall<apache::thrift::transport::tbufferbase> 
(trans=..., buf=0x7f82517207d0 "\360\arq", len=4) 
thrift/transport/ttransport.h:41
        apache::thrift::transport::tbufferbase::readall (this=0x7f8248001ad0, 
buf=0x7f82517207d0 "\360\arq", len=4) thrift/transport/tbuffertransports.h:84
        apache::thrift::transport::theadertransport::readall 
(this=0x7f8248001ad0, buf=0x7f82517207d0 "\360\arq", len=4) at 
src/thrift/transport/theadertransport.cpp:46
        
apache::thrift::protocol::tbinaryprotocolt<apache::thrift::transport::theadertransport,
 apache::thrift::protocol::tnetworkbigendian>::readi32 ( i32=@0x7f825172081c: 
0) at ./src/thrift/protocol/tbinaryprotocol.tcc:373
        
apache::thrift::protocol::tbinaryprotocolt<apache::thrift::transport::theadertransport,
 apache::thrift::protocol::tnetworkbigendian>::readmessagebegin ( name="", 
messagetype=@0x7f82517209fc: 32642, seqid=@0x7f82517209f8: 1207967376) at 
./src/thrift/protocol/tbinaryprotocol.tcc:205
        
apache::thrift::protocol::tvirtualprotocol<apache::thrift::protocol::tbinaryprotocolt<apache::thrift::transport::theadertransport,
 apache::thrift::protocol::tnetworkbigendian>, 
apache::thrift::protocol::tprotocoldefaults>::readmessagebegin_virt 
(this=0x7f8248001e40, name="", messagetype=@0x7f82517209fc: 32642, 
seqid=@0x7f82517209f8: 1207967376) col/tvirtualprotocol.h:403
        apache::thrift::protocol::tprotocol::readmessagebegin 
(this=0x7f8248001e40, name="", messagetype=@0x7f82517209fc: 32642, 
seqid=@0x7f82517209f8: 1207967376) thrift/protocol/tprotocol.h:431
        apache::thrift::protocol::theaderprotocol::readmessagebegin 
(this=0x7f8248001190, name="", messagetype=@0x7f82517209fc: 32642, 
seqid=@0x7f82517209f8: 1207967376) l/theaderprotocol.cpp:172
        
apache::thrift::protocol::tvirtualprotocol<apache::thrift::protocol::theaderprotocol,
 apache::thrift::protocol::tprotocoldefaults>::readmessagebegin_virt ( name="", 
messagetype=@0x7f82517209fc: 32642, seqid=@0x7f82517209f8: 1207967376) at 
../../lib/cpp/src/thrift/protocol/tvirtualprotocol.h:403
        apache::thrift::protocol::tprotocol::readmessagebegin 
(this=0x7f8248001190, name="", messagetype=@0x7f82517209fc: 32642, 
seqid=@0x7f82517209f8: 1207967376) thrift/protocol/tprotocol.h:431
        apache::thrift::tdispatchprocessor::process (this=0x270ce00, in=..., 
out=..., connectioncontext=0x0) at 
../../lib/cpp/src/thrift/tdispatchprocessor.h:114
        apache::thrift::server::tconnectedclient::run (this=0x7f8248001210) at 
src/thrift/server/tconnectedclient.cpp:62
        apache::thrift::server::tsimpleserver::onclientconnected 
(this=0x270d920, pclient=...) at src/thrift/server/tsimpleserver.cpp:90
        apache::thrift::server::tserverframework::newlyconnectedclient 
(this=0x270d920, pclient=...) at src/thrift/server/tserverframework.cpp:222
        apache::thrift::server::tserverframework::serve (this=0x270d920) at 
src/thrift/server/tserverframework.cpp:164
        apache::thrift::server::tserver::run (this=0x270d920) at 
../../lib/cpp/src/thrift/server/tserver.h:108
        apache::thrift::concurrency::pthreadthread::threadmain (arg=0x270db30) 
at src/thrift/concurrency/posixthreadfactory.cpp:208
        start_thread () from /usr/lib/libpthread.so.0
        clone () from /usr/lib/libc.so.6


> THeader server crashes on readSlow
> ----------------------------------
>
>                 Key: THRIFT-3568
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3568
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9.4
>            Reporter: Aki Sukegawa
>            Assignee: Aki Sukegawa
>
> It is essentially caused by readFrame method that is not overriden (but 
> hidden).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to