Closed
Bug 1932783
Opened 11 months ago
Closed 11 months ago
ThreadSanitizer: data race [@ nsDNSRecord::GetCanonicalName] vs. [@ nsHostResolver::ResolveHost]
Categories
(Core :: Networking: DNS, defect, P2)
Core
Networking: DNS
Tracking
()
People
(Reporter: tsmith, Assigned: kershaw)
References
(Blocks 2 open bugs, )
Details
(Keywords: csectype-race, sec-moderate, Whiteboard: [necko-triaged] [necko-priority-queue][adv-main134+r][adv-ESR128.6+r])
Attachments
(3 files)
69.84 KB,
text/plain
|
Details | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
RyanVM
:
approval-mozilla-esr128+
|
Details | Review |
Found with m-c 20241121-e4305da6f59e (--enable-thread-sanitizer --enable-fuzzing)
This was found by visiting a live website with a TSan build.
STR:
- Launch browser and visit site
This issue was triggered by visiting http://amainhobbies.com/
.
WARNING: ThreadSanitizer: data race (pid=96070)
Write of size 4 at 0x72480026efc4 by main thread (mutexes: write M0, write M1):
#0 nsHostResolver::ResolveHost(nsTSubstring<char> const&, nsTSubstring<char> const&, int, unsigned short, mozilla::OriginAttributes const&, nsIDNSService::DNSFlags, unsigned short, nsResolveHostCallback*) /builds/worker/checkouts/gecko/netwerk/dns/nsHostResolver.cpp:677:20 (libxul.so+0x390eab4) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#1 nsDNSService::AsyncResolveInternal(nsTSubstring<char> const&, unsigned short, nsIDNSService::DNSFlags, nsIDNSAdditionalInfo*, nsIDNSListener*, nsIEventTarget*, mozilla::OriginAttributes const&, nsICancelable**) /builds/worker/checkouts/gecko/netwerk/dns/nsDNSService2.cpp:1091:13 (libxul.so+0x390d2d8) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#2 AsyncResolveNative /builds/worker/checkouts/gecko/netwerk/dns/nsDNSService2.cpp:1161:10 (libxul.so+0x390fb05) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#3 non-virtual thunk to nsDNSService::AsyncResolveNative(nsTSubstring<char> const&, nsIDNSService::ResolveType, nsIDNSService::DNSFlags, nsIDNSAdditionalInfo*, nsIDNSListener*, nsIEventTarget*, mozilla::OriginAttributes const&, nsICancelable**) /builds/worker/checkouts/gecko/netwerk/dns/nsDNSService2.cpp (libxul.so+0x390fb05)
#4 mozilla::net::HTTPSRecordResolver::FetchHTTPSRRInternal(nsIEventTarget*, nsICancelable**) /builds/worker/checkouts/gecko/netwerk/protocol/http/HTTPSRecordResolver.cpp:76:13 (libxul.so+0x3c84a03) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#5 mozilla::net::nsHttpTransaction::Init(unsigned int, mozilla::net::nsHttpConnectionInfo*, mozilla::net::nsHttpRequestHead*, nsIInputStream*, unsigned long, bool, nsIEventTarget*, nsIInterfaceRequestor*, nsITransportEventSink*, unsigned long, mozilla::net::HttpTrafficCategory, nsIRequestContext*, mozilla::net::ClassOfService, unsigned int, bool, unsigned long, std::function<void (mozilla::net::TransactionObserverResult&&)>&&, std::function<nsresult (unsigned int, nsTSubstring<char> const&, nsTSubstring<char> const&, mozilla::net::HttpTransactionShell*)>&&, mozilla::net::HttpTransactionShell*, unsigned int) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpTransaction.cpp:382:23 (libxul.so+0x3e31603) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#6 non-virtual thunk to mozilla::net::nsHttpTransaction::Init(unsigned int, mozilla::net::nsHttpConnectionInfo*, mozilla::net::nsHttpRequestHead*, nsIInputStream*, unsigned long, bool, nsIEventTarget*, nsIInterfaceRequestor*, nsITransportEventSink*, unsigned long, mozilla::net::HttpTrafficCategory, nsIRequestContext*, mozilla::net::ClassOfService, unsigned int, bool, unsigned long, std::function<void (mozilla::net::TransactionObserverResult&&)>&&, std::function<nsresult (unsigned int, nsTSubstring<char> const&, nsTSubstring<char> const&, mozilla::net::HttpTransactionShell*)>&&, mozilla::net::HttpTransactionShell*, unsigned int) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpTransaction.cpp (libxul.so+0x3e31cd9) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#7 mozilla::net::nsHttpChannel::InitTransaction() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:1828:22 (libxul.so+0x3db8a18) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#8 mozilla::net::nsHttpChannel::DispatchTransaction(mozilla::net::HttpTransactionShell*) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:1335:17 (libxul.so+0x3db7fb3) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#9 DoConnectActual /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:1328:10 (libxul.so+0x3db6abf) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#10 mozilla::net::nsHttpChannel::DoConnect(mozilla::net::HttpTransactionShell*) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:1315:10 (libxul.so+0x3db6abf)
#11 mozilla::net::nsHttpChannel::ContinueConnect() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:1277:17 (libxul.so+0x3db4f2d) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#12 mozilla::net::nsHttpChannel::TriggerNetwork() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:10504:10 (libxul.so+0x3db60be) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#13 mozilla::net::nsHttpChannel::OnCacheEntryAvailableInternal(nsICacheEntry*, bool, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:4808:10 (libxul.so+0x3dce0fa) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#14 mozilla::net::nsHttpChannel::OnCacheEntryAvailable(nsICacheEntry*, bool, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:4738:8 (libxul.so+0x3dcdda0) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#15 non-virtual thunk to mozilla::net::nsHttpChannel::OnCacheEntryAvailable(nsICacheEntry*, bool, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp (libxul.so+0x3dce1e0) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#16 mozilla::net::CacheEntry::InvokeAvailableCallback(mozilla::net::CacheEntry::Callback const&) /builds/worker/checkouts/gecko/netwerk/cache2/CacheEntry.cpp:898:29 (libxul.so+0x3b9f59f) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#17 mozilla::net::CacheEntry::InvokeCallback(mozilla::net::CacheEntry::Callback&) /builds/worker/checkouts/gecko/netwerk/cache2/CacheEntry.cpp:812:5 (libxul.so+0x3ba405e) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#18 mozilla::net::CacheEntry::InvokeCallbacks(bool) /builds/worker/checkouts/gecko/netwerk/cache2/CacheEntry.cpp:675:30 (libxul.so+0x3ba3958) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#19 mozilla::net::CacheEntry::InvokeCallbacks() /builds/worker/checkouts/gecko/netwerk/cache2/CacheEntry.cpp:617:7 (libxul.so+0x3ba04db) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#20 Open /builds/worker/checkouts/gecko/netwerk/cache2/CacheEntry.cpp:343:3 (libxul.so+0x3b9ec39) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#21 mozilla::net::CacheEntry::AsyncOpen(nsICacheEntryOpenCallback*, unsigned int) /builds/worker/checkouts/gecko/netwerk/cache2/CacheEntry.cpp:318:8 (libxul.so+0x3b9ec39)
#22 mozilla::net::CacheStorage::AsyncOpenURI(nsIURI*, nsTSubstring<char> const&, unsigned int, nsICacheEntryOpenCallback*) /builds/worker/checkouts/gecko/netwerk/cache2/CacheStorage.cpp:67:19 (libxul.so+0x3b9c473) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#23 mozilla::net::nsHttpChannel::OpenCacheEntryInternal(bool) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:4287:24 (libxul.so+0x3dc9f4a) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#24 mozilla::net::nsHttpChannel::OpenCacheEntry(bool) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:4135:10 (libxul.so+0x3db4ac5) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#25 mozilla::net::nsHttpChannel::ConnectOnTailUnblock() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:1159:8 (libxul.so+0x3db4365) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#26 mozilla::net::nsHttpChannel::Connect() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:1147:10 (libxul.so+0x3db3473) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#27 operator()<mozilla::net::nsHttpChannel> /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:976:60 (libxul.so+0x3e216dd) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#28 std::_Function_handler<nsresult (mozilla::net::nsHttpChannel*), mozilla::net::nsHttpChannel::ContinueOnBeforeConnect(bool, nsresult, bool)::$_0>::_M_invoke(std::_Any_data const&, mozilla::net::nsHttpChannel*&&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:282:9 (libxul.so+0x3e216dd)
#29 operator() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x3dade17) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#30 mozilla::net::nsHttpChannel::CallOrWaitForResume(std::function<nsresult (mozilla::net::nsHttpChannel*)> const&) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:10038:10 (libxul.so+0x3dade17)
#31 mozilla::net::nsHttpChannel::ContinueOnBeforeConnect(bool, nsresult, bool) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:976:10 (libxul.so+0x3db0058) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#32 mozilla::net::nsHttpChannel::MaybeUseHTTPSRRForUpgrade(bool, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp (libxul.so+0x3db0823) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#33 mozilla::net::nsHttpChannel::OnBeforeConnect() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:732:10 (libxul.so+0x3daf0a8) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#34 operator()<mozilla::net::nsHttpChannel> /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:546:37 (libxul.so+0x3e20fed) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#35 std::_Function_handler<nsresult (mozilla::net::nsHttpChannel*), mozilla::net::nsHttpChannel::ContinuePrepareToConnect()::$_0>::_M_invoke(std::_Any_data const&, mozilla::net::nsHttpChannel*&&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:282:9 (libxul.so+0x3e20fed)
#36 operator() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x3dade17) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#37 mozilla::net::nsHttpChannel::CallOrWaitForResume(std::function<nsresult (mozilla::net::nsHttpChannel*)> const&) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:10038:10 (libxul.so+0x3dade17)
#38 ContinuePrepareToConnect /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:545:10 (libxul.so+0x3dadc42) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#39 mozilla::net::nsHttpChannel::PrepareToConnect() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:538:10 (libxul.so+0x3dadc42)
#40 operator() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:7129:46 (libxul.so+0x3e2492d) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#41 std::_Function_handler<nsresult (mozilla::net::nsHttpChannel*), mozilla::net::nsHttpChannel::BeginConnect()::$_0>::_M_invoke(std::_Any_data const&, mozilla::net::nsHttpChannel*&&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:282:9 (libxul.so+0x3e2492d)
#42 operator() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x3dade17) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#43 mozilla::net::nsHttpChannel::CallOrWaitForResume(std::function<nsresult (mozilla::net::nsHttpChannel*)> const&) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:10038:10 (libxul.so+0x3dade17)
#44 mozilla::net::nsHttpChannel::BeginConnect() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:7128:8 (libxul.so+0x3dd75d0) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#45 mozilla::net::nsHttpChannel::OnProxyAvailable(nsICancelable*, nsIChannel*, nsIProxyInfo*, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:7483:10 (libxul.so+0x3ddb376) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#46 non-virtual thunk to mozilla::net::nsHttpChannel::OnProxyAvailable(nsICancelable*, nsIChannel*, nsIProxyInfo*, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp (libxul.so+0x3ddb62c) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#47 mozilla::net::nsAsyncResolveRequest::DoCallback() /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:412:18 (libxul.so+0x386c4fb) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#48 Run /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:273:20 (libxul.so+0x3867e8b) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#49 operator() /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:255:14 (libxul.so+0x3867e8b)
#50 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&&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:282:9 (libxul.so+0x3867e8b)
#51 operator() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x38219a3) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#52 mozilla::net::nsAsyncResolveRequest::AsyncApplyFilters::Finish() /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:606:10 (libxul.so+0x38219a3)
#53 mozilla::net::nsAsyncResolveRequest::AsyncApplyFilters::ProcessNextFilter() /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:516:14 (libxul.so+0x3821593) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#54 mozilla::net::nsAsyncResolveRequest::AsyncApplyFilters::AsyncProcess(mozilla::net::nsAsyncResolveRequest*) /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:492:19 (libxul.so+0x3821186) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#55 mozilla::net::nsAsyncResolveRequest::ProcessLocally(mozilla::net::nsProtocolInfo&, nsIProxyInfo*, bool) /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:264:33 (libxul.so+0x3829843) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#56 mozilla::net::nsProtocolProxyService::AsyncResolveInternal(nsIChannel*, unsigned int, nsIProtocolProxyCallback*, nsICancelable**, bool, nsISerialEventTarget*) /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:1612:15 (libxul.so+0x38288f7) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#57 mozilla::net::nsProtocolProxyService::AsyncResolve2(nsIChannel*, unsigned int, nsIProtocolProxyCallback*, nsISerialEventTarget*, nsICancelable**) /builds/worker/checkouts/gecko/netwerk/base/nsProtocolProxyService.cpp:1630:10 (libxul.so+0x38298c2) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#58 mozilla::net::nsHttpChannel::ResolveProxy() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:3663:16 (libxul.so+0x3dc7894) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#59 mozilla::net::nsHttpChannel::MaybeResolveProxyAndBeginConnect() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:6779:25 (libxul.so+0x3dd5372) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#60 operator() /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:6747:20 (libxul.so+0x3e247f1) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#61 std::_Function_handler<void (), mozilla::net::nsHttpChannel::AsyncOpenFinal(mozilla::TimeStamp)::$_0>::_M_invoke(std::_Any_data const&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:297:2 (libxul.so+0x3e247f1)
#62 operator() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14 (libxul.so+0x3fc6514) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#63 Exec /builds/worker/checkouts/gecko/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp:529:23 (libxul.so+0x3fc6514)
#64 CompleteClassification /builds/worker/checkouts/gecko/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp:753:20 (libxul.so+0x3fc6514)
#65 operator() /builds/worker/checkouts/gecko/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp:910:38 (libxul.so+0x3fc6514)
#66 mozilla::detail::RunnableFunction<mozilla::net::AsyncUrlChannelClassifier::CheckChannel(nsIChannel*, std::function<void ()>&&)::$_0::operator()() const::'lambda'()>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:548:5 (libxul.so+0x3fc6514)
#67 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:618:16 (libxul.so+0x35f8582) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#68 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:945:26 (libxul.so+0x35ed043) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#69 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:768:15 (libxul.so+0x35eb886) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#70 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:554:36 (libxul.so+0x35ebbbf) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#71 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:268:37 (libxul.so+0x35fb3d4) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#72 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548:5 (libxul.so+0x35fb3d4)
#73 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1159:16 (libxul.so+0x360e82d) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#74 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3614d54) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#75 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x4105dbe) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#76 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4084e58) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#77 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4084e58)
#78 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4084e58)
#79 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x8964503) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#80 nsAppShell::Run() /builds/worker/checkouts/gecko/widget/gtk/nsAppShell.cpp:469:33 (libxul.so+0x8a5197c) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#81 nsAppStartup::Run() /builds/worker/checkouts/gecko/toolkit/components/startup/nsAppStartup.cpp:295:30 (libxul.so+0x980beb2) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#82 XREMain::XRE_mainRun() /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5791:22 (libxul.so+0x99478d2) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#83 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:6031:8 (libxul.so+0x994857b) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#84 XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:6104:21 (libxul.so+0x9948dcd) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#85 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:50:12 (libxul.so+0x99567f2) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#86 do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:232:22 (firefox-bin+0x1518c6) (BuildId: 2619ab97ee0e70d1c479b60936924a9d43ecbb8c)
#87 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:464:16 (firefox-bin+0x1518c6)
Previous read of size 4 at 0x72480026efc4 by thread T7 (mutexes: write M2):
#0 nsDNSRecord::GetCanonicalName(nsTSubstring<char>&) /builds/worker/checkouts/gecko/netwerk/dns/nsDNSService2.cpp:109:3 (libxul.so+0x3906080) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#1 mozilla::net::HTTPSRecordResolver::OnLookupComplete(nsICancelable*, nsIDNSRecord*, nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/http/HTTPSRecordResolver.cpp:135:27 (libxul.so+0x3c84c9e) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#2 operator() /builds/worker/checkouts/gecko/netwerk/dns/DNSListenerProxy.cpp:29:59 (libxul.so+0x38f4cc3) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#3 mozilla::detail::RunnableFunction<mozilla::net::DNSListenerProxy::OnLookupComplete(nsICancelable*, nsIDNSRecord*, nsresult)::$_0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:548:5 (libxul.so+0x38f4cc3)
#4 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16 (libxul.so+0x360ea9d) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#5 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3614d54) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#6 mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp:1211:11 (libxul.so+0x384ae7c) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#7 non-virtual thunk to mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp (libxul.so+0x384ccf9) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#8 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16 (libxul.so+0x360ea9d) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#9 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3614d54) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#10 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:299:20 (libxul.so+0x410669e) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#11 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4084e58) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#12 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4084e58)
#13 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4084e58)
#14 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:366:10 (libxul.so+0x360a653) (BuildId: 38be560f10d268347998c266b33e97aebf6d05a3)
#15 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:191:3 (libnspr4.so+0x4aef8) (BuildId: caeed87ada6c6114eb0e5c9ab33d708090bb4fb8)
...
Reporter | ||
Comment 1•11 months ago
|
||
Assignee | ||
Updated•11 months ago
|
Assignee: nobody → kershaw
Severity: -- → S3
Priority: -- → P2
Whiteboard: [necko-triaged] [necko-priority-queue]
Assignee | ||
Comment 2•11 months ago
|
||
The data race happens on nsHostKey::flags.
Assignee | ||
Comment 3•11 months ago
|
||
Assignee | ||
Updated•11 months ago
|
Keywords: sec-moderate
Pushed by kjang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bcad03ce76b1
Make nsHostKey::flags Atomic, r=necko-reviewers,valentin
![]() |
||
Comment 5•11 months ago
|
||
Group: network-core-security → core-security-release
Status: NEW → RESOLVED
Closed: 11 months ago
status-firefox135:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 135 Branch
Comment 6•11 months ago
|
||
The patch landed in nightly and beta is affected.
:kershaw, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox134
towontfix
.
For more information, please visit BugBot documentation.
Flags: needinfo?(kershaw)
Assignee | ||
Comment 7•11 months ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D229887
Updated•11 months ago
|
Attachment #9440201 -
Flags: approval-mozilla-beta?
Comment 8•11 months ago
|
||
beta Uplift Approval Request
- User impact if declined: Possible crash.
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: N/A
- Risk associated with taking this patch: Low
- Explanation of risk level: This patch only changes one variable to atomic.
- String changes made/needed: N/A
- Is Android affected?: yes
Updated•11 months ago
|
status-firefox133:
--- → wontfix
status-firefox-esr115:
--- → wontfix
status-firefox-esr128:
--- → affected
tracking-firefox134:
--- → +
tracking-firefox135:
--- → +
tracking-firefox-esr128:
--- → 134+
Assignee | ||
Updated•11 months ago
|
Flags: needinfo?(kershaw)
Updated•11 months ago
|
Attachment #9440201 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Updated•11 months ago
|
Updated•11 months ago
|
QA Whiteboard: [post-critsmash-triage]
Flags: qe-verify-
Comment 10•10 months ago
|
||
Comment on attachment 9440201 [details]
Bug 1932783 - Make nsHostKey::flags Atomic, r=#necko
Approved for 128.6esr.
Attachment #9440201 -
Flags: approval-mozilla-esr128+
Updated•10 months ago
|
Comment 11•10 months ago
|
||
uplift |
Updated•10 months ago
|
Whiteboard: [necko-triaged] [necko-priority-queue] → [necko-triaged] [necko-priority-queue][adv-main134+r][adv-ESR128.6+r]
Updated•5 months ago
|
Group: core-security-release
You need to log in
before you can comment on or make changes to this bug.
Description
•