Skip to content
This repository was archived by the owner on Oct 25, 2024. It is now read-only.

Crash while writing after session is terminated. #17

@jianjunz

Description

@jianjunz

QuicTransportStreamImpl::Write posts a task to io_runner_. Session might be stopped before the task is finished.

Call stack:

 	owt_quic_transport.dll!quic::QuicTransportStream::CanWrite() Line 101	C++
>	owt_quic_transport.dll!owt::quic::QuicTransportStreamImpl::Write(uint8_t *, size_t)::(anonymous class)::operator()() Line 114	C++
 	owt_quic_transport.dll!base::internal::FunctorTraits<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',void>::Invoke<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',owt::quic::QuicTransportStreamImpl *,unsigned char *,unsigned long long &,bool &,base::WaitableEvent *>() Line 379	C++
 	owt_quic_transport.dll!base::internal::InvokeHelper<0,void>::MakeItSo<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',owt::quic::QuicTransportStreamImpl *,unsigned char *,unsigned long long &,bool &,base::WaitableEvent *>() Line 637	C++
 	owt_quic_transport.dll!base::internal::Invoker<base::internal::BindState<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',base::internal::UnretainedWrapper<owt::quic::QuicTransportStreamImpl>,base::internal::UnretainedWrapper<unsigned char>,std::__1::reference_wrapper<unsigned long long>,std::__1::reference_wrapper<bool>,base::internal::UnretainedWrapper<base::WaitableEvent>>,void ()>::RunImpl<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',std::__1::tuple<base::internal::UnretainedWrapper<owt::quic::QuicTransportStreamImpl>,base::internal::UnretainedWrapper<unsigned char>,std::__1::reference_wrapper<unsigned long long>,std::__1::reference_wrapper<bool>,base::internal::UnretainedWrapper<base::WaitableEvent>>,0,1,2,3,4>() Line 710	C++
 	owt_quic_transport.dll!base::internal::Invoker<base::internal::BindState<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',base::internal::UnretainedWrapper<owt::quic::QuicTransportStreamImpl>,base::internal::UnretainedWrapper<unsigned char>,std::__1::reference_wrapper<unsigned long long>,std::__1::reference_wrapper<bool>,base::internal::UnretainedWrapper<base::WaitableEvent>>,void ()>::RunOnce() Line 679	C++
 	owt_quic_transport.dll!base::OnceCallback<void ()>::Run() Line 101	C++
 	owt_quic_transport.dll!base::TaskAnnotator::RunTask() Line 165	C++
 	owt_quic_transport.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl() Line 333	C++
 	owt_quic_transport.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() Line 254	C++
 	owt_quic_transport.dll!base::MessagePumpForIO::DoRunLoop() Line 723	C++
 	owt_quic_transport.dll!base::MessagePumpWin::Run() Line 82	C++
 	owt_quic_transport.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run() Line 450	C++
 	owt_quic_transport.dll!base::RunLoop::Run() Line 124	C++
 	owt_quic_transport.dll!base::Thread::Run() Line 311	C++
 	owt_quic_transport.dll!base::Thread::ThreadMain() Line 385	C++
 	owt_quic_transport.dll!base::`anonymous namespace'::ThreadFunc() Line 113	C++
 	[External Code]	

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions