After I updated my tree (I use a debug build for regular browsing) to https://hg.mozilla.org/mozilla-central/rev/c40c0b2f3b4c last weekend, I hit the assertion: Assertion failure: mStatus != eInUse, at /home/dbaron/builds/ssd/mozilla-central/mozilla/dom/base/Console.cpp:292 twice, reasonably close together -- a high enough frequency that I just commented it out locally. This assertion is in ConsoleCallData::~ConsoleCallData. It looks like the first time I hit it I was loading: http://productforums.google.com/d/msg/gmail/a2wUB5iMfr4/OIKlvJYsxqwJ and the second time I was loading: https://keep.google.com/
This seems to me a valid reason of this error: 1. Console is unlinked and Console::Shutdown() is executed. 2. But in the meantime we have runnables doing something with ConsoleCallData objects. 3. Currently we clear the array of ConsoleCallData objects without checking if they are in eInUse state. 4. If the runnable are not dispatched (maybe canceled by the worker?) we don't change the state of the ConsoleCallData object.
Assignee: nobody → amarchesini
Attachment #8739738 - Flags: review?(bugs)
I think I was wrong. The reason seems more likely that the runnable is canceled.
3 years ago
Status: NEW → ASSIGNED
Comment on attachment 8739739 [details] [diff] [review] console2.patch Perhaps add a comment to Cancel why we aren't calling parent class' Cancel. It is rather surprising that WorkerControlRunnable::Cancel() ends up calling Run(). rs+
Attachment #8739739 - Flags: review?(bugs) → review+
Did you actually manage to reproduce this (without the patch)?
No, I tried, but no luck. It seems very racy to me.
I just saw this assertion in a build with the above patch, in a room on https://appear.in/ . It doesn't seem as frequent as it was, though, and I haven't seen it on any Google properties again.
OK, I just crashed twice trying to load Google Translate, with this patch, so I think it's pretty clear this didn't fix the problem.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
... and just crashed loading gmail.
Do you have a crash report to share?
Or the log of one of these crashes. What I would like to see is some warning messages from WorkerRunnable or WorkerPrivate code.
I have stdout from a session that had 4 of these child process crashes, but I don't see any messages in common between them. What should I be looking for? (Alternatively, if you want me to un-comment the assertion and debug it the next time I hit it, what should I be looking for when I debug?)
Depends on: 1267907
Component: DOM → DOM: Core & HTML
Product: Core → Core
You need to log in before you can comment on or make changes to this bug.