Closed
Bug 1588827
Opened 5 years ago
Closed 4 years ago
TSan: data race mozilla::net::nsHttpChannel::OnCacheEntryCheck vs. ~AutoCacheWaitFlags
Categories
(Core :: Networking: HTTP, defect, P3)
Tracking
()
RESOLVED
DUPLICATE
of bug 1614697
People
(Reporter: sosccc1, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
Steps to reproduce:
I built and ran firefox 71.0a1 with TSan in headless mode and found the following race report. Not sure if it's a false alarm. I searched in Bugzilla but didn't find similar races being reported. Unfortunately, I don't have a reproducer for this case.
OS: Ubuntu 18.04.2 LTS
Actual results:
WARNING: ThreadSanitizer: data race (pid=44771)
Write of size 4 at 0x7b74001d175c by main thread:
#0 ~AutoCacheWaitFlags /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.h:249:40 (libxul.so+0x4f03934)
#1 mozilla::net::nsHttpChannel::OpenCacheEntryInternal(bool, nsIApplicationCache*, bool) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:4168 (libxul.so+0x4f03934)
#2 mozilla::net::nsHttpChannel::OpenCacheEntry(bool) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:3917:10 (libxul.so+0x4eea4ea)
#3 mozilla::net::nsHttpChannel::ConnectOnTailUnblock() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:725:8 (libxul.so+0x4ee9c57)
#4 mozilla::net::nsHttpChannel::Connect() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:713:10 (libxul.so+0x4ee8cb7)
#5 mozilla::net::nsHttpChannel::ContinueOnBeforeConnect(bool, nsresult) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:662:10 (libxul.so+0x4ee8180)
#6 mozilla::net::nsHttpChannel::OnBeforeConnect() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:586:10 (libxul.so+0x4ee6ace)
#7 mozilla::net::nsHttpChannel::PrepareToConnect() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:463:10 (libxul.so+0x4ee636b)
#8 mozilla::net::nsHttpChannel::ContinueBeginConnectWithResult() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:6957:10 (libxul.so+0x4f133b3)
#9 mozilla::net::nsHttpChannel::BeginConnect() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:6783:8 (libxul.so+0x4f117b2)
#10 mozilla::net::nsHttpChannel::OnProxyAvailable(nsICancelable*, nsIChannel*, nsIProxyInfo*, nsresult) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:7055:10 (libxul.so+0x4f1465f)
#11 non-virtual thunk to mozilla::net::nsHttpChannel::OnProxyAvailable(nsICancelable*, nsIChannel*, nsIProxyInfo*, nsresult) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp (libxul.so+0x4f148d0)
#12 mozilla::net::nsAsyncResolveRequest::DoCallback() /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:405:18 (libxul.so+0x4924bfc)
#13 Run /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:269:20 (libxul.so+0x4922ef9)
#14 operator() /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:251 (libxul.so+0x4922ef9)
#15 std::_Function_handler<nsresult (mozilla::net::nsAsyncResolveRequest*, nsIProxyInfo*, bool), mozilla::net::nsAsyncResolveRequest::ProcessLocally(mozilla::net::nsProtocolInfo&, nsIProxyInfo*, bool)::'lambda'(mozilla::net::nsAsyncResolveRequest*, nsIProxyInfo*, bool)>::_M_invoke(std::_Any_data const&, mozilla::net::nsAsyncResolveRequest*&&, nsIProxyInfo*&&, bool&&) /usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:282 (libxul.so+0x4922ef9)
#16 operator() /usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x48dfac2)
#17 mozilla::net::nsAsyncResolveRequest::AsyncApplyFilters::Finish() /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:599 (libxul.so+0x48dfac2)
#18 mozilla::net::nsAsyncResolveRequest::AsyncApplyFilters::ProcessNextFilter() /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:509:14 (libxul.so+0x48df71f)
#19 mozilla::net::nsAsyncResolveRequest::AsyncApplyFilters::AsyncProcess(mozilla::net::nsAsyncResolveRequest*) /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:485:19 (libxul.so+0x48defc7)
#20 mozilla::net::nsAsyncResolveRequest::ProcessLocally(mozilla::net::nsProtocolInfo&, nsIProxyInfo*, bool) /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:260:33 (libxul.so+0x491d06e)
#21 mozilla::net::nsProtocolProxyService::AsyncResolveInternal(nsIChannel*, unsigned int, nsIProtocolProxyCallback*, nsICancelable**, bool, nsIEventTarget*) /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:1553:15 (libxul.so+0x48e5fb6)
#22 mozilla::net::nsProtocolProxyService::AsyncResolve2(nsIChannel*, unsigned int, nsIProtocolProxyCallback*, nsIEventTarget*, nsICancelable**) /home/neo/firefox/src/mozilla-central/netwerk/base/nsProtocolProxyService.cpp:1573:10 (libxul.so+0x48e6c3b)
#23 mozilla::net::nsHttpChannel::ResolveProxy() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:3320:16 (libxul.so+0x4eff481)
#24 mozilla::net::nsHttpChannel::MaybeResolveProxyAndBeginConnect() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:6543:7 (libxul.so+0x4f0fe75)
#25 mozilla::net::nsHttpChannel::AsyncOpenFinal(mozilla::TimeStamp) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:6503:12 (libxul.so+0x4f0fd77)
#26 mozilla::net::nsHttpChannel::AsyncOpen(nsIStreamListener*) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:6480:5 (libxul.so+0x4f0f8e4)
#27 non-virtual thunk to mozilla::net::nsHttpChannel::AsyncOpen(nsIStreamListener*) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp (libxul.so+0x4f0fdf4)
#28 mozilla::dom::FetchDriver::HttpFetch(nsTSubstring<char> const&) /home/neo/firefox/src/mozilla-central/dom/fetch/FetchDriver.cpp:720:16 (libxul.so+0x7cd975f)
#29 mozilla::dom::FetchDriver::Fetch(mozilla::dom::AbortSignalImpl*, mozilla::dom::FetchDriverObserver*) /home/neo/firefox/src/mozilla-central/dom/fetch/FetchDriver.cpp:400:8 (libxul.so+0x7cd5da8)
#30 mozilla::dom::FetchRequest(nsIGlobalObject*, mozilla::dom::RequestOrUSVString const&, mozilla::dom::RequestInit const&, mozilla::dom::CallerType, mozilla::ErrorResult&) /home/neo/firefox/src/mozilla-central/dom/fetch/Fetch.cpp:521:18 (libxul.so+0x7cd2e04)
#31 SandboxFetch /home/neo/firefox/src/mozilla-central/js/xpconnect/src/Sandbox.cpp:307:35 (libxul.so+0x58efae5)
#32 SandboxFetchPromise(JSContext*, unsigned int, JS::Value*) /home/neo/firefox/src/mozilla-central/js/xpconnect/src/Sandbox.cpp:320 (libxul.so+0x58efae5)
#33 CallJSNative /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:457:13 (libxul.so+0xaf86021)
#34 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:549 (libxul.so+0xaf86021)
#35 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#36 CallFromStack /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:622:10 (libxul.so+0xaf7b117)
#37 Interpret(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:3111 (libxul.so+0xaf7b117)
#38 js::RunScript(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:424:10 (libxul.so+0xaf6d2e3)
#39 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:590:13 (libxul.so+0xaf86889)
#40 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#41 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#42 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/SelfHosting.cpp:1658:10 (libxul.so+0xb314d73)
#43 js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/jit/VMFunctions.cpp:982:10 (libxul.so+0xb95afde)
#44 <null> <null> (0x7fb146423774)
#45 js::RunScript(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:409:32 (libxul.so+0xaf6d21e)
#46 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:590:13 (libxul.so+0xaf86889)
#47 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#48 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#49 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/SelfHosting.cpp:1658:10 (libxul.so+0xb314d73)
#50 AsyncFunctionResume(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, ResumeKind, JS::Handle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/AsyncFunction.cpp:116:8 (libxul.so+0xb0df789)
#51 js::AsyncFunctionAwaitedFulfilled(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, JS::Handle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/AsyncFunction.cpp:147:10 (libxul.so+0xb0df4eb)
#52 AsyncFunctionPromiseReactionJob /home/neo/firefox/src/mozilla-central/js/src/builtin/Promise.cpp:1495:12 (libxul.so+0xb03f14e)
#53 PromiseReactionJob(JSContext*, unsigned int, JS::Value*) /home/neo/firefox/src/mozilla-central/js/src/builtin/Promise.cpp:1653 (libxul.so+0xb03f14e)
#54 CallJSNative /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:457:13 (libxul.so+0xaf86021)
#55 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:549 (libxul.so+0xaf86021)
#56 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#57 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#58 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/jsapi.cpp:2722:10 (libxul.so+0xb4f10a0)
#59 mozilla::dom::PromiseJobCallback::Call(JSContext*, JS::Handle<JS::Value>, mozilla::ErrorResult&) /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dom/bindings/PromiseBinding.cpp:26:8 (libxul.so+0x6cbdb48)
#60 Call /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:91:12 (libxul.so+0x4699816)
#61 Call /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:104 (libxul.so+0x4699816)
#62 mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:245 (libxul.so+0x4699816)
#63 mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:667:17 (libxul.so+0x467e1b4)
#64 mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:496:3 (libxul.so+0x467e6f1)
#65 XPCJSContext::AfterProcessTask(unsigned int) /home/neo/firefox/src/mozilla-central/js/xpconnect/src/XPCJSContext.cpp:1326:28 (libxul.so+0x58dc7cf)
#66 nsThread::ProcessNextEvent(bool, bool*) /home/neo/firefox/src/mozilla-central/xpcom/threads/nsThread.cpp:1283:24 (libxul.so+0x478bcc0)
#67 NS_ProcessNextEvent(nsIThread*, bool) /home/neo/firefox/src/mozilla-central/xpcom/threads/nsThreadUtils.cpp:486:10 (libxul.so+0x478ec95)
#68 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/neo/firefox/src/mozilla-central/ipc/glue/MessagePump.cpp:88:21 (libxul.so+0x51b22f2)
#69 RunInternal /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x50e981c)
#70 RunHandler /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:308 (libxul.so+0x50e981c)
#71 MessageLoop::Run() /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:290 (libxul.so+0x50e981c)
#72 nsBaseAppShell::Run() /home/neo/firefox/src/mozilla-central/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x8c4c425)
#73 nsAppStartup::Run() /home/neo/firefox/src/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:276:30 (libxul.so+0xacb71a2)
#74 XREMain::XRE_mainRun() /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4600:22 (libxul.so+0xade1fbc)
#75 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4735:8 (libxul.so+0xade2d82)
#76 XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4816:21 (libxul.so+0xade338a)
#77 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xaded007)
#78 do_main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:218:22 (firefox+0x120aa9)
#79 main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:300 (firefox+0x120aa9)
Previous write of size 4 at 0x7b74001d175c by thread T18 (mutexes: write M114966):
#0 mozilla::net::nsHttpChannel::OnCacheEntryCheck(nsICacheEntry*, nsIApplicationCache*, unsigned int*) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:4231:25 (libxul.so+0x4f04277)
#1 non-virtual thunk to mozilla::net::nsHttpChannel::OnCacheEntryCheck(nsICacheEntry*, nsIApplicationCache*, unsigned int*) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp (libxul.so+0x4f07147)
#2 mozilla::net::CacheEntry::InvokeCallback(mozilla::net::CacheEntry::Callback&) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheEntry.cpp:741:46 (libxul.so+0x4d405bf)
#3 mozilla::net::CacheEntry::InvokeCallbacks(bool) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheEntry.cpp:668:30 (libxul.so+0x4d3fd8e)
#4 mozilla::net::CacheEntry::InvokeCallbacks() /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheEntry.cpp:610:7 (libxul.so+0x4d3ce08)
#5 mozilla::net::CacheEntry::OnFileReady(nsresult, bool) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheEntry.cpp:498:3 (libxul.so+0x4d3e990)
#6 non-virtual thunk to mozilla::net::CacheEntry::OnFileReady(nsresult, bool) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheEntry.cpp (libxul.so+0x4d3ebbd)
#7 mozilla::net::CacheFile::OnMetadataRead(nsresult) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheFile.cpp:643:13 (libxul.so+0x4d4e3f9)
#8 non-virtual thunk to mozilla::net::CacheFile::OnMetadataRead(nsresult) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheFile.cpp (libxul.so+0x4d4ef74)
#9 mozilla::net::CacheFileMetadata::OnDataRead(mozilla::net::CacheFileHandle*, char*, nsresult) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheFileMetadata.cpp (libxul.so+0x4d80f1d)
#10 mozilla::net::ReadEvent::Run() /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheFileIOManager.cpp:704:16 (libxul.so+0x4da02f3)
#11 mozilla::net::CacheIOThread::LoopOneLevel(unsigned int) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheIOThread.cpp:545:22 (libxul.so+0x4d8712b)
#12 mozilla::net::CacheIOThread::ThreadFunc() /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheIOThread.cpp:483:9 (libxul.so+0x4d86a5b)
#13 mozilla::net::CacheIOThread::ThreadFunc(void*) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheIOThread.cpp:424:11 (libxul.so+0x4d861fc)
#14 _pt_root /home/neo/firefox/src/mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x574be)
Location is heap block of size 2120 at 0x7b74001d1000 allocated by main thread:
#0 malloc /home/neo/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:672 (firefox+0xc9178)
#1 moz_xmalloc /home/neo/firefox/src/mozilla-central/memory/mozalloc/mozalloc.cpp:52:15 (firefox+0x1220ba)
#2 operator new /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x4e00df2)
#3 mozilla::net::nsHttpHandler::NewProxiedChannel(nsIURI*, nsIProxyInfo*, unsigned int, nsIURI*, nsILoadInfo*, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpHandler.cpp:2047 (libxul.so+0x4e00df2)
#4 mozilla::net::nsHttpsHandler::NewProxiedChannel(nsIURI*, nsIProxyInfo*, unsigned int, nsIURI*, nsILoadInfo*, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpHandler.h:798:3 (libxul.so+0x4e04e84)
#5 mozilla::net::nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI*, nsIURI*, unsigned int, nsILoadInfo*, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/base/nsIOService.cpp:953:15 (libxul.so+0x48adc25)
#6 mozilla::net::nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI*, nsIURI*, unsigned int, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, unsigned int, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/base/nsIOService.cpp:928:10 (libxul.so+0x48ad83b)
#7 mozilla::net::nsIOService::NewChannelFromURIWithClientAndController(nsIURI*, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, unsigned int, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/base/nsIOService.cpp:868:10 (libxul.so+0x48ad761)
#8 NS_NewChannelInternal(nsIChannel**, nsIURI*, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, unsigned int, nsICookieSettings*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*) /home/neo/firefox/src/mozilla-central/netwerk/base/nsNetUtil.cpp:380:20 (libxul.so+0x48c583f)
#9 NS_NewChannel(nsIChannel**, nsIURI*, nsIPrincipal*, unsigned int, unsigned int, nsICookieSettings*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*) /home/neo/firefox/src/mozilla-central/netwerk/base/nsNetUtil.cpp:323:10 (libxul.so+0x48b2152)
#10 mozilla::dom::FetchDriver::HttpFetch(nsTSubstring<char> const&) /home/neo/firefox/src/mozilla-central/dom/fetch/FetchDriver.cpp:530:9 (libxul.so+0x7cd8763)
#11 mozilla::dom::FetchDriver::Fetch(mozilla::dom::AbortSignalImpl*, mozilla::dom::FetchDriverObserver*) /home/neo/firefox/src/mozilla-central/dom/fetch/FetchDriver.cpp:400:8 (libxul.so+0x7cd5da8)
#12 mozilla::dom::FetchRequest(nsIGlobalObject*, mozilla::dom::RequestOrUSVString const&, mozilla::dom::RequestInit const&, mozilla::dom::CallerType, mozilla::ErrorResult&) /home/neo/firefox/src/mozilla-central/dom/fetch/Fetch.cpp:521:18 (libxul.so+0x7cd2e04)
#13 SandboxFetch /home/neo/firefox/src/mozilla-central/js/xpconnect/src/Sandbox.cpp:307:35 (libxul.so+0x58efae5)
#14 SandboxFetchPromise(JSContext*, unsigned int, JS::Value*) /home/neo/firefox/src/mozilla-central/js/xpconnect/src/Sandbox.cpp:320 (libxul.so+0x58efae5)
#15 CallJSNative /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:457:13 (libxul.so+0xaf86021)
#16 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:549 (libxul.so+0xaf86021)
#17 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#18 CallFromStack /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:622:10 (libxul.so+0xaf7b117)
#19 Interpret(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:3111 (libxul.so+0xaf7b117)
#20 js::RunScript(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:424:10 (libxul.so+0xaf6d2e3)
#21 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:590:13 (libxul.so+0xaf86889)
#22 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#23 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#24 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/SelfHosting.cpp:1658:10 (libxul.so+0xb314d73)
#25 js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/jit/VMFunctions.cpp:982:10 (libxul.so+0xb95afde)
#26 <null> <null> (0x7fb146423774)
#27 js::RunScript(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:409:32 (libxul.so+0xaf6d21e)
#28 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:590:13 (libxul.so+0xaf86889)
#29 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#30 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#31 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/SelfHosting.cpp:1658:10 (libxul.so+0xb314d73)
#32 AsyncFunctionResume(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, ResumeKind, JS::Handle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/AsyncFunction.cpp:116:8 (libxul.so+0xb0df789)
#33 js::AsyncFunctionAwaitedFulfilled(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, JS::Handle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/AsyncFunction.cpp:147:10 (libxul.so+0xb0df4eb)
#34 AsyncFunctionPromiseReactionJob /home/neo/firefox/src/mozilla-central/js/src/builtin/Promise.cpp:1495:12 (libxul.so+0xb03f14e)
#35 PromiseReactionJob(JSContext*, unsigned int, JS::Value*) /home/neo/firefox/src/mozilla-central/js/src/builtin/Promise.cpp:1653 (libxul.so+0xb03f14e)
#36 CallJSNative /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:457:13 (libxul.so+0xaf86021)
#37 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:549 (libxul.so+0xaf86021)
#38 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#39 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#40 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/jsapi.cpp:2722:10 (libxul.so+0xb4f10a0)
#41 mozilla::dom::PromiseJobCallback::Call(JSContext*, JS::Handle<JS::Value>, mozilla::ErrorResult&) /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dom/bindings/PromiseBinding.cpp:26:8 (libxul.so+0x6cbdb48)
#42 Call /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:91:12 (libxul.so+0x4699816)
#43 Call /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:104 (libxul.so+0x4699816)
#44 mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:245 (libxul.so+0x4699816)
#45 mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:667:17 (libxul.so+0x467e1b4)
#46 mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:496:3 (libxul.so+0x467e6f1)
#47 XPCJSContext::AfterProcessTask(unsigned int) /home/neo/firefox/src/mozilla-central/js/xpconnect/src/XPCJSContext.cpp:1326:28 (libxul.so+0x58dc7cf)
#48 nsThread::ProcessNextEvent(bool, bool*) /home/neo/firefox/src/mozilla-central/xpcom/threads/nsThread.cpp:1283:24 (libxul.so+0x478bcc0)
#49 NS_ProcessNextEvent(nsIThread*, bool) /home/neo/firefox/src/mozilla-central/xpcom/threads/nsThreadUtils.cpp:486:10 (libxul.so+0x478ec95)
#50 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/neo/firefox/src/mozilla-central/ipc/glue/MessagePump.cpp:88:21 (libxul.so+0x51b22f2)
#51 RunInternal /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x50e981c)
#52 RunHandler /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:308 (libxul.so+0x50e981c)
#53 MessageLoop::Run() /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:290 (libxul.so+0x50e981c)
#54 nsBaseAppShell::Run() /home/neo/firefox/src/mozilla-central/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x8c4c425)
#55 nsAppStartup::Run() /home/neo/firefox/src/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:276:30 (libxul.so+0xacb71a2)
#56 XREMain::XRE_mainRun() /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4600:22 (libxul.so+0xade1fbc)
#57 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4735:8 (libxul.so+0xade2d82)
#58 XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4816:21 (libxul.so+0xade338a)
#59 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xaded007)
#60 do_main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:218:22 (firefox+0x120aa9)
#61 main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:300 (firefox+0x120aa9)
Mutex M114966 (0x7b74001d1810) created at:
#0 pthread_mutex_init /home/neo/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1223 (firefox+0xa9ada)
#1 mozilla::detail::MutexImpl::MutexImpl(mozilla::recordreplay::Behavior) /home/neo/firefox/src/mozilla-central/mozglue/misc/Mutex_posix.cpp:103:3 (firefox+0x17c992)
#2 OffTheBooksMutex /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:47:9 (libxul.so+0x4ee4cef)
#3 Mutex /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/Mutex.h:129 (libxul.so+0x4ee4cef)
#4 mozilla::net::nsHttpChannel::nsHttpChannel() /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp:358 (libxul.so+0x4ee4cef)
#5 mozilla::net::nsHttpHandler::NewProxiedChannel(nsIURI*, nsIProxyInfo*, unsigned int, nsIURI*, nsILoadInfo*, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpHandler.cpp:2047:23 (libxul.so+0x4e00dfd)
#6 mozilla::net::nsHttpsHandler::NewProxiedChannel(nsIURI*, nsIProxyInfo*, unsigned int, nsIURI*, nsILoadInfo*, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpHandler.h:798:3 (libxul.so+0x4e04e84)
#7 mozilla::net::nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI*, nsIURI*, unsigned int, nsILoadInfo*, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/base/nsIOService.cpp:953:15 (libxul.so+0x48adc25)
#8 mozilla::net::nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI*, nsIURI*, unsigned int, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, unsigned int, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/base/nsIOService.cpp:928:10 (libxul.so+0x48ad83b)
#9 mozilla::net::nsIOService::NewChannelFromURIWithClientAndController(nsIURI*, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, unsigned int, nsIChannel**) /home/neo/firefox/src/mozilla-central/netwerk/base/nsIOService.cpp:868:10 (libxul.so+0x48ad761)
#10 NS_NewChannelInternal(nsIChannel**, nsIURI*, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, unsigned int, nsICookieSettings*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*) /home/neo/firefox/src/mozilla-central/netwerk/base/nsNetUtil.cpp:380:20 (libxul.so+0x48c583f)
#11 NS_NewChannel(nsIChannel**, nsIURI*, nsIPrincipal*, unsigned int, unsigned int, nsICookieSettings*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*) /home/neo/firefox/src/mozilla-central/netwerk/base/nsNetUtil.cpp:323:10 (libxul.so+0x48b2152)
#12 mozilla::dom::FetchDriver::HttpFetch(nsTSubstring<char> const&) /home/neo/firefox/src/mozilla-central/dom/fetch/FetchDriver.cpp:530:9 (libxul.so+0x7cd8763)
#13 mozilla::dom::FetchDriver::Fetch(mozilla::dom::AbortSignalImpl*, mozilla::dom::FetchDriverObserver*) /home/neo/firefox/src/mozilla-central/dom/fetch/FetchDriver.cpp:400:8 (libxul.so+0x7cd5da8)
#14 mozilla::dom::FetchRequest(nsIGlobalObject*, mozilla::dom::RequestOrUSVString const&, mozilla::dom::RequestInit const&, mozilla::dom::CallerType, mozilla::ErrorResult&) /home/neo/firefox/src/mozilla-central/dom/fetch/Fetch.cpp:521:18 (libxul.so+0x7cd2e04)
#15 SandboxFetch /home/neo/firefox/src/mozilla-central/js/xpconnect/src/Sandbox.cpp:307:35 (libxul.so+0x58efae5)
#16 SandboxFetchPromise(JSContext*, unsigned int, JS::Value*) /home/neo/firefox/src/mozilla-central/js/xpconnect/src/Sandbox.cpp:320 (libxul.so+0x58efae5)
#17 CallJSNative /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:457:13 (libxul.so+0xaf86021)
#18 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:549 (libxul.so+0xaf86021)
#19 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#20 CallFromStack /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:622:10 (libxul.so+0xaf7b117)
#21 Interpret(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:3111 (libxul.so+0xaf7b117)
#22 js::RunScript(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:424:10 (libxul.so+0xaf6d2e3)
#23 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:590:13 (libxul.so+0xaf86889)
#24 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#25 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#26 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/SelfHosting.cpp:1658:10 (libxul.so+0xb314d73)
#27 js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/jit/VMFunctions.cpp:982:10 (libxul.so+0xb95afde)
#28 <null> <null> (0x7fb146423774)
#29 js::RunScript(JSContext*, js::RunState&) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:409:32 (libxul.so+0xaf6d21e)
#30 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:590:13 (libxul.so+0xaf86889)
#31 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#32 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#33 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/SelfHosting.cpp:1658:10 (libxul.so+0xb314d73)
#34 AsyncFunctionResume(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, ResumeKind, JS::Handle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/AsyncFunction.cpp:116:8 (libxul.so+0xb0df789)
#35 js::AsyncFunctionAwaitedFulfilled(JSContext*, JS::Handle<js::AsyncFunctionGeneratorObject*>, JS::Handle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/vm/AsyncFunction.cpp:147:10 (libxul.so+0xb0df4eb)
#36 AsyncFunctionPromiseReactionJob /home/neo/firefox/src/mozilla-central/js/src/builtin/Promise.cpp:1495:12 (libxul.so+0xb03f14e)
#37 PromiseReactionJob(JSContext*, unsigned int, JS::Value*) /home/neo/firefox/src/mozilla-central/js/src/builtin/Promise.cpp:1653 (libxul.so+0xb03f14e)
#38 CallJSNative /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:457:13 (libxul.so+0xaf86021)
#39 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:549 (libxul.so+0xaf86021)
#40 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:618:10 (libxul.so+0xaf873f8)
#41 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /home/neo/firefox/src/mozilla-central/js/src/vm/Interpreter.cpp:635:8 (libxul.so+0xaf874ec)
#42 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /home/neo/firefox/src/mozilla-central/js/src/jsapi.cpp:2722:10 (libxul.so+0xb4f10a0)
#43 mozilla::dom::PromiseJobCallback::Call(JSContext*, JS::Handle<JS::Value>, mozilla::ErrorResult&) /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dom/bindings/PromiseBinding.cpp:26:8 (libxul.so+0x6cbdb48)
#44 Call /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:91:12 (libxul.so+0x4699816)
#45 Call /home/neo/firefox/src/mozilla-central/objdir-ff-tsan/dist/include/mozilla/dom/PromiseBinding.h:104 (libxul.so+0x4699816)
#46 mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:245 (libxul.so+0x4699816)
#47 mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:667:17 (libxul.so+0x467e1b4)
#48 mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int) /home/neo/firefox/src/mozilla-central/xpcom/base/CycleCollectedJSContext.cpp:496:3 (libxul.so+0x467e6f1)
#49 XPCJSContext::AfterProcessTask(unsigned int) /home/neo/firefox/src/mozilla-central/js/xpconnect/src/XPCJSContext.cpp:1326:28 (libxul.so+0x58dc7cf)
#50 nsThread::ProcessNextEvent(bool, bool*) /home/neo/firefox/src/mozilla-central/xpcom/threads/nsThread.cpp:1283:24 (libxul.so+0x478bcc0)
#51 NS_ProcessNextEvent(nsIThread*, bool) /home/neo/firefox/src/mozilla-central/xpcom/threads/nsThreadUtils.cpp:486:10 (libxul.so+0x478ec95)
#52 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /home/neo/firefox/src/mozilla-central/ipc/glue/MessagePump.cpp:88:21 (libxul.so+0x51b22f2)
#53 RunInternal /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x50e981c)
#54 RunHandler /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:308 (libxul.so+0x50e981c)
#55 MessageLoop::Run() /home/neo/firefox/src/mozilla-central/ipc/chromium/src/base/message_loop.cc:290 (libxul.so+0x50e981c)
#56 nsBaseAppShell::Run() /home/neo/firefox/src/mozilla-central/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x8c4c425)
#57 nsAppStartup::Run() /home/neo/firefox/src/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:276:30 (libxul.so+0xacb71a2)
#58 XREMain::XRE_mainRun() /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4600:22 (libxul.so+0xade1fbc)
#59 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4735:8 (libxul.so+0xade2d82)
#60 XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4816:21 (libxul.so+0xade338a)
#61 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xaded007)
#62 do_main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:218:22 (firefox+0x120aa9)
#63 main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:300 (firefox+0x120aa9)
Thread T18 'Cache2 I/O' (tid=44799, running) created by main thread at:
#0 pthread_create /home/neo/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:975 (firefox+0xa9586)
#1 _PR_CreateThread /home/neo/firefox/src/mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:458:14 (libnspr4.so+0x50761)
#2 PR_CreateThread /home/neo/firefox/src/mozilla-central/nsprpub/pr/src/pthreads/ptthread.c:533:12 (libnspr4.so+0x41c97)
#3 Init /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheIOThread.cpp:262:7 (libxul.so+0x4d6842a)
#4 mozilla::net::CacheFileIOManager::InitInternal() /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheFileIOManager.cpp:1162 (libxul.so+0x4d6842a)
#5 mozilla::net::CacheFileIOManager::Init() /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheFileIOManager.cpp:1150:24 (libxul.so+0x4d67f73)
#6 mozilla::net::CacheObserver::Observe(nsISupports*, char const*, char16_t const*) /home/neo/firefox/src/mozilla-central/netwerk/cache2/CacheObserver.cpp:380:5 (libxul.so+0x4d993ab)
#7 nsObserverList::NotifyObservers(nsISupports*, char const*, char16_t const*) /home/neo/firefox/src/mozilla-central/xpcom/ds/nsObserverList.cpp:66:19 (libxul.so+0x46e0bc4)
#8 nsObserverService::NotifyObservers(nsISupports*, char const*, char16_t const*) /home/neo/firefox/src/mozilla-central/xpcom/ds/nsObserverService.cpp:291:19 (libxul.so+0x46ef083)
#9 nsXREDirProvider::DoStartup() /home/neo/firefox/src/mozilla-central/toolkit/xre/nsXREDirProvider.cpp:916:13 (libxul.so+0xadf03db)
#10 XREMain::XRE_mainRun() /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4411:16 (libxul.so+0xade1b16)
#11 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4735:8 (libxul.so+0xade2d82)
#12 XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/nsAppRunner.cpp:4816:21 (libxul.so+0xade338a)
#13 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /home/neo/firefox/src/mozilla-central/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0xaded007)
#14 do_main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:218:22 (firefox+0x120aa9)
#15 main /home/neo/firefox/src/mozilla-central/browser/app/nsBrowserApp.cpp:300 (firefox+0x120aa9)
SUMMARY: ThreadSanitizer: data race /home/neo/firefox/src/mozilla-central/netwerk/protocol/http/nsHttpChannel.h:249:40 in ~AutoCacheWaitFlags
Updated•5 years ago
|
Comment 1•5 years ago
|
||
Thank you for filing. TSan is currently not stable on Firefox, we are working on setting up a TSan build and CI. Before we have both in place, further testing of Firefox with TSan is unlikely to be useful.
Comment 3•4 years ago
|
||
This is a duplicate of bug 1614697, which was since fixed.
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•