Closed
Bug 1514733
Opened 6 years ago
Closed 6 years ago
Crash in mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame | mozilla::ipc::MessageChannel::Send | mozilla::dom::PRemoteWorkerParent::SendExecOp
Categories
(Core :: DOM: Workers, defect)
Core
DOM: Workers
Tracking
()
RESOLVED
FIXED
mozilla68
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox64 | --- | unaffected |
firefox65 | --- | wontfix |
firefox66 | --- | wontfix |
firefox67 | --- | fixed |
firefox68 | --- | fixed |
People
(Reporter: gsvelto, Assigned: baku)
References
(Blocks 1 open bug)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
This bug was filed from the Socorro interface and is
report bp-e919cc76-1491-4467-97c4-a008f0181216.
=============================================================
Top 10 frames of crashing thread:
0 libxul.so mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame ipc/glue/MessageChannel.h:538
1 libxul.so mozilla::ipc::MessageChannel::Send ipc/glue/MessageChannel.cpp:979
2 libxul.so mozilla::dom::PRemoteWorkerParent::SendExecOp ipc/ipdl/PRemoteWorkerParent.cpp:90
3 libxul.so mozilla::dom::RemoteWorkerController::RemoveWindowID dom/workers/remoteworkers/RemoteWorkerController.cpp:201
4 libxul.so mozilla::dom::SharedWorkerManager::RemoveActor dom/workers/sharedworkers/SharedWorkerManager.cpp:104
5 libxul.so mozilla::dom::SharedWorkerParent::ActorDestroy dom/workers/sharedworkers/SharedWorkerParent.cpp:35
6 libxul.so mozilla::ipc::PBackgroundParent::DestroySubtree ipc/ipdl/PBackgroundParent.cpp:4060
7 libxul.so mozilla::ipc::PBackgroundParent::OnChannelError ipc/ipdl/PBackgroundParent.cpp:3730
8 libxul.so mozilla::detail::RunnableMethodImpl<mozilla::ipc::MessageChannel*, void xpcom/threads/nsThreadUtils.h:1106
9 libxul.so nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1157
=============================================================
We're hitting this assertion:
https://hg.mozilla.org/mozilla-central/annotate/5b0b8a39d09e49efe283b94deba6853e223edad3/ipc/glue/MessageChannel.h#l538
MOZ_RELEASE_ASSERT(mWorkerThread == GetCurrentVirtualThread()) (not on worker thread!)
Comment 1•6 years ago
|
||
This is weird and might actually be an IPC bug (vs. an error in how IPC is used by, in this case, workers): PRemoteWorker and PSharedWorker are both managed by PBackground, and all the PBackgroundParent instances should be bound to the same thread. So even if the PBackground being torn down isn't for the same content process thread as the PRemoteWorker at the end of the stack, that assertion wouldn't fire. Unless I'm missing something.
Bug 1438945 might be related; it's about shared workers, and the first build with its patches is 20181120100045, which is also the first build where this crash is reported.
See Also: → 1438945
Updated•6 years ago
|
Blocks: 1438945
status-firefox64:
--- → unaffected
status-firefox65:
--- → affected
status-firefox66:
--- → affected
status-firefox-esr60:
--- → unaffected
Component: IPC → DOM: Workers
Keywords: regression
Hardware: Unspecified → All
Updated•6 years ago
|
Updated•6 years ago
|
Priority: -- → P3
Comment 2•6 years ago
|
||
Just hit this when restarting nightly with updates and lost all of my open tabs that were not pinned
Updated•6 years ago
|
Comment 3•6 years ago
|
||
David, do you have a crash report?
(I'm going to move this to IPC based on comment 2.)
Component: DOM: Workers → IPC
Flags: needinfo?(dburns)
Priority: P3 → --
Updated•6 years ago
|
Comment 4•6 years ago
|
||
https://crash-stats.mozilla.org/report/index/94c57a04-467d-431b-af06-a37c50190326 is the crash report
Flags: needinfo?(dburns)
Comment 5•6 years ago
|
||
Baku, is this something you can look into as this is related to the shared workers?
Flags: needinfo?(amarchesini)
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → amarchesini
Flags: needinfo?(amarchesini)
Assignee | ||
Comment 6•6 years ago
|
||
Comment hidden (obsolete) |
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5954214372b7
RemoteWorkerController should be notified when the RemoteWorkerParent actor is dismissed, r=asuth
Comment 9•6 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Assignee | ||
Comment 11•6 years ago
|
||
Comment on attachment 9057324 [details]
Bug 1514733 - RemoteWorkerController should be notified when the RemoteWorkerParent actor is dismissed, r?asuth
Beta/Release Uplift Approval Request
- Feature/Bug causing the regression: SharedWorkers in remote processes
- User impact if declined: A crash can occur during the shutdown
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: none
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The problem is that, when the parent actor is dismissed, we don't inform the manager.
The fix is trivial, but we cannot write tests because this is a race condition and it's not easy to reproduce it consistently. - String changes made/needed:
Flags: needinfo?(amarchesini)
Attachment #9057324 -
Flags: approval-mozilla-beta?
Comment 12•6 years ago
|
||
Comment on attachment 9057324 [details]
Bug 1514733 - RemoteWorkerController should be notified when the RemoteWorkerParent actor is dismissed, r?asuth
Low risk fix for a medium crash on beta, uplift approved, thanks.
Attachment #9057324 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 13•6 years ago
|
||
bugherder uplift |
Updated•6 years ago
|
Flags: qe-verify-
You need to log in
before you can comment on or make changes to this bug.
Description
•