Closed Bug 1628780 Opened 4 years ago Closed 4 years ago

Intermittent GECKO(3184) | SUMMARY: ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:286:27 in get

Categories

(Core :: DOM: Navigation, defect, P5)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1628120

People

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

References

(Blocks 1 open bug, Regression)

Details

(4 keywords)

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


[task 2020-04-09T10:40:24.230Z] 10:40:24 INFO - TEST-START | dom/websocket/tests/test_event_listener_leaks.html
[task 2020-04-09T10:40:25.360Z] 10:40:25 INFO - GECKO(3184) | ==================
[task 2020-04-09T10:40:25.363Z] 10:40:25 INFO - GECKO(3184) | WARNING: ThreadSanitizer: data race (pid=3294)
[task 2020-04-09T10:40:25.363Z] 10:40:25 INFO - GECKO(3184) | Read of size 8 at 0x7b0c00073d50 by thread T11:
[task 2020-04-09T10:40:25.363Z] 10:40:25 INFO - GECKO(3184) | #0 get /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:286:27 (libxul.so+0x251aebd)
[task 2020-04-09T10:40:25.363Z] 10:40:25 INFO - GECKO(3184) | #1 operator mozilla::dom::DocGroup * /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:299:12 (libxul.so+0x251aebd)
[task 2020-04-09T10:40:25.364Z] 10:40:25 INFO - GECKO(3184) | #2 (anonymous namespace)::LabellingEventTarget::Dispatch(already_AddRefed<nsIRunnable>, unsigned int) /builds/worker/checkouts/gecko/dom/base/DocGroup.cpp:74:59 (libxul.so+0x251aebd)
[task 2020-04-09T10:40:25.364Z] 10:40:25 INFO - GECKO(3184) | #3 Dispatch /builds/worker/workspace/obj-build/dist/include/nsIEventTarget.h:38:14 (libxul.so+0xacbdad)
[task 2020-04-09T10:40:25.364Z] 10:40:25 INFO - GECKO(3184) | #4 TimerThread::PostTimerEvent(already_AddRefed<nsTimerImpl>) /builds/worker/checkouts/gecko/xpcom/threads/TimerThread.cpp:730:18 (libxul.so+0xacbdad)
[task 2020-04-09T10:40:25.365Z] 10:40:25 INFO - GECKO(3184) | #5 TimerThread::Run() /builds/worker/checkouts/gecko/xpcom/threads/TimerThread.cpp:414:22 (libxul.so+0xacb2f6)
[task 2020-04-09T10:40:25.365Z] 10:40:25 INFO - GECKO(3184) | #6 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1200:14 (libxul.so+0xad3b1f)
[task 2020-04-09T10:40:25.365Z] 10:40:25 INFO - GECKO(3184) | #7 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:481:10 (libxul.so+0xad8472)
[task 2020-04-09T10:40:25.366Z] 10:40:25 INFO - GECKO(3184) | #8 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:302:20 (libxul.so+0x135e46e)
[task 2020-04-09T10:40:25.368Z] 10:40:25 INFO - GECKO(3184) | #9 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.369Z] 10:40:25 INFO - GECKO(3184) | #10 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.370Z] 10:40:25 INFO - GECKO(3184) | #11 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.370Z] 10:40:25 INFO - GECKO(3184) | #12 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:444:10 (libxul.so+0xad01d5)
[task 2020-04-09T10:40:25.371Z] 10:40:25 INFO - GECKO(3184) | #13 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x4517f)
[task 2020-04-09T10:40:25.372Z] 10:40:25 INFO - GECKO(3184) | Previous write of size 8 at 0x7b0c00073d50 by main thread:
[task 2020-04-09T10:40:25.373Z] 10:40:25 INFO - GECKO(3184) | #0 assign_assuming_AddRef /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:67:13 (libxul.so+0x2491895)
[task 2020-04-09T10:40:25.373Z] 10:40:25 INFO - GECKO(3184) | #1 operator= /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:168:5 (libxul.so+0x2491895)
[task 2020-04-09T10:40:25.374Z] 10:40:25 INFO - GECKO(3184) | #2 ClearDocGroup /builds/worker/checkouts/gecko/dom/base/DocGroup.cpp:50:36 (libxul.so+0x2491895)
[task 2020-04-09T10:40:25.374Z] 10:40:25 INFO - GECKO(3184) | #3 mozilla::dom::DocGroup::RemoveDocument(mozilla::dom::Document*) /builds/worker/checkouts/gecko/dom/base/DocGroup.cpp:146:13 (libxul.so+0x2491895)
[task 2020-04-09T10:40:25.375Z] 10:40:25 INFO - GECKO(3184) | #4 mozilla::dom::BrowsingContextGroup::RemoveDocument(nsTSubstring<char> const&, mozilla::dom::Document*) /builds/worker/checkouts/gecko/docshell/base/BrowsingContextGroup.cpp:256:13 (libxul.so+0x5e05adf)
[task 2020-04-09T10:40:25.381Z] 10:40:25 INFO - GECKO(3184) | #5 mozilla::dom::Document::~Document() /builds/worker/checkouts/gecko/dom/base/Document.cpp:2024:43 (libxul.so+0x249c76d)
[task 2020-04-09T10:40:25.382Z] 10:40:25 INFO - GECKO(3184) | #6 ~nsHTMLDocument /builds/worker/checkouts/gecko/dom/html/nsHTMLDocument.cpp:136:33 (libxul.so+0x3a3cfa5)
[task 2020-04-09T10:40:25.382Z] 10:40:25 INFO - GECKO(3184) | #7 nsHTMLDocument::~nsHTMLDocument() /builds/worker/checkouts/gecko/dom/html/nsHTMLDocument.cpp:136:33 (libxul.so+0x3a3cfa5)
[task 2020-04-09T10:40:25.383Z] 10:40:25 INFO - GECKO(3184) | #8 mozilla::dom::Document::DeleteCycleCollectable() /builds/worker/checkouts/gecko/dom/base/Document.cpp:2074:38 (libxul.so+0x249fca6)
[task 2020-04-09T10:40:25.383Z] 10:40:25 INFO - GECKO(3184) | #9 mozilla::dom::Document::cycleCollection::DeleteCycleCollectable(void*) /builds/worker/checkouts/gecko/dom/base/Document.h:510:3 (libxul.so+0x2517611)
[task 2020-04-09T10:40:25.384Z] 10:40:25 INFO - GECKO(3184) | #10 SnowWhiteKiller::MaybeKillObject(SnowWhiteKiller::SnowWhiteObject&) /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:2430:29 (libxul.so+0xa0c566)
[task 2020-04-09T10:40:25.385Z] 10:40:25 INFO - GECKO(3184) | #11 SnowWhiteKiller::~SnowWhiteKiller() /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:2417:7 (libxul.so+0xa013db)
[task 2020-04-09T10:40:25.385Z] 10:40:25 INFO - GECKO(3184) | #12 FreeSnowWhite /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:2605:3 (libxul.so+0xa04bd4)
[task 2020-04-09T10:40:25.387Z] 10:40:25 INFO - GECKO(3184) | #13 nsCycleCollector::BeginCollection(ccType, nsICycleCollectorListener*) /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3573:3 (libxul.so+0xa04bd4)
[task 2020-04-09T10:40:25.387Z] 10:40:25 INFO - GECKO(3184) | #14 nsCycleCollector::Collect(ccType, js::SliceBudget&, nsICycleCollectorListener*, bool) /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3402:9 (libxul.so+0xa046f4)
[task 2020-04-09T10:40:25.387Z] 10:40:25 INFO - GECKO(3184) | #15 nsCycleCollector_collect(nsICycleCollectorListener*) /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3900:21 (libxul.so+0xa069eb)
[task 2020-04-09T10:40:25.388Z] 10:40:25 INFO - GECKO(3184) | #16 nsJSContext::CycleCollectNow(nsICycleCollectorListener*) /builds/worker/checkouts/gecko/dom/base/nsJSEnvironment.cpp:1538:3 (libxul.so+0x262d37f)
[task 2020-04-09T10:40:25.388Z] 10:40:25 INFO - GECKO(3184) | #17 nsXPCComponents_Utils::ForceCC(nsICycleCollectorListener*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCComponents.cpp:1624:3 (libxul.so+0x18d43d5)
[task 2020-04-09T10:40:25.388Z] 10:40:25 INFO - GECKO(3184) | #18 NS_InvokeByIndex /builds/worker/checkouts/gecko/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106 (libxul.so+0xaf1165)
[task 2020-04-09T10:40:25.388Z] 10:40:25 INFO - GECKO(3184) | #19 XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:947:10 (libxul.so+0x19138d1)
[task 2020-04-09T10:40:25.389Z] 10:40:25 INFO - GECKO(3184) | #20 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:489:13 (libxul.so+0x646c099)
[task 2020-04-09T10:40:25.389Z] 10:40:25 INFO - GECKO(3184) | #21 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:581:12 (libxul.so+0x646c099)
[task 2020-04-09T10:40:25.389Z] 10:40:25 INFO - GECKO(3184) | #22 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:644:10 (libxul.so+0x646137b)
[task 2020-04-09T10:40:25.389Z] 10:40:25 INFO - GECKO(3184) | #23 CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:648:10 (libxul.so+0x646137b)
[task 2020-04-09T10:40:25.389Z] 10:40:25 INFO - GECKO(3184) | #24 Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3038:16 (libxul.so+0x646137b)
[task 2020-04-09T10:40:25.390Z] 10:40:25 INFO - GECKO(3184) | #25 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:461:10 (libxul.so+0x6453d39)
[task 2020-04-09T10:40:25.391Z] 10:40:25 INFO - GECKO(3184) | #26 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:616:13 (libxul.so+0x646ca46)
[task 2020-04-09T10:40:25.392Z] 10:40:25 INFO - GECKO(3184) | #27 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:644:10 (libxul.so+0x646d4de)
[task 2020-04-09T10:40:25.392Z] 10:40:25 INFO - GECKO(3184) | #28 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:661:8 (libxul.so+0x646d4de)
[task 2020-04-09T10:40:25.394Z] 10:40:25 INFO - GECKO(3184) | #29 JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/jsapi.cpp:2735:10 (libxul.so+0x6523a6d)
[task 2020-04-09T10:40:25.395Z] 10:40:25 INFO - GECKO(3184) | #30 nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCWrappedJSClass.cpp:964:17 (libxul.so+0x190ab9a)
[task 2020-04-09T10:40:25.396Z] 10:40:25 INFO - GECKO(3184) | #31 PrepareAndDispatch /builds/worker/checkouts/gecko/xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:125:37 (libxul.so+0xaf21b4)
[task 2020-04-09T10:40:25.397Z] 10:40:25 INFO - GECKO(3184) | #32 SharedStub <null> (libxul.so+0xaf1462)
[task 2020-04-09T10:40:25.397Z] 10:40:25 INFO - GECKO(3184) | #33 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1200:14 (libxul.so+0xad3b1f)
[task 2020-04-09T10:40:25.398Z] 10:40:25 INFO - GECKO(3184) | #34 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:481:10 (libxul.so+0xad8472)
[task 2020-04-09T10:40:25.400Z] 10:40:25 INFO - GECKO(3184) | #35 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x135d969)
[task 2020-04-09T10:40:25.401Z] 10:40:25 INFO - GECKO(3184) | #36 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x135e37b)
[task 2020-04-09T10:40:25.402Z] 10:40:25 INFO - GECKO(3184) | #37 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.403Z] 10:40:25 INFO - GECKO(3184) | #38 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.404Z] 10:40:25 INFO - GECKO(3184) | #39 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.405Z] 10:40:25 INFO - GECKO(3184) | #40 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4767083)
[task 2020-04-09T10:40:25.406Z] 10:40:25 INFO - GECKO(3184) | #41 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:909:20 (libxul.so+0x63452e9)
[task 2020-04-09T10:40:25.407Z] 10:40:25 INFO - GECKO(3184) | #42 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x135e32a)
[task 2020-04-09T10:40:25.409Z] 10:40:25 INFO - GECKO(3184) | #43 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.410Z] 10:40:25 INFO - GECKO(3184) | #44 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.411Z] 10:40:25 INFO - GECKO(3184) | #45 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.412Z] 10:40:25 INFO - GECKO(3184) | #46 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:740:34 (libxul.so+0x6345059)
[task 2020-04-09T10:40:25.413Z] 10:40:25 INFO - GECKO(3184) | #47 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x634d112)
[task 2020-04-09T10:40:25.414Z] 10:40:25 INFO - GECKO(3184) | #48 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xc9067)
[task 2020-04-09T10:40:25.416Z] 10:40:25 INFO - GECKO(3184) | #49 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:303:18 (firefox+0xc9067)
[task 2020-04-09T10:40:25.417Z] 10:40:25 INFO - GECKO(3184) | Location is heap block of size 40 at 0x7b0c00073d40 allocated by main thread:
[task 2020-04-09T10:40:25.418Z] 10:40:25 INFO - GECKO(3184) | #0 malloc /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:650:5 (firefox+0x55ba4)
[task 2020-04-09T10:40:25.418Z] 10:40:25 INFO - GECKO(3184) | #1 moz_xmalloc /builds/worker/checkouts/gecko/memory/mozalloc/mozalloc.cpp:52:15 (firefox+0xca6d8)
[task 2020-04-09T10:40:25.419Z] 10:40:25 INFO - GECKO(3184) | #2 operator new /builds/worker/workspace/obj-build/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x2491478)
[task 2020-04-09T10:40:25.424Z] 10:40:25 INFO - GECKO(3184) | #3 mozilla::dom::DocGroup::Create(mozilla::dom::BrowsingContextGroup*, nsTSubstring<char> const&) /builds/worker/checkouts/gecko/dom/base/DocGroup.cpp:105:28 (libxul.so+0x2491478)
[task 2020-04-09T10:40:25.425Z] 10:40:25 INFO - GECKO(3184) | #4 mozilla::dom::BrowsingContextGroup::AddDocument(nsTSubstring<char> const&, mozilla::dom::Document*) /builds/worker/checkouts/gecko/docshell/base/BrowsingContextGroup.cpp:242:16 (libxul.so+0x5e059bf)
[task 2020-04-09T10:40:25.426Z] 10:40:25 INFO - GECKO(3184) | #5 mozilla::dom::Document::SetScopeObject(nsIGlobalObject*) /builds/worker/checkouts/gecko/dom/base/Document.cpp:6839:41 (libxul.so+0x24bdc99)
[task 2020-04-09T10:40:25.426Z] 10:40:25 INFO - GECKO(3184) | #6 mozilla::dom::Document::SetScriptGlobalObject(nsIScriptGlobalObject*) /builds/worker/checkouts/gecko/dom/base/Document.cpp:7012:5 (libxul.so+0x24bed64)
[task 2020-04-09T10:40:25.427Z] 10:40:25 INFO - GECKO(3184) | #7 nsGlobalWindowOuter::SetNewDocument(mozilla::dom::Document*, nsISupports*, bool, mozilla::dom::WindowGlobalChild*) /builds/worker/checkouts/gecko/dom/base/nsGlobalWindowOuter.cpp:2370:14 (libxul.so+0x23d5b2f)
[task 2020-04-09T10:40:25.427Z] 10:40:25 INFO - GECKO(3184) | #8 non-virtual thunk to nsGlobalWindowOuter::SetNewDocument(mozilla::dom::Document*, nsISupports*, bool, mozilla::dom::WindowGlobalChild*) /builds/worker/checkouts/gecko/dom/base/nsGlobalWindowOuter.cpp (libxul.so+0x23d7318)
[task 2020-04-09T10:40:25.428Z] 10:40:25 INFO - GECKO(3184) | #9 nsDocumentViewer::InitInternal(nsIWidget*, nsISupports*, mozilla::dom::WindowGlobalChild*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, bool, bool, bool) /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp:970:22 (libxul.so+0x4a79765)
[task 2020-04-09T10:40:25.428Z] 10:40:25 INFO - GECKO(3184) | #10 nsDocumentViewer::Init(nsIWidget*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, mozilla::dom::WindowGlobalChild*) /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp:759:10 (libxul.so+0x4a7927d)
[task 2020-04-09T10:40:25.428Z] 10:40:25 INFO - GECKO(3184) | #11 nsDocShell::SetupNewViewer(nsIContentViewer*, mozilla::dom::WindowGlobalChild*) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:7960:7 (libxul.so+0x5e3194f)
[task 2020-04-09T10:40:25.429Z] 10:40:25 INFO - GECKO(3184) | #12 nsDocShell::Embed(nsIContentViewer*, mozilla::dom::WindowGlobalChild*) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:5627:17 (libxul.so+0x5e310b3)
[task 2020-04-09T10:40:25.430Z] 10:40:25 INFO - GECKO(3184) | #13 nsDocShell::CreateContentViewer(nsTSubstring<char> const&, nsIRequest*, nsIStreamListener**) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:7762:3 (libxul.so+0x5e11e67)
[task 2020-04-09T10:40:25.431Z] 10:40:25 INFO - GECKO(3184) | #14 nsDSURIContentListener::DoContent(nsTSubstring<char> const&, bool, nsIRequest*, nsIStreamListener**, bool*) /builds/worker/checkouts/gecko/docshell/base/nsDSURIContentListener.cpp:181:20 (libxul.so+0x5e10810)
[task 2020-04-09T10:40:25.431Z] 10:40:25 INFO - GECKO(3184) | #15 nsDocumentOpenInfo::TryContentListener(nsIURIContentListener*, nsIChannel*) /builds/worker/checkouts/gecko/uriloader/base/nsURILoader.cpp:631:18 (libxul.so+0x1b825f5)
[task 2020-04-09T10:40:25.431Z] 10:40:25 INFO - GECKO(3184) | #16 nsDocumentOpenInfo::TryDefaultContentListener(nsIChannel*) /builds/worker/checkouts/gecko/uriloader/base/nsURILoader.cpp:660:12 (libxul.so+0x1b831a0)
[task 2020-04-09T10:40:25.432Z] 10:40:25 INFO - GECKO(3184) | #17 nsDocumentOpenInfo::DispatchContent(nsIRequest*, nsISupports*) /builds/worker/checkouts/gecko/uriloader/base/nsURILoader.cpp:312:9 (libxul.so+0x1b812d6)
[task 2020-04-09T10:40:25.432Z] 10:40:25 INFO - GECKO(3184) | #18 nsDocumentOpenInfo::OnStartRequest(nsIRequest*) /builds/worker/checkouts/gecko/uriloader/base/nsURILoader.cpp:190:8 (libxul.so+0x1b807f3)
[task 2020-04-09T10:40:25.433Z] 10:40:25 INFO - GECKO(3184) | #19 mozilla::net::HttpChannelChild::DoOnStartRequest(nsIRequest*, nsISupports*) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:719:20 (libxul.so+0x106e6be)
[task 2020-04-09T10:40:25.433Z] 10:40:25 INFO - GECKO(3184) | #20 mozilla::net::HttpChannelChild::OnStartRequest(nsresult const&, mozilla::net::nsHttpResponseHead const&, bool const&, mozilla::net::nsHttpHeaderArray const&, mozilla::net::ParentLoadInfoForwarderArgs const&, bool const&, bool const&, bool const&, unsigned long const&, int const&, unsigned int const&, nsTString<char> const&, nsTString<char> const&, mozilla::net::NetAddr const&, mozilla::net::NetAddr const&, unsigned int const&, nsTString<char> const&, long const&, bool const&, bool const&, bool const&, mozilla::net::ResourceTimingStructArgs const&, bool const&, mozilla::Maybe<unsigned int> const&, bool const&, nsILoadInfo::CrossOriginOpenerPolicy const&) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:565:3 (libxul.so+0x1074ec7)
[task 2020-04-09T10:40:25.434Z] 10:40:25 INFO - GECKO(3184) | #21 operator() /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:419:15 (libxul.so+0x10aadf2)
[task 2020-04-09T10:40:25.437Z] 10:40:25 INFO - GECKO(3184) | #22 std::_Function_handler<void (), mozilla::net::HttpChannelChild::RecvOnStartRequest(nsresult const&, mozilla::net::nsHttpResponseHead const&, bool const&, mozilla::net::nsHttpHeaderArray const&, mozilla::net::ParentLoadInfoForwarderArgs const&, bool const&, bool const&, bool const&, unsigned long const&, int const&, unsigned int const&, nsTString<char> const&, nsTString<char> const&, mozilla::net::NetAddr const&, mozilla::net::NetAddr const&, short const&, unsigned int const&, nsTString<char> const&, long const&, bool const&, bool const&, bool const&, mozilla::net::ResourceTimingStructArgs const&, bool const&, mozilla::Maybe<unsigned int> const&, bool const&, nsILoadInfo::CrossOriginOpenerPolicy const&)::$_6>::_M_invoke(std::_Any_data const&) /builds/worker/fetches/clang/bin/../lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:316:2 (libxul.so+0x10aadf2)
[task 2020-04-09T10:40:25.437Z] 10:40:25 INFO - GECKO(3184) | #23 operator() /builds/worker/fetches/clang/bin/../lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706:14 (libxul.so+0xfe8203)
[task 2020-04-09T10:40:25.438Z] 10:40:25 INFO - GECKO(3184) | #24 mozilla::net::ChannelFunctionEvent::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/net/ChannelEventQueue.h:79:25 (libxul.so+0xfe8203)
[task 2020-04-09T10:40:25.439Z] 10:40:25 INFO - GECKO(3184) | #25 mozilla::net::ChannelEventQueue::RunOrEnqueue(mozilla::net::ChannelEvent*, bool) /builds/worker/workspace/obj-build/dist/include/mozilla/net/ChannelEventQueue.h:260:10 (libxul.so+0xfd12d7)
[task 2020-04-09T10:40:25.440Z] 10:40:25 INFO - GECKO(3184) | #26 mozilla::net::HttpChannelChild::RecvOnStartRequest(nsresult const&, mozilla::net::nsHttpResponseHead const&, bool const&, mozilla::net::nsHttpHeaderArray const&, mozilla::net::ParentLoadInfoForwarderArgs const&, bool const&, bool const&, bool const&, unsigned long const&, int const&, unsigned int const&, nsTString<char> const&, nsTString<char> const&, mozilla::net::NetAddr const&, mozilla::net::NetAddr const&, short const&, unsigned int const&, nsTString<char> const&, long const&, bool const&, bool const&, bool const&, mozilla::net::ResourceTimingStructArgs const&, bool const&, mozilla::Maybe<unsigned int> const&, bool const&, nsILoadInfo::CrossOriginOpenerPolicy const&) /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpChannelChild.cpp:409:12 (libxul.so+0x10741e3)
[task 2020-04-09T10:40:25.440Z] 10:40:25 INFO - GECKO(3184) | #27 mozilla::net::PHttpChannelChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PHttpChannelChild.cpp:862:28 (libxul.so+0x1542c3d)
[task 2020-04-09T10:40:25.441Z] 10:40:25 INFO - GECKO(3184) | #28 mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PContentChild.cpp:8409:32 (libxul.so+0x145caaa)
[task 2020-04-09T10:40:25.442Z] 10:40:25 INFO - GECKO(3184) | #29 mozilla::dom::ContentChild::OnMessageReceived(IPC::Message const&) /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp:3612:25 (libxul.so+0x42deb80)
[task 2020-04-09T10:40:25.443Z] 10:40:25 INFO - GECKO(3184) | #30 mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2187:25 (libxul.so+0x1359fc6)
[task 2020-04-09T10:40:25.443Z] 10:40:25 INFO - GECKO(3184) | #31 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2111:9 (libxul.so+0x135836d)
[task 2020-04-09T10:40:25.444Z] 10:40:25 INFO - GECKO(3184) | #32 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1959:3 (libxul.so+0x1358ee1)
[task 2020-04-09T10:40:25.444Z] 10:40:25 INFO - GECKO(3184) | #33 mozilla::ipc::MessageChannel::MessageTask::Run() /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1990:13 (libxul.so+0x1359419)
[task 2020-04-09T10:40:25.445Z] 10:40:25 INFO - GECKO(3184) | #34 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1200:14 (libxul.so+0xad3b1f)
[task 2020-04-09T10:40:25.445Z] 10:40:25 INFO - GECKO(3184) | #35 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:481:10 (libxul.so+0xad8472)
[task 2020-04-09T10:40:25.446Z] 10:40:25 INFO - GECKO(3184) | #36 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:109:5 (libxul.so+0x135da1e)
[task 2020-04-09T10:40:25.447Z] 10:40:25 INFO - GECKO(3184) | #37 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x135e37b)
[task 2020-04-09T10:40:25.447Z] 10:40:25 INFO - GECKO(3184) | #38 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.448Z] 10:40:25 INFO - GECKO(3184) | #39 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.449Z] 10:40:25 INFO - GECKO(3184) | #40 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.450Z] 10:40:25 INFO - GECKO(3184) | #41 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4767083)
[task 2020-04-09T10:40:25.451Z] 10:40:25 INFO - GECKO(3184) | #42 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:909:20 (libxul.so+0x63452e9)
[task 2020-04-09T10:40:25.451Z] 10:40:25 INFO - GECKO(3184) | #43 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x135e32a)
[task 2020-04-09T10:40:25.452Z] 10:40:25 INFO - GECKO(3184) | #44 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.452Z] 10:40:25 INFO - GECKO(3184) | #45 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.453Z] 10:40:25 INFO - GECKO(3184) | #46 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x12ee2dc)
[task 2020-04-09T10:40:25.454Z] 10:40:25 INFO - GECKO(3184) | #47 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:740:34 (libxul.so+0x6345059)
[task 2020-04-09T10:40:25.454Z] 10:40:25 INFO - GECKO(3184) | #48 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x634d112)
[task 2020-04-09T10:40:25.455Z] 10:40:25 INFO - GECKO(3184) | #49 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xc9067)
[task 2020-04-09T10:40:25.455Z] 10:40:25 INFO - GECKO(3184) | #50 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:303:18 (firefox+0xc9067)

Possibly a regression from bug 1620594? Or maybe there was renaming that broke some whitelisting?

Looks like a runnable on the timer thread is reading the doc group field and racing with setting it on the main thread.

I'm going to mark this as a sec bug. I dunno how serious it is.

Blocks: tsan
Group: dom-core-security
Component: DOM: Networking → DOM: Navigation
Flags: needinfo?(afarre)
Regressed by: 1620594
Has Regression Range: --- → yes
Keywords: sec-high
Assignee: nobody → afarre
Flags: needinfo?(afarre)

I wonder if this is the same as https://searchfox.org/mozilla-central/source/mozglue/build/TsanOptions.cpp#112-119, do you know how this works Andrew?

Flags: needinfo?(continuation)

TSan whitelists based on the name, so if you renamed something in that list, it could be an existing issue. The stack doesn't look much like the one in bug 1600572, but I could believe that we've introduced new races and they were accidentally whitelisted.

Flags: needinfo?(continuation)

I'm suspecting that this is the same as Bug 1628120, which now has a patch submitted. The patch is a blind fix, since reproducing is difficult, but the stack clearly indicates that the patch would do the trick. Keeping this open until we can verify that no more reports come in.

Flags: needinfo?(afarre)

(In reply to Andreas Farre [:farre] from comment #4)

I'm suspecting that this is the same as Bug 1628120, which now has a patch submitted. The patch is a blind fix, since reproducing is difficult, but the stack clearly indicates that the patch would do the trick. Keeping this open until we can verify that no more reports come in.

I cannot access that bug, can you please Cc me? Also, it would be great to know if/how this TSan report might have helped you to find the proper fix. Thanks!

(In reply to Christian Holler (:decoder) from comment #5)

I cannot access that bug, can you please Cc me?

I've added you.

Same as in bug 1630296, this has been quiet since the fix for bug 1628120 landed, I think that we can be pretty confident that this shares a root cause with bug 1628120.

Ok if I close this Andrew?

Flags: needinfo?(afarre) → needinfo?(continuation)

Sure.

Status: NEW → RESOLVED
Closed: 4 years ago
Flags: needinfo?(continuation)
Resolution: --- → DUPLICATE
Group: dom-core-security
You need to log in before you can comment on or make changes to this bug.