You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@fenglonz the onError() callback means that the transaction has hit an unrecoverable error condition.
It looks like you are trying to send a response from there, which will be impossible given the above condition.
Your paste does not include console logs, but I am guessing that would result in an invalid state machine transition, hence the program abort.
Hello!
When onError, core dump occurs; How to fix it?
Thanks!
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000636fd6 in proxygen::Filter::sendHeaders(proxygen::HTTPMessage&) ()
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 elfutils-libelf-0.168-8.el7.x86_64 glibc-2.17-106.el7_2.8.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.13.2-12.el7_2.x86_64 libcom_err-1.42.9-7.el7.x86_64 libgcc-4.8.5-36.el7_6.1.x86_64 libselinux-2.2.2-6.el7.x86_64 openssl-libs-1.0.2k-16.el7.x86_64 pcre-8.32-15.el7_2.1.x86_64 snappy-1.1.0-3.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64
(gdb) bt
#0 0x0000000000636fd6 in proxygen::Filter::sendHeaders(proxygen::HTTPMessage&) ()
#1 0x00000000006385f2 in proxygen::CompressionFilter::sendHeaders(proxygen::HTTPMessage&) ()
#2 0x000000000052aac3 in proxygen::ResponseBuilder::send (this=0x7fcc8179f290) at ../proxygenlib/proxygen/include/proxygen/httpserver/ResponseBuilder.h:164
#3 0x000000000052a8bc in proxygen::ResponseBuilder::sendWithEOM (this=0x7fcc8179f290) at ../proxygenlib/proxygen/include/proxygen/httpserver/ResponseBuilder.h:136
#4 0x0000000000528505 in broalgo::shield::PushRequestHandler::onError (this=0x7fcc74022a30, err=proxygen::kErrorRead) at server/shield_request_handler.cc:393
#5 0x0000000000636ee5 in proxygen::Filter::onError(proxygen::ProxygenError) ()
#6 0x0000000000687139 in proxygen::RequestHandlerAdaptor::setError(proxygen::ProxygenError) ()
#7 0x0000000000686b84 in proxygen::RequestHandlerAdaptor::onError(proxygen::HTTPException const&) ()
#8 0x00000000006e3b2f in proxygen::HTTPTransaction::onError(proxygen::HTTPException const&) ()
#9 0x00000000006bc44c in proxygen::HTTPSession::onError(unsigned long, proxygen::HTTPException const&, bool) ()
#10 0x000000000071583b in proxygen::PassThroughHTTPCodecFilter::onError(unsigned long, proxygen::HTTPException const&, bool) ()
#11 0x000000000072eb43 in proxygen::HTTP1xCodec::onParserError(char const*) ()
#12 0x000000000072e8a8 in proxygen::HTTP1xCodec::onIngressEOF() ()
#13 0x0000000000715f33 in proxygen::PassThroughHTTPCodecFilter::onIngressEOF() ()
#14 0x00000000006c5c12 in proxygen::HTTPSession::shutdownTransport(bool, bool, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) ()
#15 0x00000000006b89cd in proxygen::HTTPSession::readEOF() ()
#16 0x00007fcd020e41d0 in ?? ()
#17 0x00007fcc74010f68 in ?? ()
#18 0x00007fcc74001ca0 in ?? ()
#19 0x00007fcc8179f9e0 in ?? ()
#20 0x00000000006cf8b0 in folly::detail::ScopeGuardImpl<folly::IOBufQueue::updateGuard()::{lambda()#1}, true>::~ScopeGuardImpl() ()
#21 0x00007fcd020e25ca in ?? ()
#22 0x00000002817a2700 in ?? ()
#23 0x00007fcc74001ca0 in ?? ()
#24 0x00007fcc74001fa8 in ?? ()
#25 0x0000000038a00914 in ?? ()
#26 0x00007fcc8179fd50 in ?? ()
#27 0x00007fcd020fe946 in ?? ()
#28 0x00007fcc74000e40 in ?? ()
#29 0x00007fcc74000b90 in ?? ()
#30 0x00007fcc740010d0 in ?? ()
#31 0x00000000008abe42 in event_active_nolock (ev=0x0, res=, ncalls=) at event.c:2341
#32 0x00007fcc74001e28 in ?? ()
#33 0x00007fcc8179fd50 in ?? ()
#34 0x00007fcd020e9fa7 in ?? ()
#35 0x0000000200000054 in ?? ()
#36 0x00007fcc74001e28 in ?? ()
#37 0x00007fcc8179fd80 in ?? ()
#38 0x00007fcd02111ced in ?? ()
#39 0x00007fcc74001e28 in ?? ()
#40 0x0000005400070002 in ?? ()
#41 0x0000000000000000 in ?? ()
My code:
383 void PushRequestHandler::onError(ProxygenError err) noexcept {
384 LOG_ERROR( "Client error: %s", proxygen::getErrorString(err));
385 gPushBody_="version=0.0.2|r=|d=";
386 if (body_)
387 LOG_ERROR( "Client error: %s", body_->data());
388 ResponseBuilder(downstream_)
389 .status(200, "OK")
390 .header("Request-Number",
391 folly::tostd::string(stats_->getRequestCount()))
392 .body(gPushBody_)
393 .sendWithEOM();
394 if (this != NULL) {
395 delete this;
396 }
397 }
The text was updated successfully, but these errors were encountered: