Closed Bug 1624897 Opened 4 years ago Closed 4 years ago

Intermittent GECKO(1276) | SUMMARY: ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:67:13 in assign_assuming_AddRef

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox-esr68 --- unaffected
firefox74 --- wontfix
firefox75 + fixed
firefox76 + fixed

People

(Reporter: intermittent-bug-filer, Assigned: bwc)

References

(Blocks 1 open bug)

Details

(Keywords: csectype-race, intermittent-failure, sec-high, Whiteboard: [adv-main75+r])

Filed by: malexandru [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=294694033&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/ND4quTQ3Q5S5Pp_kHKdEfQ/runs/0/artifacts/public/logs/live_backing.log


[task 2020-03-25T15:40:42.332Z] 15:40:42     INFO - GECKO(1276) | WARNING: ThreadSanitizer: data race (pid=1389)
[task 2020-03-25T15:40:42.332Z] 15:40:42     INFO - GECKO(1276) |   Write of size 8 at 0x7b580003e950 by main thread:
[task 2020-03-25T15:40:42.332Z] 15:40:42     INFO - GECKO(1276) |     #0 assign_assuming_AddRef /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:67:13 (libxul.so+0x1a6d05d)
[task 2020-03-25T15:40:42.332Z] 15:40:42     INFO - GECKO(1276) |     #1 operator=<mozilla::NrIceCtx, void> /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:219:5 (libxul.so+0x1a6d05d)
[task 2020-03-25T15:40:42.332Z] 15:40:42     INFO - GECKO(1276) |     #2 operator() /builds/worker/checkouts/gecko/media/webrtc/signaling/src/peerconnection/MediaTransportHandler.cpp:383:17 (libxul.so+0x1a6d05d)
[task 2020-03-25T15:40:42.333Z] 15:40:42     INFO - GECKO(1276) |     #3 mozilla::detail::ProxyFunctionRunnable<mozilla::MediaTransportHandlerSTS::CreateIceCtx(std::string const&, nsTArray<mozilla::dom::RTCIceServer> const&, mozilla::dom::RTCIceTransportPolicy)::$_22, mozilla::MozPromise<bool, std::string, false> >::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/MozPromise.h:1456:29 (libxul.so+0x1a6d05d)
[task 2020-03-25T15:40:42.333Z] 15:40:42     INFO - GECKO(1276) |     #4 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1220:14 (libxul.so+0xac8fa1)
[task 2020-03-25T15:40:42.334Z] 15:40:42     INFO - GECKO(1276) |     #5 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:481:10 (libxul.so+0xacda42)
[task 2020-03-25T15:40:42.335Z] 15:40:42     INFO - GECKO(1276) |     #6 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x134ce49)
[task 2020-03-25T15:40:42.335Z] 15:40:42     INFO - GECKO(1276) |     #7 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x134d85b)
[task 2020-03-25T15:40:42.336Z] 15:40:42     INFO - GECKO(1276) |     #8 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.337Z] 15:40:42     INFO - GECKO(1276) |     #9 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.337Z] 15:40:42     INFO - GECKO(1276) |     #10 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.338Z] 15:40:42     INFO - GECKO(1276) |     #11 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x47a9e23)
[task 2020-03-25T15:40:42.339Z] 15:40:42     INFO - GECKO(1276) |     #12 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:909:20 (libxul.so+0x64059e9)
[task 2020-03-25T15:40:42.339Z] 15:40:42     INFO - GECKO(1276) |     #13 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x134d80a)
[task 2020-03-25T15:40:42.339Z] 15:40:42     INFO - GECKO(1276) |     #14 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.340Z] 15:40:42     INFO - GECKO(1276) |     #15 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.341Z] 15:40:42     INFO - GECKO(1276) |     #16 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.341Z] 15:40:42     INFO - GECKO(1276) |     #17 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:740:34 (libxul.so+0x6405766)
[task 2020-03-25T15:40:42.342Z] 15:40:42     INFO - GECKO(1276) |     #18 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x640d792)
[task 2020-03-25T15:40:42.342Z] 15:40:42     INFO - GECKO(1276) |     #19 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xc87f7)
[task 2020-03-25T15:40:42.342Z] 15:40:42     INFO - GECKO(1276) |     #20 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:303:18 (firefox+0xc87f7)
[task 2020-03-25T15:40:42.343Z] 15:40:42     INFO - GECKO(1276) |   Previous read of size 8 at 0x7b580003e950 by thread T3:
[task 2020-03-25T15:40:42.351Z] 15:40:42     INFO - GECKO(1276) |     #0 operator bool /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:310:45 (libxul.so+0x1a7d432)
[task 2020-03-25T15:40:42.351Z] 15:40:42     INFO - GECKO(1276) |     #1 operator() /builds/worker/checkouts/gecko/media/webrtc/signaling/src/peerconnection/MediaTransportHandler.cpp:943:13 (libxul.so+0x1a7d432)
[task 2020-03-25T15:40:42.352Z] 15:40:42     INFO - GECKO(1276) |     #2 mozilla::detail::ProxyFunctionRunnable<mozilla::MediaTransportHandlerSTS::GetIceStats(std::string const&, double)::$_23, mozilla::MozPromise<mozilla::UniquePtr<mozilla::dom::RTCStatsCollection, mozilla::DefaultDelete<mozilla::dom::RTCStatsCollection> >, nsresult, true> >::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/MozPromise.h:1456:29 (libxul.so+0x1a7d432)
[task 2020-03-25T15:40:42.352Z] 15:40:42     INFO - GECKO(1276) |     #3 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1220:14 (libxul.so+0xac8fa1)
[task 2020-03-25T15:40:42.354Z] 15:40:42     INFO - GECKO(1276) |     #4 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:481:10 (libxul.so+0xacda42)
[task 2020-03-25T15:40:42.355Z] 15:40:42     INFO - GECKO(1276) |     #5 mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp:1135:11 (libxul.so+0xc66a53)
[task 2020-03-25T15:40:42.355Z] 15:40:42     INFO - GECKO(1276) |     #6 non-virtual thunk to mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp (libxul.so+0xc67f69)
[task 2020-03-25T15:40:42.356Z] 15:40:42     INFO - GECKO(1276) |     #7 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1220:14 (libxul.so+0xac8fa1)
[task 2020-03-25T15:40:42.356Z] 15:40:42     INFO - GECKO(1276) |     #8 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:481:10 (libxul.so+0xacda42)
[task 2020-03-25T15:40:42.357Z] 15:40:42     INFO - GECKO(1276) |     #9 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:302:20 (libxul.so+0x134d94e)
[task 2020-03-25T15:40:42.357Z] 15:40:42     INFO - GECKO(1276) |     #10 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.359Z] 15:40:42     INFO - GECKO(1276) |     #11 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.359Z] 15:40:42     INFO - GECKO(1276) |     #12 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.360Z] 15:40:42     INFO - GECKO(1276) |     #13 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:464:10 (libxul.so+0xac5675)
[task 2020-03-25T15:40:42.360Z] 15:40:42     INFO - GECKO(1276) |     #14 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x4517f)
[task 2020-03-25T15:40:42.361Z] 15:40:42     INFO - GECKO(1276) |   Location is heap block of size 728 at 0x7b580003e700 allocated by main thread:
[task 2020-03-25T15:40:42.361Z] 15:40:42     INFO - GECKO(1276) |     #0 malloc /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:650:5 (firefox+0x558c4)
[task 2020-03-25T15:40:42.362Z] 15:40:42     INFO - GECKO(1276) |     #1 moz_xmalloc /builds/worker/checkouts/gecko/memory/mozalloc/mozalloc.cpp:52:15 (firefox+0xc9e78)
[task 2020-03-25T15:40:42.363Z] 15:40:42     INFO - GECKO(1276) |     #2 operator new /builds/worker/workspace/obj-build/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x1a1a892)
[task 2020-03-25T15:40:42.364Z] 15:40:42     INFO - GECKO(1276) |     #3 mozilla::MediaTransportHandler::Create(nsISerialEventTarget*) /builds/worker/checkouts/gecko/media/webrtc/signaling/src/peerconnection/MediaTransportHandler.cpp:180:14 (libxul.so+0x1a1a892)
[task 2020-03-25T15:40:42.364Z] 15:40:42     INFO - GECKO(1276) |     #4 mozilla::PeerConnectionImpl::Initialize(mozilla::dom::PeerConnectionObserver&, nsGlobalWindowInner*, mozilla::dom::RTCConfiguration const&, nsISupports*) /builds/worker/checkouts/gecko/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:397:23 (libxul.so+0x1a32f3e)
[task 2020-03-25T15:40:42.366Z] 15:40:42     INFO - GECKO(1276) |     #5 mozilla::PeerConnectionImpl::Initialize(mozilla::dom::PeerConnectionObserver&, nsGlobalWindowInner&, mozilla::dom::RTCConfiguration const&, nsISupports*, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp:526:18 (libxul.so+0x1a341ad)
[task 2020-03-25T15:40:42.367Z] 15:40:42     INFO - GECKO(1276) |     #6 mozilla::dom::PeerConnectionImpl_Binding::initialize(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/PeerConnectionImplBinding.cpp:104:24 (libxul.so+0x2a5bc20)
[task 2020-03-25T15:40:42.368Z] 15:40:42     INFO - GECKO(1276) |     #7 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:3205:13 (libxul.so+0x3470a6b)
[task 2020-03-25T15:40:42.369Z] 15:40:42     INFO - GECKO(1276) |     #8 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:476:13 (libxul.so+0x65333b9)
[task 2020-03-25T15:40:42.369Z] 15:40:42     INFO - GECKO(1276) |     #9 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:568:12 (libxul.so+0x65333b9)
[task 2020-03-25T15:40:42.371Z] 15:40:42     INFO - GECKO(1276) |     #10 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:631:10 (libxul.so+0x6525deb)
[task 2020-03-25T15:40:42.371Z] 15:40:42     INFO - GECKO(1276) |     #11 CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:635:10 (libxul.so+0x6525deb)
[task 2020-03-25T15:40:42.372Z] 15:40:42     INFO - GECKO(1276) |     #12 Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3026:16 (libxul.so+0x6525deb)
[task 2020-03-25T15:40:42.373Z] 15:40:42     INFO - GECKO(1276) |     #13 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:448:10 (libxul.so+0x6515329)
[task 2020-03-25T15:40:42.374Z] 15:40:42     INFO - GECKO(1276) |     #14 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:603:13 (libxul.so+0x6533d66)
[task 2020-03-25T15:40:42.375Z] 15:40:42     INFO - GECKO(1276) |     #15 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:631:10 (libxul.so+0x65347fe)
[task 2020-03-25T15:40:42.377Z] 15:40:42     INFO - GECKO(1276) |     #16 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:648:8 (libxul.so+0x65347fe)
[task 2020-03-25T15:40:42.378Z] 15:40:42     INFO - GECKO(1276) |     #17 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/jsapi.cpp:2798:10 (libxul.so+0x65ec00e)
[task 2020-03-25T15:40:42.379Z] 15:40:42     INFO - GECKO(1276) |     #18 mozilla::dom::RTCPeerConnectionJSImpl::__Init(mozilla::dom::RTCConfiguration const&, mozilla::dom::Optional<JS::Handle<JSObject*> > const&, mozilla::ErrorResult&, JS::Realm*) /builds/worker/workspace/obj-build/dom/bindings/RTCPeerConnectionBinding.cpp:8330:8 (libxul.so+0x2b03698)
[task 2020-03-25T15:40:42.380Z] 15:40:42     INFO - GECKO(1276) |     #19 mozilla::dom::RTCPeerConnection::Constructor(mozilla::dom::GlobalObject const&, JSContext*, mozilla::dom::RTCConfiguration const&, mozilla::dom::Optional<JS::Handle<JSObject*> > const&, mozilla::ErrorResult&, JS::Handle<JSObject*>) /builds/worker/workspace/obj-build/dom/bindings/RTCPeerConnectionBinding.cpp:9738:16 (libxul.so+0x2b0c5f3)
[task 2020-03-25T15:40:42.381Z] 15:40:42     INFO - GECKO(1276) |     #20 mozilla::dom::RTCPeerConnection_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/RTCPeerConnectionBinding.cpp:5830:63 (libxul.so+0x2b41f62)
[task 2020-03-25T15:40:42.382Z] 15:40:42     INFO - GECKO(1276) |     #21 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:476:13 (libxul.so+0x6534f35)
[task 2020-03-25T15:40:42.382Z] 15:40:42     INFO - GECKO(1276) |     #22 CallJSNativeConstructor /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:492:8 (libxul.so+0x6534f35)
[task 2020-03-25T15:40:42.383Z] 15:40:42     INFO - GECKO(1276) |     #23 InternalConstruct(JSContext*, js::AnyConstructArgs const&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:694:10 (libxul.so+0x6534f35)
[task 2020-03-25T15:40:42.384Z] 15:40:42     INFO - GECKO(1276) |     #24 Construct /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:733:8 (libxul.so+0x653dd22)
[task 2020-03-25T15:40:42.386Z] 15:40:42     INFO - GECKO(1276) |     #25 js::SpreadCallOperation(JSContext*, JS::Handle<JSScript*>, unsigned char*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:4986:10 (libxul.so+0x653dd22)
[task 2020-03-25T15:40:42.386Z] 15:40:42     INFO - GECKO(1276) |     #26 Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:2958:12 (libxul.so+0x6525722)
[task 2020-03-25T15:40:42.388Z] 15:40:42     INFO - GECKO(1276) |     #27 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:448:10 (libxul.so+0x6515329)
[task 2020-03-25T15:40:42.388Z] 15:40:42     INFO - GECKO(1276) |     #28 js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:824:13 (libxul.so+0x6535e97)
[task 2020-03-25T15:40:42.397Z] 15:40:42     INFO - GECKO(1276) |     #29 js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:857:10 (libxul.so+0x6536207)
[task 2020-03-25T15:40:42.400Z] 15:40:42     INFO - GECKO(1276) |     #30 ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) /builds/worker/checkouts/gecko/js/src/vm/CompilationAndEvaluation.cpp:453:10 (libxul.so+0x66a4fdb)
[task 2020-03-25T15:40:42.401Z] 15:40:42     INFO - GECKO(1276) |     #31 ExecuteScript(JSContext*, JS::Handle<JS::StackGCVector<JSObject*, js::TempAllocPolicy> >, JS::Handle<JSScript*>, JS::Value*) /builds/worker/checkouts/gecko/js/src/vm/CompilationAndEvaluation.cpp:473:10 (libxul.so+0x66a53db)
[task 2020-03-25T15:40:42.401Z] 15:40:42     INFO - GECKO(1276) |     #32 JS_ExecuteScript(JSContext*, JS::Handle<JS::StackGCVector<JSObject*, js::TempAllocPolicy> >, JS::Handle<JSScript*>) /builds/worker/checkouts/gecko/js/src/vm/CompilationAndEvaluation.cpp:497:10 (libxul.so+0x66a5487)
[task 2020-03-25T15:40:42.402Z] 15:40:42     INFO - GECKO(1276) |     #33 nsJSUtils::ExecutionContext::ExecScript() /builds/worker/checkouts/gecko/dom/base/nsJSUtils.cpp:413:8 (libxul.so+0x266dd6f)
[task 2020-03-25T15:40:42.403Z] 15:40:42     INFO - GECKO(1276) |     #34 mozilla::dom::ExecuteCompiledScript(JSContext*, mozilla::dom::ScriptLoadRequest*, nsJSUtils::ExecutionContext&) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2602:16 (libxul.so+0x45e6a45)
[task 2020-03-25T15:40:42.403Z] 15:40:42     INFO - GECKO(1276) |     #35 mozilla::dom::ScriptLoader::EvaluateScript(mozilla::dom::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2828:20 (libxul.so+0x45e57a9)
[task 2020-03-25T15:40:42.404Z] 15:40:42     INFO - GECKO(1276) |     #36 mozilla::dom::ScriptLoader::ProcessRequest(mozilla::dom::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2331:10 (libxul.so+0x45e29db)
[task 2020-03-25T15:40:42.404Z] 15:40:42     INFO - GECKO(1276) |     #37 mozilla::dom::ScriptLoader::ProcessPendingRequests() /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:3083:5 (libxul.so+0x45dea20)
[task 2020-03-25T15:40:42.405Z] 15:40:42     INFO - GECKO(1276) |     #38 applyImpl<mozilla::dom::ScriptLoader, void (mozilla::dom::ScriptLoader::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1158:12 (libxul.so+0x45efbf6)
[task 2020-03-25T15:40:42.406Z] 15:40:42     INFO - GECKO(1276) |     #39 apply<mozilla::dom::ScriptLoader, void (mozilla::dom::ScriptLoader::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1164:12 (libxul.so+0x45efbf6)
[task 2020-03-25T15:40:42.406Z] 15:40:42     INFO - GECKO(1276) |     #40 mozilla::detail::RunnableMethodImpl<mozilla::dom::ScriptLoader*, void (mozilla::dom::ScriptLoader::*)(), true, (mozilla::RunnableKind)0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1210:13 (libxul.so+0x45efbf6)
[task 2020-03-25T15:40:42.406Z] 15:40:42     INFO - GECKO(1276) |     #41 mozilla::SchedulerGroup::Runnable::Run() /builds/worker/checkouts/gecko/xpcom/threads/SchedulerGroup.cpp:282:20 (libxul.so+0xab089a)
[task 2020-03-25T15:40:42.407Z] 15:40:42     INFO - GECKO(1276) |     #42 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1220:14 (libxul.so+0xac8fa1)
[task 2020-03-25T15:40:42.407Z] 15:40:42     INFO - GECKO(1276) |     #43 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:481:10 (libxul.so+0xacda42)
[task 2020-03-25T15:40:42.408Z] 15:40:42     INFO - GECKO(1276) |     #44 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x134ce49)
[task 2020-03-25T15:40:42.409Z] 15:40:42     INFO - GECKO(1276) |     #45 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x134d85b)
[task 2020-03-25T15:40:42.409Z] 15:40:42     INFO - GECKO(1276) |     #46 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.410Z] 15:40:42     INFO - GECKO(1276) |     #47 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.410Z] 15:40:42     INFO - GECKO(1276) |     #48 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.410Z] 15:40:42     INFO - GECKO(1276) |     #49 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x47a9e23)
[task 2020-03-25T15:40:42.414Z] 15:40:42     INFO - GECKO(1276) |     #50 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:909:20 (libxul.so+0x64059e9)
[task 2020-03-25T15:40:42.415Z] 15:40:42     INFO - GECKO(1276) |     #51 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x134d80a)
[task 2020-03-25T15:40:42.415Z] 15:40:42     INFO - GECKO(1276) |     #52 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.416Z] 15:40:42     INFO - GECKO(1276) |     #53 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.417Z] 15:40:42     INFO - GECKO(1276) |     #54 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12dde1c)
[task 2020-03-25T15:40:42.418Z] 15:40:42     INFO - GECKO(1276) |     #55 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:740:34 (libxul.so+0x6405766)
[task 2020-03-25T15:40:42.419Z] 15:40:42     INFO - GECKO(1276) |     #56 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x640d792)
[task 2020-03-25T15:40:42.419Z] 15:40:42     INFO - GECKO(1276) |     #57 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xc87f7)
[task 2020-03-25T15:40:42.420Z] 15:40:42     INFO - GECKO(1276) |     #58 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:303:18 (firefox+0xc87f7)
[task 2020-03-25T15:40:42.420Z] 15:40:42     INFO - GECKO(1276) |   Thread T3 'Socket Thread' (tid=1394, running) created by main thread at:
[task 2020-03-25T15:40:42.422Z] 15:40:42     INFO - GECKO(1276) |     #0 pthread_create /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:967:3 (firefox+0x571ab)
[task 2020-03-25T15:40:42.422Z] 15:40:42     INFO - GECKO(1276) |     #1 _PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:458:14 (libnspr4.so+0x3c383)
[task 2020-03-25T15:40:42.423Z] 15:40:42     INFO - GECKO(1276) |     #2 PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:533:12 (libnspr4.so+0x308c2)
[task 2020-03-25T15:40:42.423Z] 15:40:42     INFO - GECKO(1276) |     #3 nsThread::Init(nsTSubstring<char> const&) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:670:8 (libxul.so+0xac6b0a)
[task 2020-03-25T15:40:42.427Z] 15:40:42     INFO - GECKO(1276) |     #4 nsThreadManager::NewNamedThread(nsTSubstring<char> const&, unsigned int, nsIThread**) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadManager.cpp:621:12 (libxul.so+0xacd150)
[task 2020-03-25T15:40:42.428Z] 15:40:42     INFO - GECKO(1276) |     #5 NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, nsIRunnable*, unsigned int) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:139:57 (libxul.so+0xacf2b8)
[task 2020-03-25T15:40:42.433Z] 15:40:42     INFO - GECKO(1276) |     #6 NS_NewNamedThread<14> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:65:10 (libxul.so+0xc65486)
[task 2020-03-25T15:40:42.434Z] 15:40:42     INFO - GECKO(1276) |     #7 mozilla::net::nsSocketTransportService::Init() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp:728:7 (libxul.so+0xc65486)
[task 2020-03-25T15:40:42.435Z] 15:40:42     INFO - GECKO(1276) |     #8 mozilla::xpcom::CreateInstanceImpl(mozilla::xpcom::ModuleID, nsISupports*, nsID const&, void**) /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:10604:7 (libxul.so+0xa8f1dd)
[task 2020-03-25T15:40:42.435Z] 15:40:42     INFO - GECKO(1276) |     #9 mozilla::xpcom::StaticModule::CreateInstance(nsISupports*, nsID const&, void**) const /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:11227:10 (libxul.so+0xa8aed0)
[task 2020-03-25T15:40:42.436Z] 15:40:42     INFO - GECKO(1276) |     #10 CreateInstance /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:219:46 (libxul.so+0xaa2a8d)
[task 2020-03-25T15:40:42.436Z] 15:40:42     INFO - GECKO(1276) |     #11 nsComponentManagerImpl::GetServiceLocked((anonymous namespace)::MutexLock&, (anonymous namespace)::EntryWrapper&, nsID const&, void**) /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:1372:17 (libxul.so+0xaa2a8d)
[task 2020-03-25T15:40:42.436Z] 15:40:42     INFO - GECKO(1276) |     #12 nsComponentManagerImpl::GetServiceByContractID(char const*, nsID const&, void**) /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:1559:10 (libxul.so+0xa9db05)
[task 2020-03-25T15:40:42.436Z] 15:40:42     INFO - GECKO(1276) |     #13 CallGetService /builds/worker/checkouts/gecko/xpcom/components/nsComponentManagerUtils.cpp:61:43 (libxul.so+0xaa5ffa)
[task 2020-03-25T15:40:42.437Z] 15:40:42     INFO - GECKO(1276) |     #14 nsGetServiceByContractIDWithError::operator()(nsID const&, void**) const /builds/worker/checkouts/gecko/xpcom/components/nsComponentManagerUtils.cpp:253:21 (libxul.so+0xaa5ffa)
[task 2020-03-25T15:40:42.437Z] 15:40:42     INFO - GECKO(1276) |     #15 nsCOMPtr_base::assign_from_gs_contractid_with_error(nsGetServiceByContractIDWithError const&, nsID const&) /builds/worker/checkouts/gecko/xpcom/base/nsCOMPtr.cpp:91:7 (libxul.so+0x9ec787)
[task 2020-03-25T15:40:42.437Z] 15:40:42     INFO - GECKO(1276) |     #16 operator= /builds/worker/workspace/obj-build/dist/include/nsCOMPtr.h:763:5 (libxul.so+0xc0bda9)
[task 2020-03-25T15:40:42.438Z] 15:40:42     INFO - GECKO(1276) |     #17 InitializeSocketTransportService /builds/worker/checkouts/gecko/netwerk/base/nsIOService.cpp:357:29 (libxul.so+0xc0bda9)
[task 2020-03-25T15:40:42.438Z] 15:40:42     INFO - GECKO(1276) |     #18 mozilla::net::nsIOService::SetOffline(bool) /builds/worker/checkouts/gecko/netwerk/base/nsIOService.cpp:1230:7 (libxul.so+0xc0bda9)
[task 2020-03-25T15:40:42.438Z] 15:40:42     INFO - GECKO(1276) |     #19 mozilla::net::nsIOService::Init() /builds/worker/checkouts/gecko/netwerk/base/nsIOService.cpp:300:3 (libxul.so+0xc0b4f0)
[task 2020-03-25T15:40:42.438Z] 15:40:42     INFO - GECKO(1276) |     #20 mozilla::net::nsIOService::GetInstance() /builds/worker/checkouts/gecko/netwerk/base/nsIOService.cpp:413:9 (libxul.so+0xc0ca29)
[task 2020-03-25T15:40:42.440Z] 15:40:42     INFO - GECKO(1276) |     #21 mozilla::xpcom::CreateInstanceImpl(mozilla::xpcom::ModuleID, nsISupports*, nsID const&, void**) /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:8292:48 (libxul.so+0xa8fdcc)
[task 2020-03-25T15:40:42.441Z] 15:40:42     INFO - GECKO(1276) |     #22 mozilla::xpcom::StaticModule::CreateInstance(nsISupports*, nsID const&, void**) const /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:11227:10 (libxul.so+0xa8aed0)
[task 2020-03-25T15:40:42.441Z] 15:40:42     INFO - GECKO(1276) |     #23 CreateInstance /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:219:46 (libxul.so+0xaa2a8d)
[task 2020-03-25T15:40:42.442Z] 15:40:42     INFO - GECKO(1276) |     #24 nsComponentManagerImpl::GetServiceLocked((anonymous namespace)::MutexLock&, (anonymous namespace)::EntryWrapper&, nsID const&, void**) /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:1372:17 (libxul.so+0xaa2a8d)
[task 2020-03-25T15:40:42.443Z] 15:40:42     INFO - GECKO(1276) |     #25 nsComponentManagerImpl::GetServiceByContractID(char const*, nsID const&, void**) /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:1559:10 (libxul.so+0xa9db05)
[task 2020-03-25T15:40:42.444Z] 15:40:42     INFO - GECKO(1276) |     #26 CallGetService(char const*, nsID const&, void**) /builds/worker/checkouts/gecko/xpcom/components/nsComponentManagerUtils.cpp:61:43 (libxul.so+0xaa5b0d)
[task 2020-03-25T15:40:42.445Z] 15:40:42     INFO - GECKO(1276) |     #27 CallGetService<nsIIOService> /builds/worker/workspace/obj-build/dist/include/nsServiceManagerUtils.h:72:10 (libxul.so+0x1bdd106)
[task 2020-03-25T15:40:42.446Z] 15:40:42     INFO - GECKO(1276) |     #28 Init /builds/worker/checkouts/gecko/caps/nsScriptSecurityManager.cpp:1358:17 (libxul.so+0x1bdd106)
[task 2020-03-25T15:40:42.447Z] 15:40:42     INFO - GECKO(1276) |     #29 nsScriptSecurityManager::InitStatics() /builds/worker/checkouts/gecko/caps/nsScriptSecurityManager.cpp:1419:28 (libxul.so+0x1bdd106)
[task 2020-03-25T15:40:42.447Z] 15:40:42     INFO - GECKO(1276) |     #30 nsXPConnect::InitStatics() /builds/worker/checkouts/gecko/js/xpconnect/src/nsXPConnect.cpp:153:3 (libxul.so+0x191d390)
[task 2020-03-25T15:40:42.448Z] 15:40:42     INFO - GECKO(1276) |     #31 xpcModuleCtor() /builds/worker/checkouts/gecko/js/xpconnect/src/XPCModule.cpp:11:3 (libxul.so+0x18f2acf)
[task 2020-03-25T15:40:42.448Z] 15:40:42     INFO - GECKO(1276) |     #32 nsLayoutModuleInitialize() /builds/worker/checkouts/gecko/layout/build/nsLayoutModule.cpp:108:7 (libxul.so+0x4f41e57)
[task 2020-03-25T15:40:42.451Z] 15:40:42     INFO - GECKO(1276) |     #33 nsComponentManagerImpl::Init() /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:482:5 (libxul.so+0xa9e571)
[task 2020-03-25T15:40:42.451Z] 15:40:42     INFO - GECKO(1276) |     #34 NS_InitXPCOM /builds/worker/checkouts/gecko/xpcom/build/XPCOMInit.cpp:447:51 (libxul.so+0xafc29b)
[task 2020-03-25T15:40:42.452Z] 15:40:42     INFO - GECKO(1276) |     #35 XRE_InitEmbedding2(nsIFile*, nsIFile*, nsIDirectoryServiceProvider*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:196:8 (libxul.so+0x6404f24)
[task 2020-03-25T15:40:42.453Z] 15:40:42     INFO - GECKO(1276) |     #36 mozilla::ipc::ScopedXREEmbed::Start() /builds/worker/checkouts/gecko/ipc/glue/ScopedXREEmbed.cpp (libxul.so+0x135bd93)
[task 2020-03-25T15:40:42.454Z] 15:40:42     INFO - GECKO(1276) |     #37 mozilla::dom::ContentProcess::Init(int, char**) /builds/worker/checkouts/gecko/dom/ipc/ContentProcess.cpp:181:13 (libxul.so+0x43979db)
[task 2020-03-25T15:40:42.455Z] 15:40:42     INFO - GECKO(1276) |     #38 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:706:21 (libxul.so+0x640573f)
[task 2020-03-25T15:40:42.455Z] 15:40:42     INFO - GECKO(1276) |     #39 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x640d792)
[task 2020-03-25T15:40:42.456Z] 15:40:42     INFO - GECKO(1276) |     #40 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xc87f7)
[task 2020-03-25T15:40:42.458Z] 15:40:42     INFO - GECKO(1276) |     #41 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:303:18 (firefox+0xc87f7)
[task 2020-03-25T15:40:42.459Z] 15:40:42     INFO - GECKO(1276) | SUMMARY: ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:67:13 in assign_assuming_AddRef
[task 2020-03-25T15:40:42.459Z] 15:40:42     INFO - GECKO(1276) | ==================
[task 2020-03-25T15:40:42.938Z] 15:40:42    ERROR - GECKO(1276) | A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down
[task 2020-03-25T15:40:53.422Z] 15:40:53     INFO - GECKO(1276) | 1585150853413	Marionette	TRACE	Received observer notification xpcom-will-shutdown
[task 2020-03-25T15:40:53.422Z] 15:40:53     INFO - GECKO(1276) | 1585150853414	Marionette	INFO	Stopped listening on port 2828
[task 2020-03-25T15:40:53.422Z] 15:40:53     INFO - GECKO(1276) | 1585150853415	Marionette	DEBUG	Marionette stopped listening
[task 2020-03-25T15:40:54.746Z] 15:40:54     INFO - TEST-INFO | Main app process: exit 0
[task 2020-03-25T15:40:54.747Z] 15:40:54     INFO - runtests.py | Application ran for: 0:01:38.724894
[task 2020-03-25T15:40:54.747Z] 15:40:54     INFO - zombiecheck | Reading PID log: /tmp/tmpEGT4B0pidlog
Component: MFBT → WebRTC: Networking

The race looks to involve some WebRTC transport data structures.

Blocks: tsan

Ahhh, I think I see what is going on here. We need to chain off of mInitPromise for GetIceStats.

Assignee: nobody → docfaraday
Priority: P5 → P2

This race involves a RefPtr on multiple threads, including a racing assign_assuming_AddRef. Marking s-s until this has been investigated by a WebRTC developer, as this kind of pattern can cause use-after-frees under certain conditions.

Group: core-security

I don't think we're going to end up with a UAF here, but we could end up with a wildpointer depending on whether the compiler uses that memory for scratch space (a la https://software.intel.com/en-us/blogs/2013/01/06/benign-data-races-what-could-possibly-go-wrong).

I've opened bug 1624956 and attached this patch there, since it looks pretty innocuous.

Group: core-security → media-core-security
Depends on: 1624956
Group: media-core-security → core-security-release
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76

Per bug 1624956, this doesn't affect ESR68 after all.

Whiteboard: [adv-main75+r]
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.