Crash in [@ mozilla::ipc::MessageChannel::Send | mozilla::ipc::IProtocol::ChannelSend | mozilla::dom::PWebGLChild::SendDispatchCommands]
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox97 | --- | unaffected |
firefox98 | --- | unaffected |
firefox99 | --- | disabled |
firefox100 | --- | disabled |
People
(Reporter: calixte, Assigned: aosmond)
References
(Blocks 2 open bugs, Regression)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(1 file)
Maybe Fission related. (DOMFissionEnabled=1)
Crash report: https://crash-stats.mozilla.org/report/index/9fbdaeb6-6b82-423e-b2ab-4ea920220213
MOZ_CRASH Reason: MOZ_RELEASE_ASSERT(mWorkerThread && mWorkerThread->IsOnCurrentThread()) (not on worker thread!)
Top 10 frames of crashing thread:
0 libxul.so mozilla::ipc::MessageChannel::Send ipc/glue/MessageChannel.cpp:717
1 libxul.so mozilla::ipc::IProtocol::ChannelSend ipc/glue/ProtocolUtils.cpp:476
2 libxul.so mozilla::dom::PWebGLChild::SendDispatchCommands ipc/ipdl/PWebGLChild.cpp:168
3 libxul.so mozilla::dom::WebGLChild::FlushPendingCmds dom/canvas/WebGLChild.cpp:70
4 libxul.so mozilla::dom::WebGLChild::AllocPendingCmdBytes dom/canvas/WebGLChild.cpp:57
5 libxul.so void mozilla::ClientWebGLContext::Run<void const dom/canvas/ClientWebGLContext.cpp:352
6 libxul.so mozilla::ClientWebGLContext::RawTexImage const dom/canvas/ClientWebGLContext.cpp:4228
7 libxul.so mozilla::gfx::DrawTargetWebgl::SharedContext::DrawRectAccel dom/canvas/DrawTargetWebgl.cpp:1422
8 libxul.so mozilla::gfx::DrawTargetWebgl::SharedContext::DrawPathAccel dom/canvas/DrawTargetWebgl.cpp:1770
9 libxul.so mozilla::gfx::DrawTargetWebgl::DrawPath dom/canvas/DrawTargetWebgl.cpp:1791
There are 11 crashes (from 4 installations) in nightly 99 starting with buildid 20220212212559. In analyzing the backtrace, the regression may have been introduced by patch [1] to fix bug 1754130.
[1] https://hg.mozilla.org/mozilla-central/rev?node=f30dd1bddb47
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
This is because we use a single shared context, which is only valid on thread it is created on. We probably want a threadlocal shared context.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
|
||
This crash needs both OffscreenCanvas and accelerated canvas to be turned on.
Assignee | ||
Comment 3•3 years ago
|
||
Because ClientWebGLContext is single threaded, we need a different
SharedContext for each thread that an accelerated Canvas2D is created
for.
Updated•3 years ago
|
Comment 6•3 years ago
|
||
bugherder |
Description
•