(Hidden by Administrator)
Bug 1588827 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
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 ```