是否需要 HQSession::handleWriteError(HQStreamTransportBase* hqStream, quic::QuicErrorCode err) 中的 DestructorGuard?
作者: ryanchiu0416创建于 2025年10月31日更新于 2025年11月1日
- 线程 #1,名称 = ' ',停止原因 = 信号 SIGSEGV:地址未映射到对象
- 帧 #0:0x0000000001831c13 `folly::DelayedDestructionBase::DestructorGuard::~DestructorGuard(this=) at DelayedDestructionBase.h:94:16
- 帧 #1:0x00000000019026e8 `proxygen::HTTPTransaction::processIngressError(this=, error=) at HTTPTransaction.cpp:762:1
- 帧 #2:0x000000000194a451 `proxygen::HQSession::handleWriteError(proxygen::HQSession::HQStreamTransportBase*, quic::QuicErrorCode) [内联] proxygen::HQSession::HQStreamTransportBase::errorOnTransaction(this=0x000000013d286628, ex=HTTPException @ 0x00007f54a7be1888) at HQSession.cpp:985:10
- 帧 #3:0x000000000194a42d `proxygen::HQSession::handleWriteError(this=, hqStream=, err=) at HQSession.cpp:1974:13
- 帧 #4:0x000000000193a5e5 `proxygen::HQSession::onStopSending(this=, id=, error=) at HQSession.cpp:268:5
- 帧 #5:0x0000000001a63fc1 `quic::QuicTransportBaseLite::handleStreamStopSendingCallbacks(this=) at QuicTransportBaseLite.cpp:1957:20
- 帧 #6:0x0000000001a62301 `quic::QuicTransportBaseLite::processCallbacksAfterNetworkData(this=) at QuicTransportBaseLite.cpp:1571:3
- 帧 #7:0x0000000001a5fc60 `quic::QuicTransportBaseLite::onNetworkData(this=, peer=, networkData=) at QuicTransportBaseLite.cpp:145:7
- 帧 #8:0x00000000019ceea7 `quic::QuicServerWorker::dispatchPacketData(folly::SocketAddress const&, quic::RoutingData&&, quic::NetworkData&&, folly::Optionalquic::QuicVersion, bool)::$_1::operator()(this=, transport=) const at QuicServerWorker.cpp:855:16
- 帧 #9:0x00000000019cd886 `quic::QuicServerWorker::dispatchPacketData(this=, client=, routingData=, networkData=, quicVersion=, isForwardedData=false) at QuicServerWorker.cpp:0
内容来源: facebook/proxygen