Closed Bug 1807004 Opened 1 year ago Closed 1 year ago

Frequent STDOUT: SUMMARY: ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/nsCOMPtr.h:867:45 in operator bool

Categories

(Core :: Networking: WebSockets, defect, P2)

defect

Tracking

()

RESOLVED FIXED
110 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox108 --- unaffected
firefox109 + fixed
firefox110 + fixed

People

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

References

(Blocks 1 open bug, Regression)

Details

(4 keywords, Whiteboard: [necko-triaged][necko-priority-queue][post-critsmash-triage][adv-main109+r])

Attachments

(2 files)

Filed by: rvandermeulen [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=400445570&repo=try
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Dj2Jz7dZTpe4gJ5ooUo6BQ/runs/0/artifacts/public/logs/live_backing.log


When trying to run wdspec-headless tests in TSAN mode, this data race is hitting pretty frequently.
Blocks: 1806934, tsan
Group: core-security → network-core-security
Attached file tsan log

This is a race on some timer. Maybe mCloseTimer?

I'll mark this sec-moderate, but maybe it should be high?

If I am correct, the race is on mClientSize.
This is not a networking bug.

Group: network-core-security → firefox-core-security
Component: Networking: WebSockets → Headless
Product: Core → Firefox

That's a different race (bug 1807000). This was filed about the one further down the log. I also attached the trace to the bug directly.

Group: firefox-core-security → core-security
Component: Headless → Networking: WebSockets
Flags: needinfo?(kershaw)
Product: Firefox → Core
Group: core-security → network-core-security

(In reply to Ryan VanderMeulen [:RyanVM] from comment #4)

That's a different race (bug 1807000). This was filed about the one further down the log. I also attached the trace to the bug directly.

Ah, you are right. Thanks.

Flags: needinfo?(kershaw)
Severity: -- → S3
Priority: -- → P2
Whiteboard: [necko-triaged][necko-priority-queue]
[task 2022-12-22T04:45:15.784Z] 04:45:15     INFO - STDOUT: WARNING: ThreadSanitizer: data race (pid=17658)
[task 2022-12-22T04:45:15.785Z] 04:45:15     INFO - STDOUT:   Read of size 8 at 0x7b74001429e8 by main thread:
[task 2022-12-22T04:45:15.785Z] 04:45:15     INFO - STDOUT:     #0 operator bool /builds/worker/workspace/obj-build/dist/include/nsCOMPtr.h:867:45 (libxul.so+0x4ba3793) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.785Z] 04:45:15     INFO - STDOUT:     #1 mozilla::net::WebSocketChannel::DoStopSession(nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:2328:7 (libxul.so+0x4ba3793)
[task 2022-12-22T04:45:15.785Z] 04:45:15     INFO - STDOUT:     #2 mozilla::net::WebSocketChannel::AbortSession(nsresult) /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:2472:3 (libxul.so+0x4b9b9f3) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.785Z] 04:45:15     INFO - STDOUT:     #3 mozilla::net::WebSocketChannel::OnInputStreamReady(nsIAsyncInputStream*) /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:4110:7 (libxul.so+0x4baf578) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.786Z] 04:45:15     INFO - STDOUT:     #4 non-virtual thunk to mozilla::net::WebSocketChannel::OnInputStreamReady(nsIAsyncInputStream*) /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp (libxul.so+0x4baf63c) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.786Z] 04:45:15     INFO - STDOUT:     #5 operator() /builds/worker/checkouts/gecko/xpcom/io/nsPipe3.cpp:73:47 (libxul.so+0x4181911) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.787Z] 04:45:15     INFO - STDOUT:     #6 already_AddRefed<mozilla::CancelableRunnable> NS_NewCancelableRunnableFunction<CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::'lambda'()>(char const*, CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::'lambda'()&&)::FuncCancelableRunnable::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:665:9 (libxul.so+0x4181911)
[task 2022-12-22T04:45:15.788Z] 04:45:15     INFO - STDOUT:     #7 Notify /builds/worker/checkouts/gecko/xpcom/io/nsPipe3.cpp:118:19 (libxul.so+0x416ebb1) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.789Z] 04:45:15     INFO - STDOUT:     #8 nsPipeEvents::~nsPipeEvents() /builds/worker/checkouts/gecko/xpcom/io/nsPipe3.cpp:1155:14 (libxul.so+0x416ebb1)
[task 2022-12-22T04:45:15.790Z] 04:45:15     INFO - STDOUT:     #9 nsPipe::OnPipeException(nsresult, bool) /builds/worker/checkouts/gecko/xpcom/io/nsPipe3.cpp:984:1 (libxul.so+0x416e200) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.791Z] 04:45:15     INFO - STDOUT:     #10 nsPipe::OnInputStreamException(nsPipeInputStream*, nsresult) /builds/worker/checkouts/gecko/xpcom/io/nsPipe3.cpp:916:9 (libxul.so+0x416dd32) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.792Z] 04:45:15     INFO - STDOUT:     #11 nsPipeInputStream::CloseWithStatus(nsresult) /builds/worker/checkouts/gecko/xpcom/io/nsPipe3.cpp:1286:10 (libxul.so+0x416fe44) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.793Z] 04:45:15     INFO - STDOUT:     #12 nsPipeInputStream::Close() /builds/worker/checkouts/gecko/xpcom/io/nsPipe3.cpp:1303:37 (libxul.so+0x416fffa) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.794Z] 04:45:15     INFO - STDOUT:     #13 NS_InvokeByIndex /builds/worker/checkouts/gecko/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:101 (libxul.so+0x4204405) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.795Z] 04:45:15     INFO - STDOUT:     #14 XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:965:10 (libxul.so+0x506650d) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.796Z] 04:45:15     INFO - STDOUT:     #15 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:459:13 (libxul.so+0xbd6d1fb) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.804Z] 04:45:15     INFO - STDOUT:     #16 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:547:12 (libxul.so+0xbd6d1fb)
[task 2022-12-22T04:45:15.805Z] 04:45:15     INFO - STDOUT:     #17 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:614:10 (libxul.so+0xbd6334c) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.806Z] 04:45:15     INFO - STDOUT:     #18 CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:619:10 (libxul.so+0xbd6334c)
[task 2022-12-22T04:45:15.808Z] 04:45:15     INFO - STDOUT:     #19 Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3379:16 (libxul.so+0xbd6334c)
[task 2022-12-22T04:45:15.809Z] 04:45:15     INFO - STDOUT:     #20 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xbd5662f) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.810Z] 04:45:15     INFO - STDOUT:     #21 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:579:13 (libxul.so+0xbd6d2d0) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.810Z] 04:45:15     INFO - STDOUT:     #22 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:614:10 (libxul.so+0xbd6df83) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.811Z] 04:45:15     INFO - STDOUT:     #23 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:646:8 (libxul.so+0xbd6df83)
[task 2022-12-22T04:45:15.812Z] 04:45:15     INFO - STDOUT:     #24 js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/SelfHosting.cpp:1488:10 (libxul.so+0xbff4570) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.814Z] 04:45:15     INFO - STDOUT:     #25 js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::Value*, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/jit/VMFunctions.cpp:1086:10 (libxul.so+0xc6a1ede) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.814Z] 04:45:15     INFO - STDOUT:     #26 <null> <null> (0x7fe3bdaf1a21)
[task 2022-12-22T04:45:15.815Z] 04:45:15     INFO - STDOUT:     #27 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:421:32 (libxul.so+0xbd56604) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.815Z] 04:45:15     INFO - STDOUT:     #28 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:579:13 (libxul.so+0xbd6d2d0) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.844Z] 04:45:15     INFO - STDOUT:   Previous write of size 8 at 0x7b74001429e8 by thread T6:
[task 2022-12-22T04:45:15.846Z] 04:45:15     INFO - STDOUT:     #0 forget<nsITimer> /builds/worker/workspace/obj-build/dist/include/mozilla/RefPtr.h:270:11 (libxul.so+0x41e8334) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.847Z] 04:45:15     INFO - STDOUT:     #1 NS_NewTimerWithCallback(nsITimer**, nsITimerCallback*, unsigned int, unsigned int, nsIEventTarget*) /builds/worker/checkouts/gecko/xpcom/threads/nsTimerImpl.cpp:178:9 (libxul.so+0x41e8334)
[task 2022-12-22T04:45:15.848Z] 04:45:15     INFO - STDOUT:     #2 mozilla::net::WebSocketChannel::PrimeNewOutgoingMessage() /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:2053:12 (libxul.so+0x4ba1db3) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.848Z] 04:45:15     INFO - STDOUT:     #3 mozilla::net::WebSocketChannel::OnOutputStreamReady(nsIAsyncOutputStream*) /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:4136:21 (libxul.so+0x4baf6e9) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.849Z] 04:45:15     INFO - STDOUT:     #4 mozilla::net::WebSocketChannel::EnqueueOutgoingMessage(nsDeque<mozilla::net::OutboundMessage>&, mozilla::net::OutboundMessage*) /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:1938:5 (libxul.so+0x4ba049b) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.850Z] 04:45:15     INFO - STDOUT:     #5 mozilla::net::OutboundEnqueuer::Run() /builds/worker/checkouts/gecko/netwerk/protocol/websocket/WebSocketChannel.cpp:1130:15 (libxul.so+0x4bc3e3d) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.851Z] 04:45:15     INFO - STDOUT:     #6 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1203:16 (libxul.so+0x41d5042) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.854Z] 04:45:15     INFO - STDOUT:     #7 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:476:10 (libxul.so+0x41dbae6) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.854Z] 04:45:15     INFO - STDOUT:     #8 mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp:1235:11 (libxul.so+0x4405937) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.855Z] 04:45:15     INFO - STDOUT:     #9 non-virtual thunk to mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp (libxul.so+0x4406d79) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.856Z] 04:45:15     INFO - STDOUT:     #10 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1203:16 (libxul.so+0x41d5042) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.856Z] 04:45:15     INFO - STDOUT:     #11 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:476:10 (libxul.so+0x41dbae6) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.857Z] 04:45:15     INFO - STDOUT:     #12 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:300:20 (libxul.so+0x4eb4ffe) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.858Z] 04:45:15     INFO - STDOUT:     #13 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x4dcd1b7) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.859Z] 04:45:15     INFO - STDOUT:     #14 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x4dcd1b7)
[task 2022-12-22T04:45:15.860Z] 04:45:15     INFO - STDOUT:     #15 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x4dcd1b7)
[task 2022-12-22T04:45:15.861Z] 04:45:15     INFO - STDOUT:     #16 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:383:10 (libxul.so+0x41d01d2) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.861Z] 04:45:15     INFO - STDOUT:     #17 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x523e3) (BuildId: f459398b5a7f00356dc1ebc90a41332e67366f18)
[task 2022-12-22T04:45:15.862Z] 04:45:15     INFO - STDOUT:   Location is heap block of size 2144 at 0x7b7400142800 allocated by main thread:
[task 2022-12-22T04:45:15.863Z] 04:45:15     INFO - STDOUT:     #0 malloc /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:667:5 (firefox-bin+0xb2471) (BuildId: a44d48cd63a272e7b7ff4c2589fcee65bc16acfb)
[task 2022-12-22T04:45:15.864Z] 04:45:15     INFO - STDOUT:     #1 moz_xmalloc /builds/worker/checkouts/gecko/memory/mozalloc/mozalloc.cpp:52:15 (firefox-bin+0x1369fb) (BuildId: a44d48cd63a272e7b7ff4c2589fcee65bc16acfb)
[task 2022-12-22T04:45:15.865Z] 04:45:15     INFO - STDOUT:     #2 WebSocketChannelConstructor /builds/worker/checkouts/gecko/netwerk/build/nsNetModule.cpp (libxul.so+0x4db655e) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.865Z] 04:45:15     INFO - STDOUT:     #3 mozilla::net::WebSocketChannelConstructor(nsID const&, void**) /builds/worker/checkouts/gecko/netwerk/build/nsNetModule.cpp:100:1 (libxul.so+0x4db655e)
[task 2022-12-22T04:45:15.868Z] 04:45:15     INFO - STDOUT:     #4 mozilla::xpcom::CreateInstanceImpl(mozilla::xpcom::ModuleID, nsID const&, void**) /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:9618:27 (libxul.so+0x4187907) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.868Z] 04:45:15     INFO - STDOUT:     #5 mozilla::xpcom::(anonymous namespace)::StaticModuleFactory::CreateInstance(nsID const&, void**) /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:12925:10 (libxul.so+0x4194c6f) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.868Z] 04:45:15     INFO - STDOUT:     #6 nsComponentManagerImpl::CreateInstanceByContractID(char const*, nsID const&, void**) /builds/worker/checkouts/gecko/xpcom/components/nsComponentManager.cpp:840:19 (libxul.so+0x419e674) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.869Z] 04:45:15     INFO - STDOUT:     #7 CallCreateInstance /builds/worker/checkouts/gecko/xpcom/components/nsComponentManagerUtils.cpp:128:43 (libxul.so+0x41a297f) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.870Z] 04:45:15     INFO - STDOUT:     #8 nsCreateInstanceByContractID::operator()(nsID const&, void**) const /builds/worker/checkouts/gecko/xpcom/components/nsComponentManagerUtils.cpp:169:21 (libxul.so+0x41a297f)
[task 2022-12-22T04:45:15.871Z] 04:45:15     INFO - STDOUT:     #9 nsCOMPtr_base::assign_from_helper(nsCOMPtr_helper const&, nsID const&) /builds/worker/checkouts/gecko/xpcom/base/nsCOMPtr.cpp:109:7 (libxul.so+0x40c8bdf) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.871Z] 04:45:15     INFO - STDOUT:     #10 mozilla::dom::WebSocketImpl::InitializeConnection(nsIPrincipal*, nsICookieJarSettings*) /builds/worker/checkouts/gecko/dom/websocket/WebSocket.cpp (libxul.so+0x8ddcdc4) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.873Z] 04:45:15     INFO - STDOUT:     #11 mozilla::dom::WebSocket::ConstructorCommon(mozilla::dom::GlobalObject const&, nsTSubstring<char16_t> const&, mozilla::dom::Sequence<nsTString<char16_t>> const&, nsITransportProvider*, nsTSubstring<char> const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/websocket/WebSocket.cpp:1341:24 (libxul.so+0x8ddb0e2) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.873Z] 04:45:15     INFO - STDOUT:     #12 mozilla::dom::WebSocket::CreateServerWebSocket(mozilla::dom::GlobalObject const&, nsTSubstring<char16_t> const&, mozilla::dom::Sequence<nsTString<char16_t>> const&, nsITransportProvider*, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/websocket/WebSocket.cpp:1032:10 (libxul.so+0x8ddba76) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
[task 2022-12-22T04:45:15.874Z] 04:45:15     INFO - STDOUT:     #13 mozilla::dom::WebSocket_Binding::createServerWebSocket(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/WebSocketBinding.cpp:924:55 (libxul.so+0x6a03717) (BuildId: 4776e6538951d4e97f24058103c77a08ab9989bf)
Assignee: nobody → kershaw

By running this command locally, this assertion can be triggered.

./mach wpt --test-type=wdspec --headless testing/web-platform/mozilla/tests/webdriver/protocol/allow_hosts.py

Make WebSocketChannel::OnInputStreamReady always be called on IO thread, r=necko-reviewers,valentin
https://hg.mozilla.org/integration/autoland/rev/4c96574032f241ec65e960f6ba549994c4fa2713
https://hg.mozilla.org/mozilla-central/rev/4c96574032f2

Group: network-core-security → core-security-release
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 110 Branch

How far back does this bug go? Looks like this code was refactored pretty heavily in 109? Should we consider backporting this fix or can it ride the trains?

Flags: needinfo?(kershaw)

(In reply to Ryan VanderMeulen [:RyanVM] from comment #10)

How far back does this bug go? Looks like this code was refactored pretty heavily in 109? Should we consider backporting this fix or can it ride the trains?

I think we can uplift this patch, since it's an easy fix.
Thanks.

Flags: needinfo?(kershaw)

Comment on attachment 9310419 [details]
Bug 1807004 - Make WebSocketChannel::OnInputStreamReady always be called on IO thread, r=#necko

Beta/Release Uplift Approval Request

  • User impact if declined: Could crash due to data race.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: N/A
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This is not risky, since this patch makes sure WebSocketChannel::OnInputStreamReady is called on the right thread.
  • String changes made/needed: N/A
  • Is Android affected?: Yes
Attachment #9310419 - Flags: approval-mozilla-beta?

Comment on attachment 9310419 [details]
Bug 1807004 - Make WebSocketChannel::OnInputStreamReady always be called on IO thread, r=#necko

Approved for 109.0b9.

Attachment #9310419 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: qe-verify-
Whiteboard: [necko-triaged][necko-priority-queue] → [necko-triaged][necko-priority-queue][post-critsmash-triage]
Whiteboard: [necko-triaged][necko-priority-queue][post-critsmash-triage] → [necko-triaged][necko-priority-queue][post-critsmash-triage][adv-main109+r]
Group: core-security-release
Keywords: regression
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: