Closed
Bug 1506965
Opened 7 years ago
Closed 7 years ago
Data race between HttpChannelChild's NeedToReportBytesRead() and Release()
Categories
(Core :: Networking: HTTP, defect, P1)
Core
Networking: HTTP
Tracking
()
RESOLVED
FIXED
mozilla65
| Tracking | Status | |
|---|---|---|
| firefox65 | --- | fixed |
People
(Reporter: ytausky, Assigned: valentin)
Details
(Whiteboard: [necko-triaged])
Attachments
(3 files)
TSan shows the following error while running some tests:
51:07.09 pid:11698 ==================
51:07.09 pid:11698 WARNING: ThreadSanitizer: data race (pid=11831)
51:07.09 pid:11698 Read of size 2 at 0x7b700005671c by main thread:
51:07.09 pid:11698 #0 mozilla::net::HttpChannelChild::Release() /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:269:7 (libxul.so+0x1b15273)
51:07.09 pid:11698 #1 decltype (((*{parm#1}).*{parm#2})()) mozilla::detail::RunnableMethodArguments<>::applyImpl<mozilla::net::HttpChannelChild, unsigned int (mozilla::net::HttpChannelChild::*)()>(mozilla::net::HttpChannelChild*, unsigned int (mozilla::net::HttpChannelChild::*)(), mozilla::Tuple<>&, std::integer_sequence<unsigned long>) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/nsThreadUtils.h:1191:12 (libxul.so+0x1b6946a)
51:07.09 pid:11698 #2 _ZN7mozilla6detail23RunnableMethodArgumentsIJEE5applyINS_3net16HttpChannelChildEMS5_FjvEEEDTcl9applyImplfp_fp0_dtdefpT10mArgumentstlSt16integer_sequenceImJEEEEEPT_T0_ /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/nsThreadUtils.h:1197 (libxul.so+0x1b6946a)
51:07.09 pid:11698 #3 mozilla::detail::RunnableMethodImpl<mozilla::net::HttpChannelChild*, unsigned int (mozilla::net::HttpChannelChild::*)(), false, (mozilla::RunnableKind)0>::Run() /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/nsThreadUtils.h:1242 (libxul.so+0x1b6946a)
51:07.09 pid:11698 #4 nsThread::ProcessNextEvent(bool, bool*) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThread.cpp:1246:14 (libxul.so+0x14aba69)
51:07.09 pid:11698 #5 NS_ProcessNextEvent(nsIThread*, bool) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThreadUtils.cpp:530:10 (libxul.so+0x14aea05)
51:07.09 pid:11698 #6 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:97:21 (libxul.so+0x1dc20ee)
51:07.09 pid:11698 #7 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:301:30 (libxul.so+0x1dc2b0b)
51:07.09 pid:11698 #8 MessageLoop::RunInternal() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:325:10 (libxul.so+0x1d1459f)
51:07.09 pid:11698 #9 MessageLoop::RunHandler() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:318 (libxul.so+0x1d1459f)
51:07.09 pid:11698 #10 MessageLoop::Run() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:298 (libxul.so+0x1d1459f)
51:07.09 pid:11698 #11 nsBaseAppShell::Run() /home/ytausky/dev/mozilla-central/widget/nsBaseAppShell.cpp:158:27 (libxul.so+0x5157f75)
51:07.09 pid:11698 #12 XRE_RunAppShell() /home/ytausky/dev/mozilla-central/toolkit/xre/nsEmbedFunctions.cpp:954:22 (libxul.so+0x734a56c)
51:07.09 pid:11698 #13 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:269:9 (libxul.so+0x1dc2abd)
51:07.09 pid:11698 #14 MessageLoop::RunInternal() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:325:10 (libxul.so+0x1d1459f)
51:07.09 pid:11698 #15 MessageLoop::RunHandler() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:318 (libxul.so+0x1d1459f)
51:07.09 pid:11698 #16 MessageLoop::Run() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:298 (libxul.so+0x1d1459f)
51:07.10 pid:11698 #17 XRE_InitChildProcess(int, char**, XREChildData const*) /home/ytausky/dev/mozilla-central/toolkit/xre/nsEmbedFunctions.cpp:780:34 (libxul.so+0x734a125)
51:07.10 pid:11698 #18 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /home/ytausky/dev/mozilla-central/toolkit/xre/Bootstrap.cpp:69:12 (libxul.so+0x7355a07)
51:07.10 pid:11698 #19 content_process_main(mozilla::Bootstrap*, int, char**) /home/ytausky/dev/mozilla-central/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30 (firefox+0xc3d71)
51:07.10 pid:11698 #20 main /home/ytausky/dev/mozilla-central/browser/app/nsBrowserApp.cpp:287 (firefox+0xc3d71)
51:07.10 pid:11698 Previous write of size 2 at 0x7b700005671c by thread T15:
51:07.10 pid:11698 #0 mozilla::net::HttpChannelChild::NeedToReportBytesRead() /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:1023:28 (libxul.so+0x1b186a3)
51:07.10 pid:11698 #1 mozilla::net::HttpChannelChild::OnTransportAndData(nsresult const&, nsresult const&, unsigned long const&, unsigned int const&, nsTString<char> const&) /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:985 (libxul.so+0x1b186a3)
51:07.10 pid:11698 #2 mozilla::net::TransportAndDataEvent::Run() /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:829:13 (libxul.so+0x1b66db7)
51:07.10 pid:11698 #3 mozilla::net::ChannelEventQueue::FlushQueue() /home/ytausky/dev/mozilla-central/netwerk/ipc/ChannelEventQueue.cpp:93:12 (libxul.so+0x1c330f3)
51:07.10 pid:11698 #4 mozilla::net::ChannelEventQueue::MaybeFlushQueue() /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/mozilla/net/ChannelEventQueue.h:329:5 (libxul.so+0x1c3835c)
51:07.10 pid:11698 #5 mozilla::net::ChannelEventQueue::CompleteResume() /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/mozilla/net/ChannelEventQueue.h:306 (libxul.so+0x1c3835c)
51:07.10 pid:11698 #6 mozilla::net::ChannelEventQueue::ResumeInternal()::CompleteResumeRunnable::Run() /home/ytausky/dev/mozilla-central/netwerk/ipc/ChannelEventQueue.cpp:161 (libxul.so+0x1c3835c)
51:07.10 pid:11698 #7 nsThread::ProcessNextEvent(bool, bool*) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThread.cpp:1246:14 (libxul.so+0x14aba69)
51:07.10 pid:11698 #8 NS_ProcessNextEvent(nsIThread*, bool) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThreadUtils.cpp:530:10 (libxul.so+0x14aea05)
51:07.10 pid:11698 #9 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:364:5 (libxul.so+0x1dc2c6d)
51:07.10 pid:11698 #10 MessageLoop::RunInternal() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:325:10 (libxul.so+0x1d1459f)
51:07.10 pid:11698 #11 MessageLoop::RunHandler() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:318 (libxul.so+0x1d1459f)
51:07.10 pid:11698 #12 MessageLoop::Run() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:298 (libxul.so+0x1d1459f)
51:07.10 pid:11698 #13 nsThread::ThreadFunc(void*) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThread.cpp:505:11 (libxul.so+0x14a8642)
51:07.10 pid:11698 #14 _pt_root /home/ytausky/dev/mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x428c8)
51:07.10 pid:11698 Location is heap block of size 1824 at 0x7b7000056000 allocated by main thread:
51:07.10 pid:11698 #0 malloc <null> (firefox+0x4c75c)
51:07.10 pid:11698 #1 moz_xmalloc /home/ytausky/dev/mozilla-central/memory/mozalloc/mozalloc.cpp:70:17 (firefox+0xc455a)
51:07.10 pid:11698 #2 operator new(unsigned long) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:139:12 (libxul.so+0x1ab74bf)
51:07.10 pid:11698 #3 mozilla::net::nsHttpHandler::NewProxiedChannel2(nsIURI*, nsIProxyInfo*, unsigned int, nsIURI*, nsILoadInfo*, nsIChannel**) /home/ytausky/dev/mozilla-central/netwerk/protocol/http/nsHttpHandler.cpp:2210 (libxul.so+0x1ab74bf)
51:07.11 pid:11698 #4 mozilla::net::nsHttpsHandler::NewProxiedChannel2(nsIURI*, nsIProxyInfo*, unsigned int, nsIURI*, nsILoadInfo*, nsIChannel**) /home/ytausky/dev/mozilla-central/netwerk/protocol/http/nsHttpHandler.h:767:5 (libxul.so+0x1ab9c54)
51:07.11 pid:11698 #5 mozilla::net::nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI*, nsIURI*, unsigned int, nsILoadInfo*, nsIChannel**) /home/ytausky/dev/mozilla-central/netwerk/base/nsIOService.cpp:861:19 (libxul.so+0x1596fb7)
51:07.11 pid:11698 #6 mozilla::net::nsIOService::NewChannelFromURIWithLoadInfo(nsIURI*, nsILoadInfo*, nsIChannel**) /home/ytausky/dev/mozilla-central/netwerk/base/nsIOService.cpp:773:10 (libxul.so+0x1596dd4)
51:07.11 pid:11698 #7 NS_NewChannelInternal(nsIChannel**, nsIURI*, nsILoadInfo*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*) /home/ytausky/dev/mozilla-central/netwerk/base/nsNetUtil.cpp:232:20 (libxul.so+0x15ad025)
51:07.11 pid:11698 #8 nsDocShell::DoURILoad(nsIURI*, nsIURI*, mozilla::Maybe<nsCOMPtr<nsIURI> > const&, bool, bool, bool, bool, bool, nsIURI*, bool, unsigned int, nsIPrincipal*, nsIPrincipal*, nsTSubstring<char> const&, nsTSubstring<char16_t> const&, nsIInputStream*, nsIInputStream*, bool, nsIDocShell**, nsIRequest**, bool, bool, bool, nsTSubstring<char16_t> const&, nsIURI*, unsigned int) /home/ytausky/dev/mozilla-central/docshell/base/nsDocShell.cpp:10469:10 (libxul.so+0x6dd2fd7)
51:07.11 pid:11698 #9 nsDocShell::InternalLoad(nsIURI*, nsIURI*, mozilla::Maybe<nsCOMPtr<nsIURI> > const&, bool, bool, nsIURI*, unsigned int, nsIPrincipal*, nsIPrincipal*, unsigned int, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, nsTSubstring<char16_t> const&, nsIInputStream*, nsIInputStream*, unsigned int, nsISHEntry*, bool, nsTSubstring<char16_t> const&, nsIDocShell*, nsIURI*, nsIDocShell**, nsIRequest**) /home/ytausky/dev/mozilla-central/docshell/base/nsDocShell.cpp:10097:8 (libxul.so+0x6dabce7)
51:07.11 pid:11698 #10 nsDocShell::LoadURI(nsDocShellLoadState*) /home/ytausky/dev/mozilla-central/docshell/base/nsDocShell.cpp:756:10 (libxul.so+0x6da7421)
51:07.11 pid:11698 #11 non-virtual thunk to nsDocShell::LoadURI(nsDocShellLoadState*) /home/ytausky/dev/mozilla-central/docshell/base/nsDocShell.cpp (libxul.so+0x6dac307)
51:07.11 pid:11698 #12 nsWindowWatcher::OpenWindowInternal(mozIDOMWindowProxy*, char const*, char const*, char const*, bool, bool, bool, nsIArray*, bool, bool, nsDocShellLoadState*, mozIDOMWindowProxy**) /home/ytausky/dev/mozilla-central/toolkit/components/windowwatcher/nsWindowWatcher.cpp:1195:18 (libxul.so+0x72dfc08)
51:07.11 pid:11698 #13 nsWindowWatcher::OpenWindow2(mozIDOMWindowProxy*, char const*, char const*, char const*, bool, bool, bool, nsISupports*, bool, bool, nsDocShellLoadState*, mozIDOMWindowProxy**) /home/ytausky/dev/mozilla-central/toolkit/components/windowwatcher/nsWindowWatcher.cpp:413:10 (libxul.so+0x72e0a01)
51:07.11 pid:11698 #14 non-virtual thunk to nsWindowWatcher::OpenWindow2(mozIDOMWindowProxy*, char const*, char const*, char const*, bool, bool, bool, nsISupports*, bool, bool, nsDocShellLoadState*, mozIDOMWindowProxy**) /home/ytausky/dev/mozilla-central/toolkit/components/windowwatcher/nsWindowWatcher.cpp (libxul.so+0x72e0a01)
51:07.11 pid:11698 #15 nsGlobalWindowOuter::OpenInternal(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, bool, bool, bool, bool, bool, nsIArray*, nsISupports*, nsDocShellLoadState*, bool, nsPIDOMWindowOuter**) /home/ytausky/dev/mozilla-central/dom/base/nsGlobalWindowOuter.cpp:7141:21 (libxul.so+0x2f0f6de)
51:07.11 pid:11698 #16 nsGlobalWindowOuter::OpenJS(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsPIDOMWindowOuter**) /home/ytausky/dev/mozilla-central/dom/base/nsGlobalWindowOuter.cpp:5570:10 (libxul.so+0x2f0eca5)
51:07.11 pid:11698 #17 nsGlobalWindowOuter::OpenOuter(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) /home/ytausky/dev/mozilla-central/dom/base/nsGlobalWindowOuter.cpp:5545 (libxul.so+0x2f0eca5)
51:07.11 pid:11698 #18 nsGlobalWindowInner::Open(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) /home/ytausky/dev/mozilla-central/dom/base/nsGlobalWindowInner.cpp:4074:3 (libxul.so+0x2ee3e58)
51:07.11 pid:11698 #19 mozilla::dom::Window_Binding::open(JSContext*, JS::Handle<JSObject*>, nsGlobalWindowInner*, JSJitMethodCallArgs const&) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dom/bindings/WindowBinding.cpp:2614:56 (libxul.so+0x3ac44f8)
51:07.11 pid:11698 #20 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::MaybeGlobalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /home/ytausky/dev/mozilla-central/dom/bindings/BindingUtils.cpp:3374:13 (libxul.so+0x3ff0bb3)
51:07.11 pid:11698 #21 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:468:15 (libxul.so+0x8205020)
51:07.11 pid:11698 #22 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.11 pid:11698 #23 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:633:10 (libxul.so+0x8206134)
51:07.11 pid:11698 #24 js::ForwardingProxyHandler::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const /home/ytausky/dev/mozilla-central/js/src/proxy/Wrapper.cpp:178:12 (libxul.so+0x7a41c9c)
51:07.11 pid:11698 #25 js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const /home/ytausky/dev/mozilla-central/js/src/proxy/CrossCompartmentWrapper.cpp:355:23 (libxul.so+0x7a236d1)
51:07.11 pid:11698 #26 js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/proxy/Proxy.cpp:560:21 (libxul.so+0x7a35099)
51:07.11 pid:11698 #27 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:535:20 (libxul.so+0x8205a2e)
51:07.11 pid:11698 #28 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.11 pid:11698 #29 js::CallFromStack(JSContext*, JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:620:12 (libxul.so+0x81fb475)
51:07.11 pid:11698 #30 Interpret(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:3461 (libxul.so+0x81fb475)
51:07.11 pid:11698 #31 js::RunScript(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:447:12 (libxul.so+0x81ee332)
51:07.11 pid:11698 #32 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:587:15 (libxul.so+0x8205638)
51:07.11 pid:11698 #33 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.12 pid:11698 #34 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:633:10 (libxul.so+0x8206134)
51:07.12 pid:11698 #35 js::fun_apply(JSContext*, unsigned int, JS::Value*) /home/ytausky/dev/mozilla-central/js/src/vm/JSFunction.cpp:1381:12 (libxul.so+0x76a45c9)
51:07.12 pid:11698 #36 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:468:15 (libxul.so+0x8205020)
51:07.12 pid:11698 #37 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.12 pid:11698 #38 js::CallFromStack(JSContext*, JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:620:12 (libxul.so+0x81fb475)
51:07.12 pid:11698 #39 Interpret(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:3461 (libxul.so+0x81fb475)
51:07.12 pid:11698 #40 js::RunScript(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:447:12 (libxul.so+0x81ee332)
51:07.12 pid:11698 #41 js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:813:15 (libxul.so+0x82076f3)
51:07.12 pid:11698 #42 js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:845:12 (libxul.so+0x82079b9)
51:07.12 pid:11698 #43 Evaluate(JSContext*, js::ScopeKind, JS::Handle<JSObject*>, JS::ReadOnlyCompileOptions const&, JS::SourceBufferHolder&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/CompilationAndEvaluation.cpp:499:19 (libxul.so+0x759aa24)
51:07.12 pid:11698 #44 JS::Evaluate(JSContext*, JS::ReadOnlyCompileOptions const&, JS::SourceBufferHolder&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/CompilationAndEvaluation.cpp:550:12 (libxul.so+0x759ac80)
51:07.12 pid:11698 #45 xpc::EvalInSandbox(JSContext*, JS::Handle<JSObject*>, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, int, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/xpconnect/src/Sandbox.cpp:1929:14 (libxul.so+0x23da712)
51:07.12 pid:11698 #46 nsXPCComponents_Utils::EvalInSandbox(nsTSubstring<char16_t> const&, JS::Handle<JS::Value>, JS::Handle<JS::Value>, nsTSubstring<char> const&, int, JSContext*, unsigned char, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/xpconnect/src/XPCComponents.cpp:2254:12 (libxul.so+0x23e922a)
51:07.12 pid:11698 #47 NS_InvokeByIndex /home/ytausky/dev/mozilla-central/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106 (libxul.so+0x14cb2c5)
51:07.12 pid:11698 #48 XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) /home/ytausky/dev/mozilla-central/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1020:12 (libxul.so+0x243209d)
51:07.12 pid:11698 #49 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:468:15 (libxul.so+0x8205020)
51:07.12 pid:11698 #50 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.12 pid:11698 #51 js::CallFromStack(JSContext*, JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:620:12 (libxul.so+0x81fb475)
51:07.12 pid:11698 #52 Interpret(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:3461 (libxul.so+0x81fb475)
51:07.12 pid:11698 #53 js::RunScript(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:447:12 (libxul.so+0x81ee332)
51:07.12 pid:11698 #54 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:587:15 (libxul.so+0x8205638)
51:07.12 pid:11698 #55 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.12 pid:11698 #56 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:633:10 (libxul.so+0x8206134)
51:07.12 pid:11698 #57 js::PromiseObject::create(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, bool) /home/ytausky/dev/mozilla-central/js/src/builtin/Promise.cpp:2161:19 (libxul.so+0x752b2a1)
51:07.12 pid:11698 #58 PromiseConstructor(JSContext*, unsigned int, JS::Value*) /home/ytausky/dev/mozilla-central/js/src/builtin/Promise.cpp:2082:30 (libxul.so+0x754124e)
51:07.12 pid:11698 #59 CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:468:15 (libxul.so+0x8206bcd)
51:07.12 pid:11698 #60 CallJSNativeConstructor(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:485 (libxul.so+0x8206bcd)
51:07.12 pid:11698 #61 InternalConstruct(JSContext*, js::AnyConstructArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:661 (libxul.so+0x8206bcd)
51:07.12 pid:11698 #62 js::ConstructFromStack(JSContext*, JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:707:12 (libxul.so+0x81fb4cf)
51:07.12 pid:11698 #63 Interpret(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:3452 (libxul.so+0x81fb4cf)
51:07.12 pid:11698 #64 js::RunScript(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:447:12 (libxul.so+0x81ee332)
51:07.13 pid:11698 #65 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:587:15 (libxul.so+0x8205638)
51:07.13 pid:11698 #66 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.13 pid:11698 #67 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:633:10 (libxul.so+0x8206134)
51:07.13 pid:11698 #68 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/SelfHosting.cpp:1879:12 (libxul.so+0x7799795)
51:07.13 pid:11698 #69 AsyncFunctionResume(JSContext*, JS::Handle<js::PromiseObject*>, JS::Handle<JS::Value>, ResumeKind, JS::Handle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/AsyncFunction.cpp:200:10 (libxul.so+0x75790a6)
51:07.13 pid:11698 #70 AsyncFunctionStart(JSContext*, JS::Handle<js::PromiseObject*>, JS::Handle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/AsyncFunction.cpp:215:12 (libxul.so+0x7578c05)
51:07.13 pid:11698 #71 WrappedAsyncFunction(JSContext*, unsigned int, JS::Value*) /home/ytausky/dev/mozilla-central/js/src/vm/AsyncFunction.cpp:92 (libxul.so+0x7578c05)
51:07.13 pid:11698 #72 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:468:15 (libxul.so+0x8205020)
51:07.13 pid:11698 #73 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.13 pid:11698 #74 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:633:10 (libxul.so+0x8206134)
51:07.13 pid:11698 #75 js::fun_apply(JSContext*, unsigned int, JS::Value*) /home/ytausky/dev/mozilla-central/js/src/vm/JSFunction.cpp:1381:12 (libxul.so+0x76a45c9)
51:07.13 pid:11698 #76 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:468:15 (libxul.so+0x8205020)
51:07.13 pid:11698 #77 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.13 pid:11698 #78 js::CallFromStack(JSContext*, JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:620:12 (libxul.so+0x81fb475)
51:07.13 pid:11698 #79 Interpret(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:3461 (libxul.so+0x81fb475)
51:07.13 pid:11698 #80 js::RunScript(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:447:12 (libxul.so+0x81ee332)
51:07.13 pid:11698 #81 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:587:15 (libxul.so+0x8205638)
51:07.13 pid:11698 #82 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.13 pid:11698 #83 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:633:10 (libxul.so+0x8206134)
51:07.13 pid:11698 #84 js::PromiseObject::create(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, bool) /home/ytausky/dev/mozilla-central/js/src/builtin/Promise.cpp:2161:19 (libxul.so+0x752b2a1)
51:07.13 pid:11698 #85 PromiseConstructor(JSContext*, unsigned int, JS::Value*) /home/ytausky/dev/mozilla-central/js/src/builtin/Promise.cpp:2082:30 (libxul.so+0x754124e)
51:07.13 pid:11698 #86 CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:468:15 (libxul.so+0x8206bcd)
51:07.13 pid:11698 #87 CallJSNativeConstructor(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:485 (libxul.so+0x8206bcd)
51:07.13 pid:11698 #88 InternalConstruct(JSContext*, js::AnyConstructArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:661 (libxul.so+0x8206bcd)
51:07.14 pid:11698 #89 js::ConstructFromStack(JSContext*, JS::CallArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:707:12 (libxul.so+0x81fb4cf)
51:07.14 pid:11698 #90 Interpret(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:3452 (libxul.so+0x81fb4cf)
51:07.14 pid:11698 #91 js::RunScript(JSContext*, js::RunState&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:447:12 (libxul.so+0x81ee332)
51:07.14 pid:11698 #92 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:587:15 (libxul.so+0x8205638)
51:07.14 pid:11698 #93 InternalCall(JSContext*, js::AnyInvokeArgs const&) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:614:12 (libxul.so+0x8206049)
51:07.14 pid:11698 #94 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/vm/Interpreter.cpp:633:10 (libxul.so+0x8206134)
51:07.14 pid:11698 #95 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /home/ytausky/dev/mozilla-central/js/src/jsapi.cpp:2975:12 (libxul.so+0x79c0df0)
51:07.14 pid:11698 #96 mozilla::dom::MessageListener::ReceiveMessage(JSContext*, JS::Handle<JS::Value>, mozilla::dom::ReceiveMessageArgument const&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dom/bindings/MessageManagerBinding.cpp:6874:8 (libxul.so+0x3390417)
51:07.14 pid:11698 #97 void mozilla::dom::MessageListener::ReceiveMessage<JS::Rooted<JS::Value> >(JS::Rooted<JS::Value> const&, mozilla::dom::ReceiveMessageArgument const&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/MessageManagerBinding.h:778:12 (libxul.so+0x2ec4581)
51:07.14 pid:11698 #98 nsFrameMessageManager::ReceiveMessage(nsISupports*, nsFrameLoader*, bool, nsTSubstring<char16_t> const&, bool, mozilla::dom::ipc::StructuredCloneData*, mozilla::jsipc::CpowHolder*, nsIPrincipal*, nsTArray<mozilla::dom::ipc::StructuredCloneData>*, mozilla::ErrorResult&) /home/ytausky/dev/mozilla-central/dom/base/nsFrameMessageManager.cpp:820 (libxul.so+0x2ec4581)
51:07.14 pid:11698 #99 nsFrameMessageManager::ReceiveMessage(nsISupports*, nsFrameLoader*, nsTSubstring<char16_t> const&, bool, mozilla::dom::ipc::StructuredCloneData*, mozilla::jsipc::CpowHolder*, nsIPrincipal*, nsTArray<mozilla::dom::ipc::StructuredCloneData>*, mozilla::ErrorResult&) /home/ytausky/dev/mozilla-central/dom/base/nsFrameMessageManager.h:254:5 (libxul.so+0x4dc7595)
51:07.14 pid:11698 #100 mozilla::dom::TabChild::RecvAsyncMessage(nsTString<char16_t> const&, nsTArray<mozilla::jsipc::CpowEntry>&&, IPC::Principal const&, mozilla::dom::ClonedMessageData const&) /home/ytausky/dev/mozilla-central/dom/ipc/TabChild.cpp:2297 (libxul.so+0x4dc7595)
51:07.14 pid:11698 #101 non-virtual thunk to mozilla::dom::TabChild::RecvAsyncMessage(nsTString<char16_t> const&, nsTArray<mozilla::jsipc::CpowEntry>&&, IPC::Principal const&, mozilla::dom::ClonedMessageData const&) /home/ytausky/dev/mozilla-central/dom/ipc/TabChild.cpp (libxul.so+0x4dc776d)
51:07.14 pid:11698 #102 mozilla::dom::PBrowserChild::OnMessageReceived(IPC::Message const&) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/ipc/ipdl/PBrowserChild.cpp:2726:20 (libxul.so+0x22ea800)
51:07.14 pid:11698 #103 mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/ipc/ipdl/PContentChild.cpp:5450:28 (libxul.so+0x1f1c952)
51:07.14 pid:11698 #104 mozilla::dom::ContentChild::OnMessageReceived(IPC::Message const&) /home/ytausky/dev/mozilla-central/dom/ipc/ContentChild.cpp:3799:25 (libxul.so+0x4d773b2)
51:07.14 pid:11698 #105 mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2244:25 (libxul.so+0x1dbdffd)
51:07.14 pid:11698 #106 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2171:17 (libxul.so+0x1dbc2cf)
51:07.14 pid:11698 #107 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2008:5 (libxul.so+0x1dbcfb0)
51:07.14 pid:11698 #108 mozilla::ipc::MessageChannel::MessageTask::Run() /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2041:15 (libxul.so+0x1dbd701)
51:07.14 pid:11698 #109 mozilla::SchedulerGroup::Runnable::Run() /home/ytausky/dev/mozilla-central/xpcom/threads/SchedulerGroup.cpp:337:32 (libxul.so+0x1493fd8)
51:07.14 pid:11698 #110 nsThread::ProcessNextEvent(bool, bool*) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThread.cpp:1246:14 (libxul.so+0x14aba69)
51:07.14 pid:11698 #111 NS_ProcessNextEvent(nsIThread*, bool) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThreadUtils.cpp:530:10 (libxul.so+0x14aea05)
51:07.14 pid:11698 #112 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:125:5 (libxul.so+0x1dc209c)
51:07.14 pid:11698 #113 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:301:30 (libxul.so+0x1dc2b0b)
51:07.14 pid:11698 #114 MessageLoop::RunInternal() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:325:10 (libxul.so+0x1d1459f)
51:07.14 pid:11698 #115 MessageLoop::RunHandler() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:318 (libxul.so+0x1d1459f)
51:07.14 pid:11698 #116 MessageLoop::Run() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:298 (libxul.so+0x1d1459f)
51:07.14 pid:11698 #117 nsBaseAppShell::Run() /home/ytausky/dev/mozilla-central/widget/nsBaseAppShell.cpp:158:27 (libxul.so+0x5157f75)
51:07.14 pid:11698 #118 XRE_RunAppShell() /home/ytausky/dev/mozilla-central/toolkit/xre/nsEmbedFunctions.cpp:954:22 (libxul.so+0x734a56c)
51:07.15 pid:11698 #119 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:269:9 (libxul.so+0x1dc2abd)
51:07.15 pid:11698 #120 MessageLoop::RunInternal() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:325:10 (libxul.so+0x1d1459f)
51:07.15 pid:11698 #121 MessageLoop::RunHandler() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:318 (libxul.so+0x1d1459f)
51:07.15 pid:11698 #122 MessageLoop::Run() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:298 (libxul.so+0x1d1459f)
51:07.15 pid:11698 #123 XRE_InitChildProcess(int, char**, XREChildData const*) /home/ytausky/dev/mozilla-central/toolkit/xre/nsEmbedFunctions.cpp:780:34 (libxul.so+0x734a125)
51:07.15 pid:11698 #124 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /home/ytausky/dev/mozilla-central/toolkit/xre/Bootstrap.cpp:69:12 (libxul.so+0x7355a07)
51:07.15 pid:11698 #125 content_process_main(mozilla::Bootstrap*, int, char**) /home/ytausky/dev/mozilla-central/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30 (firefox+0xc3d71)
51:07.15 pid:11698 #126 main /home/ytausky/dev/mozilla-central/browser/app/nsBrowserApp.cpp:287 (firefox+0xc3d71)
51:07.15 pid:11698 Thread T15 'HTML5 Parser' (tid=11911, running) created by main thread at:
51:07.15 pid:11698 #0 pthread_create <null> (firefox+0x2f296)
51:07.15 pid:11698 #1 _PR_CreateThread /home/ytausky/dev/mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:433:14 (libnspr4.so+0x40707)
51:07.15 pid:11698 #2 PR_CreateThread /home/ytausky/dev/mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:518:12 (libnspr4.so+0x40447)
51:07.15 pid:11698 #3 nsThread::Init(nsTSubstring<char> const&) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThread.cpp:719:8 (libxul.so+0x14a9a98)
51:07.15 pid:11698 #4 nsThreadManager::NewNamedThread(nsTSubstring<char> const&, unsigned int, nsIThread**) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThreadManager.cpp:485:22 (libxul.so+0x14ae1e8)
51:07.15 pid:11698 #5 NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, nsIRunnable*, unsigned int) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThreadUtils.cpp:143:45 (libxul.so+0x14aff57)
51:07.15 pid:11698 #6 nsresult NS_NewNamedThread<13ul>(char const (&) [13ul], nsIThread**, nsIRunnable*, unsigned int) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/nsThreadUtils.h:75:10 (libxul.so+0x272851f)
51:07.15 pid:11698 #7 nsHtml5Module::GetStreamParserThread() /home/ytausky/dev/mozilla-central/parser/html/nsHtml5Module.cpp:120 (libxul.so+0x272851f)
51:07.15 pid:11698 #8 nsHtml5StreamParser::nsHtml5StreamParser(nsHtml5TreeOpExecutor*, nsHtml5Parser*, eParserMode) /home/ytausky/dev/mozilla-central/parser/html/nsHtml5StreamParser.cpp:174:18 (libxul.so+0x27320e7)
51:07.15 pid:11698 #9 nsHtml5Parser::MarkAsNotScriptCreated(char const*) /home/ytausky/dev/mozilla-central/parser/html/nsHtml5Parser.cpp:608:35 (libxul.so+0x272bf84)
51:07.15 pid:11698 #10 nsHTMLDocument::StartDocumentLoad(char const*, nsIChannel*, nsILoadGroup*, nsISupports*, nsIStreamListener**, bool, nsIContentSink*) /home/ytausky/dev/mozilla-central/dom/html/nsHTMLDocument.cpp (libxul.so+0x4574d1a)
51:07.15 pid:11698 #11 nsContentDLF::CreateInstance(char const*, nsIChannel*, nsILoadGroup*, nsTSubstring<char> const&, nsIDocShell*, nsISupports*, nsIStreamListener**, nsIContentViewer**) /home/ytausky/dev/mozilla-central/layout/build/nsContentDLF.cpp:389:13 (libxul.so+0x58dd2ea)
51:07.15 pid:11698 #12 nsDocShell::NewContentViewerObj(nsTSubstring<char> const&, nsIRequest*, nsILoadGroup*, nsIStreamListener**, nsIContentViewer**) /home/ytausky/dev/mozilla-central/docshell/base/nsDocShell.cpp:8710:35 (libxul.so+0x6d9c58a)
51:07.15 pid:11698 #13 nsDocShell::CreateContentViewer(nsTSubstring<char> const&, nsIRequest*, nsIStreamListener**) /home/ytausky/dev/mozilla-central/docshell/base/nsDocShell.cpp:8499 (libxul.so+0x6d9c58a)
51:07.16 pid:11698 #14 nsDSURIContentListener::DoContent(nsTSubstring<char> const&, bool, nsIRequest*, nsIStreamListener**, bool*) /home/ytausky/dev/mozilla-central/docshell/base/nsDSURIContentListener.cpp:196:21 (libxul.so+0x6d9bc29)
51:07.16 pid:11698 #15 nsDocumentOpenInfo::TryContentListener(nsIURIContentListener*, nsIChannel*) /home/ytausky/dev/mozilla-central/uriloader/base/nsURILoader.cpp:759:28 (libxul.so+0x2678a44)
51:07.16 pid:11698 #16 nsDocumentOpenInfo::DispatchContent(nsIRequest*, nsISupports*) /home/ytausky/dev/mozilla-central/uriloader/base/nsURILoader.cpp:428:30 (libxul.so+0x26778e4)
51:07.16 pid:11698 #17 nsDocumentOpenInfo::OnStartRequest(nsIRequest*, nsISupports*) /home/ytausky/dev/mozilla-central/uriloader/base/nsURILoader.cpp:306:8 (libxul.so+0x2677242)
51:07.16 pid:11698 #18 mozilla::net::HttpChannelChild::DoOnStartRequest(nsIRequest*, nsISupports*) /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:775:28 (libxul.so+0x1b124e6)
51:07.16 pid:11698 #19 mozilla::net::HttpChannelChild::OnStartRequest(nsresult const&, mozilla::net::nsHttpResponseHead const&, bool const&, mozilla::net::nsHttpHeaderArray const&, mozilla::net::ParentLoadInfoForwarderArgs 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&, mozilla::net::ResourceTimingStruct const&) /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:642:3 (libxul.so+0x1b177b5)
51:07.16 pid:11698 #20 mozilla::net::StartRequestEvent::Run() /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:463:13 (libxul.so+0x1b66cc3)
51:07.16 pid:11698 #21 mozilla::net::ChannelEventQueue::RunOrEnqueue(mozilla::net::ChannelEvent*, bool) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/dist/include/mozilla/net/ChannelEventQueue.h:215:10 (libxul.so+0x1aa443c)
51:07.16 pid:11698 #22 mozilla::net::HttpChannelChild::RecvOnStartRequest(nsresult const&, mozilla::net::nsHttpResponseHead const&, bool const&, mozilla::net::nsHttpHeaderArray const&, mozilla::net::ParentLoadInfoForwarderArgs 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&, mozilla::net::ResourceTimingStruct const&) /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:528:12 (libxul.so+0x1b171e3)
51:07.16 pid:11698 #23 mozilla::net::PHttpChannelChild::OnMessageReceived(IPC::Message const&) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/ipc/ipdl/PHttpChannelChild.cpp:743:20 (libxul.so+0x202c795)
51:07.16 pid:11698 #24 mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) /home/ytausky/dev/mozilla-central/obj-x86_64-pc-linux-gnu/ipc/ipdl/PContentChild.cpp:5450:28 (libxul.so+0x1f1c952)
51:07.16 pid:11698 #25 mozilla::dom::ContentChild::OnMessageReceived(IPC::Message const&) /home/ytausky/dev/mozilla-central/dom/ipc/ContentChild.cpp:3799:25 (libxul.so+0x4d773b2)
51:07.16 pid:11698 #26 mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2244:25 (libxul.so+0x1dbdffd)
51:07.16 pid:11698 #27 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2171:17 (libxul.so+0x1dbc2cf)
51:07.16 pid:11698 #28 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2008:5 (libxul.so+0x1dbcfb0)
51:07.16 pid:11698 #29 mozilla::ipc::MessageChannel::MessageTask::Run() /home/ytausky/dev/mozilla-central/ipc/glue/MessageChannel.cpp:2041:15 (libxul.so+0x1dbd701)
51:07.16 pid:11698 #30 mozilla::SchedulerGroup::Runnable::Run() /home/ytausky/dev/mozilla-central/xpcom/threads/SchedulerGroup.cpp:337:32 (libxul.so+0x1493fd8)
51:07.16 pid:11698 #31 nsThread::ProcessNextEvent(bool, bool*) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThread.cpp:1246:14 (libxul.so+0x14aba69)
51:07.16 pid:11698 #32 NS_ProcessNextEvent(nsIThread*, bool) /home/ytausky/dev/mozilla-central/xpcom/threads/nsThreadUtils.cpp:530:10 (libxul.so+0x14aea05)
51:07.16 pid:11698 #33 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:125:5 (libxul.so+0x1dc209c)
51:07.16 pid:11698 #34 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:301:30 (libxul.so+0x1dc2b0b)
51:07.16 pid:11698 #35 MessageLoop::RunInternal() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:325:10 (libxul.so+0x1d1459f)
51:07.16 pid:11698 #36 MessageLoop::RunHandler() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:318 (libxul.so+0x1d1459f)
51:07.16 pid:11698 #37 MessageLoop::Run() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:298 (libxul.so+0x1d1459f)
51:07.16 pid:11698 #38 nsBaseAppShell::Run() /home/ytausky/dev/mozilla-central/widget/nsBaseAppShell.cpp:158:27 (libxul.so+0x5157f75)
51:07.16 pid:11698 #39 XRE_RunAppShell() /home/ytausky/dev/mozilla-central/toolkit/xre/nsEmbedFunctions.cpp:954:22 (libxul.so+0x734a56c)
51:07.16 pid:11698 #40 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /home/ytausky/dev/mozilla-central/ipc/glue/MessagePump.cpp:269:9 (libxul.so+0x1dc2abd)
51:07.16 pid:11698 #41 MessageLoop::RunInternal() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:325:10 (libxul.so+0x1d1459f)
51:07.16 pid:11698 #42 MessageLoop::RunHandler() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:318 (libxul.so+0x1d1459f)
51:07.16 pid:11698 #43 MessageLoop::Run() /home/ytausky/dev/mozilla-central/ipc/chromium/src/base/message_loop.cc:298 (libxul.so+0x1d1459f)
51:07.17 pid:11698 #44 XRE_InitChildProcess(int, char**, XREChildData const*) /home/ytausky/dev/mozilla-central/toolkit/xre/nsEmbedFunctions.cpp:780:34 (libxul.so+0x734a125)
51:07.17 pid:11698 #45 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /home/ytausky/dev/mozilla-central/toolkit/xre/Bootstrap.cpp:69:12 (libxul.so+0x7355a07)
51:07.17 pid:11698 #46 content_process_main(mozilla::Bootstrap*, int, char**) /home/ytausky/dev/mozilla-central/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30 (firefox+0xc3d71)
51:07.17 pid:11698 #47 main /home/ytausky/dev/mozilla-central/browser/app/nsBrowserApp.cpp:287 (firefox+0xc3d71)
51:07.17 pid:11698 SUMMARY: ThreadSanitizer: data race /home/ytausky/dev/mozilla-central/netwerk/protocol/http/HttpChannelChild.cpp:269:7 in mozilla::net::HttpChannelChild::Release()
51:07.17 pid:11698 ==================
After some digging I found out that the conflict happens between the loads and stores of the bit fields in HttpChannelChild.
Comment 1•7 years ago
|
||
Do you have the changeset this was reproduced with so that we are sure the line numbers fit? Thanks.
| Reporter | ||
Comment 2•7 years ago
|
||
Ugh, I should have thought of that before I rebased... I'll make a new trace and record the changeset.
| Reporter | ||
Comment 3•7 years ago
|
||
I ran TSan again, this time with revision d8a262837cd3 from mozilla-central. It might have been triggered under different circumstances than the previous one (I just grabbed one occurrence of it), but it's the same race.
Comment 4•7 years ago
|
||
Thanks!
Read, https://hg.mozilla.org/mozilla-central/file/d8a262837cd3/netwerk/protocol/http/HttpChannelChild.cpp#l269:
if (mKeptAlive && count == 1 && mIPCOpen) {
Write, https://hg.mozilla.org/mozilla-central/file/d8a262837cd3/netwerk/protocol/http/HttpChannelChild.cpp#l1023:
mNeedToReportBytesRead = false;
mKeptAlive and mNeedToReportBytesRead are in one bit field. This MUST be synchronized or separated!
Regression from bug 1240547 where my review requirement was not fulfilled:
https://bugzilla.mozilla.org/show_bug.cgi?id=1240547#c8
> The most important to review is if the flags can be used concurrently, since setting a packed flag is no longer an atomic operation.
Priority: -- → P1
Whiteboard: [necko-triaged]
| Reporter | ||
Comment 5•7 years ago
|
||
Just a note: the write to mCacheNeedToReportBytesReadInitialized seems to belong to the same bit field sequence and should also be separated from mKeptAlive.
Comment 6•7 years ago
|
||
Eric, could you take a look? This is a serious thing we should not let come up to release, IMO.
Assignee: nobody → erahm
Comment 7•7 years ago
|
||
(In reply to Honza Bambas (:mayhemer) from comment #6)
> Eric, could you take a look? This is a serious thing we should not let come
> up to release, IMO.
I can look at it in the next couple weeks, if you need a fix sooner perhaps a necko person can look at it?
Flags: needinfo?(erahm)
| Assignee | ||
Updated•7 years ago
|
Assignee: erahm → valentin.gosu
Flags: needinfo?(valentin.gosu)
Flags: needinfo?(erahm)
| Assignee | ||
Comment 9•7 years ago
|
||
| Assignee | ||
Comment 10•7 years ago
|
||
| Assignee | ||
Comment 11•7 years ago
|
||
Depends on D13243
Comment 12•7 years ago
|
||
Pushed by valentin.gosu@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/5cb12d22a19b
Make variables atomic to avoid data race r=mayhemer
https://hg.mozilla.org/integration/autoland/rev/6e234b7bb49a
Add assertions that members in bitfields are only used on the main thread r=mayhemer
Comment 13•7 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/5cb12d22a19b
https://hg.mozilla.org/mozilla-central/rev/6e234b7bb49a
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox65:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in
before you can comment on or make changes to this bug.
Description
•