[
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)