Open Bug 1870094 Opened 10 months ago Updated 10 months ago

ThreadSanitizer: thread leak [@ sctp_userspace_thread_create]

Categories

(Core :: WebRTC: Networking, defect, P3)

defect

Tracking

()

Tracking Status
firefox122 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 3 open bugs)

Details

Found with m-c 20231214-3af75f3310fc (--enable-thread-sanitizer --enable-fuzzing)

This was found by visiting a live website (www.walmart.com) with a TSan build.

WARNING: ThreadSanitizer: thread leak (pid=26333)
  Thread T33 'SCTP iterator' (tid=26467, finished) created by main thread at:
    #0 pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1020:3 (firefox-bin+0xd2e4b) (BuildId: fa017fcb305a5f571635c8888588fe74f5dcaed1)
    #1 sctp_userspace_thread_create /builds/worker/checkouts/gecko/netwerk/sctp/src/netinet/sctp_userspace.c:79:9 (libxul.so+0x3cc38a6) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #2 sctp_startup_iterator /builds/worker/checkouts/gecko/netwerk/sctp/src/netinet/sctp_bsd_addr.c:184:6 (libxul.so+0x3cc38a6)
    #3 sctp_pcb_init /builds/worker/checkouts/gecko/netwerk/sctp/src/netinet/sctp_pcb.c:6705:2 (libxul.so+0x3cc38a6)
    #4 sctp_init /builds/worker/checkouts/gecko/netwerk/sctp/src/netinet/sctp_usrreq.c:141:2 (libxul.so+0x3d011d6) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #5 usrsctp_init /builds/worker/checkouts/gecko/netwerk/sctp/src/user_socket.c:112:2 (libxul.so+0x3d011d6)
    #6 mozilla::DataChannelRegistry::InitUsrSctp() /builds/worker/checkouts/gecko/netwerk/sctp/datachannel/DataChannel.cpp:290:5 (libxul.so+0x3d18126) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #7 mozilla::DataChannelRegistry::DataChannelRegistry() /builds/worker/checkouts/gecko/netwerk/sctp/datachannel/DataChannel.cpp:222:5 (libxul.so+0x3d18044) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #8 mozilla::DataChannelRegistry::EnsureInstance() /builds/worker/checkouts/gecko/netwerk/sctp/datachannel/DataChannel.cpp:233:24 (libxul.so+0x3d17cc9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #9 mozilla::DataChannelRegistry::Register(mozilla::DataChannelConnection*) /builds/worker/checkouts/gecko/netwerk/sctp/datachannel/DataChannel.cpp:182:24 (libxul.so+0x3d07ddf) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #10 mozilla::DataChannelConnection::Init(unsigned short, unsigned short, mozilla::Maybe<unsigned long> const&) /builds/worker/checkouts/gecko/netwerk/sctp/datachannel/DataChannel.cpp:547:9 (libxul.so+0x3d0666d) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #11 mozilla::DataChannelConnection::Create(mozilla::DataChannelConnection::DataConnectionListener*, nsISerialEventTarget*, mozilla::MediaTransportHandler*, unsigned short, unsigned short, mozilla::Maybe<unsigned long> const&) /builds/worker/checkouts/gecko/netwerk/sctp/datachannel/DataChannel.cpp:506:22 (libxul.so+0x3d064bc) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #12 mozilla::PeerConnectionImpl::EnsureDataConnection(unsigned short, unsigned short, unsigned int, bool) /builds/worker/checkouts/gecko/dom/media/webrtc/jsapi/PeerConnectionImpl.cpp:822:18 (libxul.so+0x6e708df) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #13 mozilla::PeerConnectionImpl::CreateDataChannel(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, unsigned short, bool, unsigned short, unsigned short, bool, unsigned short, nsDOMDataChannel**) /builds/worker/checkouts/gecko/dom/media/webrtc/jsapi/PeerConnectionImpl.cpp:1136:17 (libxul.so+0x6e73dce) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #14 mozilla::PeerConnectionImpl::CreateDataChannel(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, unsigned short, bool, unsigned short, unsigned short, bool, unsigned short, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/media/webrtc/jsapi/PeerConnectionImpl.cpp:1106:8 (libxul.so+0x6e73c9d) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #15 mozilla::dom::PeerConnectionImpl_Binding::createDataChannel(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./PeerConnectionImplBinding.cpp:1821:69 (libxul.so+0x50cb2ae) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #16 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:3320:13 (libxul.so+0x5c6aaf9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #17 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:479:13 (libxul.so+0x9fa58b9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #18 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:573:12 (libxul.so+0x9fa58b9)
    #19 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:640:10 (libxul.so+0x9fb7c4c) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #20 CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:645:10 (libxul.so+0x9fb7c4c)
    #21 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3060:16 (libxul.so+0x9fb7c4c)
    #22 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:393:10 (libxul.so+0x9fa4f01) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #23 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:451:13 (libxul.so+0x9fa4f01)
    #24 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:605:13 (libxul.so+0x9fa5986) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #25 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:640:10 (libxul.so+0x9fa6537) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #26 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:672:8 (libxul.so+0x9fa6537)
    #27 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0xa0580c3) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #28 mozilla::dom::RTCPeerConnectionJSImpl::CreateDataChannel(nsTSubstring<char16_t> const&, mozilla::dom::RTCDataChannelInit const&, mozilla::ErrorResult&, JS::Realm*) /builds/worker/workspace/obj-build/dom/bindings/./RTCPeerConnectionBinding.cpp:8562:8 (libxul.so+0x517c38d) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #29 CreateDataChannel /builds/worker/workspace/obj-build/dom/bindings/./RTCPeerConnectionBinding.cpp:10656:17 (libxul.so+0x51dc422) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #30 mozilla::dom::RTCPeerConnection_Binding::createDataChannel(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./RTCPeerConnectionBinding.cpp:5723:69 (libxul.so+0x51dc422)
    #31 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:3320:13 (libxul.so+0x5c6aaf9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #32 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:479:13 (libxul.so+0x9fa58b9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #33 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:573:12 (libxul.so+0x9fa58b9)
    #34 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:640:10 (libxul.so+0x9fb7c4c) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #35 CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:645:10 (libxul.so+0x9fb7c4c)
    #36 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3060:16 (libxul.so+0x9fb7c4c)
    #37 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:393:10 (libxul.so+0x9fa4f01) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #38 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:451:13 (libxul.so+0x9fa4f01)
    #39 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:605:13 (libxul.so+0x9fa5986) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #40 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:640:10 (libxul.so+0x9fa6537) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #41 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:672:8 (libxul.so+0x9fa6537)
    #42 Call /builds/worker/checkouts/gecko/js/src/vm/Interpreter.h:116:10 (libxul.so+0xa1bd159) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #43 PromiseReactionJob(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/src/builtin/Promise.cpp:2244:10 (libxul.so+0xa1bd159)
    #44 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:479:13 (libxul.so+0x9fa58b9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #45 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:573:12 (libxul.so+0x9fa58b9)
    #46 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:640:10 (libxul.so+0x9fa6537) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #47 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:672:8 (libxul.so+0x9fa6537)
    #48 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/CallAndConstruct.cpp:119:10 (libxul.so+0xa0580c3) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #49 mozilla::dom::PromiseJobCallback::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/./PromiseBinding.cpp:83:8 (libxul.so+0x511d963) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #50 Call /builds/worker/workspace/obj-build/dist/include/mozilla/dom/PromiseBinding.h:198:12 (libxul.so+0x3181857) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #51 Call /builds/worker/workspace/obj-build/dist/include/mozilla/dom/PromiseBinding.h:211:12 (libxul.so+0x3181857)
    #52 mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) /builds/worker/checkouts/gecko/xpcom/base/CycleCollectedJSContext.cpp:210:18 (libxul.so+0x3181857)
    #53 mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool) /builds/worker/checkouts/gecko/xpcom/base/CycleCollectedJSContext.cpp:712:17 (libxul.so+0x316df06) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #54 LeaveMicroTask /builds/worker/workspace/obj-build/dist/include/mozilla/CycleCollectedJSContext.h:241:7 (libxul.so+0x628fbdd) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #55 ~nsAutoMicroTask /builds/worker/workspace/obj-build/dist/include/mozilla/CycleCollectedJSContext.h:389:13 (libxul.so+0x628fbdd)
    #56 mozilla::EventListenerManager::HandleEventSingleListener(mozilla::EventListenerManager::Listener*, nsAtom*, mozilla::WidgetEvent*, mozilla::dom::Event*, mozilla::dom::EventTarget*, bool) /builds/worker/checkouts/gecko/dom/events/EventListenerManager.cpp:1350:3 (libxul.so+0x628fbdd)
    #57 mozilla::EventListenerManager::HandleEventWithListenerArray(mozilla::EventListenerManager::ListenerArray*, nsAtom*, mozilla::EventMessage, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, bool) /builds/worker/checkouts/gecko/dom/events/EventListenerManager.cpp:1663:12 (libxul.so+0x6290f5b) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #58 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /builds/worker/checkouts/gecko/dom/events/EventListenerManager.cpp:1560:35 (libxul.so+0x62902a0) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #59 HandleEvent /builds/worker/workspace/obj-build/dist/include/mozilla/EventListenerManager.h:465:5 (libxul.so+0x6283151) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #60 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /builds/worker/checkouts/gecko/dom/events/EventDispatcher.cpp:364:17 (libxul.so+0x6283151)
    #61 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /builds/worker/checkouts/gecko/dom/events/EventDispatcher.cpp:611:18 (libxul.so+0x6281eae) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #62 mozilla::EventDispatcher::Dispatch(mozilla::dom::EventTarget*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /builds/worker/checkouts/gecko/dom/events/EventDispatcher.cpp:1232:11 (libxul.so+0x62861f9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #63 mozilla::dom::ScriptElement::ScriptEvaluated(nsresult, nsIScriptElement*, bool) /builds/worker/checkouts/gecko/dom/script/ScriptElement.cpp:80:5 (libxul.so+0x7aa2b31) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #64 mozilla::dom::ScriptLoader::FireScriptEvaluated(nsresult, JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2306:18 (libxul.so+0x7ab4ea9) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #65 mozilla::dom::ScriptLoader::ProcessRequest(JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2244:3 (libxul.so+0x7ab0d66) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #66 mozilla::dom::ScriptLoader::CompileOffThreadOrProcessRequest(JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:1631:10 (libxul.so+0x7ab19e2) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #67 mozilla::dom::ScriptLoader::ProcessPendingRequests() /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:3131:7 (libxul.so+0x7a9fa5b) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #68 mozilla::dom::ScriptLoader::OnStreamComplete(nsIIncrementalStreamLoader*, JS::loader::ScriptLoadRequest*, nsresult, nsresult, mozilla::dom::SRICheckDataVerifier*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:3361:3 (libxul.so+0x7aa8341) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #69 mozilla::dom::ScriptLoadHandler::OnStreamComplete(nsIIncrementalStreamLoader*, nsISupports*, nsresult, unsigned int, unsigned char const*) /builds/worker/checkouts/gecko/dom/script/ScriptLoadHandler.cpp:460:23 (libxul.so+0x7aa7c18) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #70 nsIncrementalStreamLoader::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsIncrementalStreamLoader.cpp:82:20 (libxul.so+0x3476121) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #71 mozilla::net::InterceptFailedOnStop::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpBaseChannel.cpp:1425:19 (libxul.so+0x39ace41) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #72 mozilla::net::nsHTTPCompressConv::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/streamconv/converters/nsHTTPCompressConv.cpp:184:20 (libxul.so+0x37e0ab8) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #73 mozilla::net::HttpChannelChild::DoOnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:1277:15 (libxul.so+0x3970209) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #74 mozilla::net::HttpChannelChild::OnStopRequest(nsresult const&, mozilla::net::ResourceTimingStructArgs const&, mozilla::net::nsHttpHeaderArray const&) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:1097:5 (libxul.so+0x396fa97) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #75 operator() /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:924:15 (libxul.so+0x39c0bbe) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #76 std::_Function_handler<void (), mozilla::net::HttpChannelChild::ProcessOnStopRequest(nsresult const&, mozilla::net::ResourceTimingStructArgs const&, mozilla::net::nsHttpHeaderArray const&, nsTArray<mozilla::net::ConsoleReportCollected>&&, bool, mozilla::TimeStamp const&)::$_2>::_M_invoke(std::_Any_data const&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:297:2 (libxul.so+0x39c0bbe)
    #77 operator() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x38953c3) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #78 mozilla::net::ChannelFunctionEvent::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/net/ChannelEventQueue.h:55:25 (libxul.so+0x38953c3)
    #79 mozilla::net::ChannelEventQueue::FlushQueue() /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.cpp:94:12 (libxul.so+0x3b717ad) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #80 MaybeFlushQueue /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.h:354:5 (libxul.so+0x3b9622c) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #81 mozilla::net::ChannelEventQueue::CompleteResume() /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.h:333:5 (libxul.so+0x3b9622c)
    #82 mozilla::net::ChannelEventQueue::ResumeInternal()::CompleteResumeRunnable::Run() /builds/worker/checkouts/gecko/netwerk/ipc/ChannelEventQueue.cpp:152:17 (libxul.so+0x3b9601f) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #83 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:549:16 (libxul.so+0x3273092) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #84 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:876:26 (libxul.so+0x3268140) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #85 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:699:15 (libxul.so+0x3266986) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #86 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:485:36 (libxul.so+0x3266cbf) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #87 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:211:37 (libxul.so+0x3276314) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #88 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548:5 (libxul.so+0x3276314)
    #89 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1199:16 (libxul.so+0x328a908) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #90 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3291084) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #91 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x3dba51e) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #92 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:268:30 (libxul.so+0x3dbafeb) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #93 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3d34038) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #94 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3d34038)
    #95 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3d34038)
    #96 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x7d0c303) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #97 nsAppShell::Run() /builds/worker/checkouts/gecko/widget/gtk/nsAppShell.cpp:470:33 (libxul.so+0x7df909c) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #98 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:721:20 (libxul.so+0x9e0d91f) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #99 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x3dbaf9a) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #100 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3d34038) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #101 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3d34038)
    #102 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3d34038)
    #103 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:656:34 (libxul.so+0x9e0d580) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #104 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x9e19a52) (BuildId: bbaa2e2b5fe37af81337a5ff415a21b0afcf7c4a)
    #105 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox-bin+0x15bd02) (BuildId: fa017fcb305a5f571635c8888588fe74f5dcaed1)
    #106 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:375:18 (firefox-bin+0x15bd02)

This has also been reported a few times by fuzzers. The first report was from m-c 20231110-543c915fc8c6. None of the reported test cases reproduce the issue.

Blocks: domino

Probably a low-frequency (very low) race condition that leaks

Component: Networking → WebRTC: Networking
Severity: -- → S4
Priority: -- → P3
Blocks: tsan
You need to log in before you can comment on or make changes to this bug.