MOZ_CRASH(IMContextWrapper not thread-safe) crashes
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
People
(Reporter: mccr8, Assigned: emilio)
References
Details
(Keywords: csectype-race, sec-moderate, Whiteboard: [fixed by bug 1802977][post-critsmash-triage][adv-main109+r])
There's a lot of different intermittent failures showing up with this assertion. I figured I'd file a new bug to gather them together so the crashes that happen can keep getting reported somewhere.
It looks like the existing failures on file haven't happened in awhile, so I closed them, but I did find a recent failure in bug 1728042:
Hit MOZ_CRASH(IMContextWrapper not thread-safe) at /builds/worker/checkouts/gecko/xpcom/base/nsISupportsImpl.cpp:43
#01: nsAutoOwningThread::AssertCurrentThreadOwnsMe(char const*) const [xpcom/base/nsISupportsImpl.cpp:43]
#02: mozilla::widget::IMContextWrapper::Release() [widget/gtk/IMContextWrapper.cpp:304]
#03: nsWindow::~nsWindow() [widget/gtk/nsWindow.cpp:452]
#04: nsWindow::~nsWindow() [widget/gtk/nsWindow.cpp:449]
#05: nsBaseWidget::Release() [widget/nsBaseWidget.cpp:132]
#06: RefPtr<nsWindow>::~RefPtr() [mfbt/RefPtr.h:81]
#07: mozilla::widget::GtkCompositorWidget::~GtkCompositorWidget() [widget/gtk/GtkCompositorWidget.cpp:72]
#08: mozilla::widget::InProcessGtkCompositorWidget::~InProcessGtkCompositorWidget() [widget/gtk/InProcessGtkCompositorWidget.h:16]
#09: mozilla::widget::CompositorWidget::Release() [widget/CompositorWidget.h:90]
#10: mozilla::layers::WebRenderBridgeParent::~WebRenderBridgeParent() [gfx/layers/wr/WebRenderBridgeParent.cpp:351]
#11: {virtual override thunk({offset(-64)}, mozilla::layers::WebRenderBridgeParent::~WebRenderBridgeParent())} [gfx/layers/wr/WebRenderBridgeParent.cpp:0]
I'll mark this sec-moderate because it kind of looks like one of those nasty compositor teardown issues.
Updated•1 year ago
|
Comment 1•1 year ago
|
||
https://phabricator.services.mozilla.com/D122072 changed nsBaseWidget to use threadsafe refcounting even though nsBaseWidget has strong references to main thread only objects.
Assignee | ||
Comment 2•1 year ago
|
||
https://searchfox.org/mozilla-central/rev/f40d29a11f2eb4685256b59934e637012ea6fb78/widget/gtk/GtkCompositorWidget.cpp#74 should be making sure the widget is released on the main thread.
Assignee | ||
Comment 3•1 year ago
|
||
I believe this should be fixed by bug 1802977 around the time this bug was filed.
Reporter | ||
Comment 4•1 year ago
|
||
Thanks. Let's just mark this fixed then.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•9 months ago
|
Description
•