Closed Bug 998880 Opened 7 years ago Closed 7 years ago
Thread shouldn't busy-loop in NS _Process Next Event waiting for a thread to shutdown
This bit in nsThread.cpp: // Process events on the current thread until we receive a shutdown ACK. while (!context.shutdownAck) NS_ProcessNextEvent(context.joiningThread); This busy-loops, since it doesn't let NS_ProcessNextEvent wait. (add a ', true' to allow waiting) The same issue applies to DISPATCH_SYNC Busy-looping here just slows down what we want to happen...
Comment on attachment 8409575 [details] [diff] [review] don't busy-wait in nsThread waiting for shutdown or DISPATCH_SYNC did some basic local smoketests before submitting Try
Attachment #8409575 - Flags: review?(benjamin)
So it looks like this triggers an issue in js::ctypes::ConvertToJS() and a repeatable test failure in content/chrome/js/xpconnect/tests/chrome/test_bug853571.xul Interesting....
The ConvertToJS() failure in content/chrome/dom/ipc/tests/test_process_error.xul looks very interesting (since I can't think of much that *should* be sensitive to changing from busy-wait to wait)
Looks like https://tbpl.mozilla.org/?tree=Try&rev=5ee6e8a11a7e implies the base I used simply has a perma-orange (off inbound) for the xpconnect orange
The ConvertToJs() failure is an intentional ctypes test crash in http://mxr.mozilla.org/mozilla-central/source/dom/ipc/tests/process_error_contentscript.js Per IRC with bent, we need to find out how to annotate this to ASAN to avoid it kicking on this.
Updated Try, expect ASAN failure still https://tbpl.mozilla.org/?tree=Try&rev=9847c1eb3bf0
Hmm, no ASAN error. retriggering. Maybe I just picked a poor base
Ok, it's green in the Try. However: the ASAN oth run still hits the asan failure - but it does on inbound, as well. So it has nothing to do with my patch.
Comment on attachment 8409575 [details] [diff] [review] don't busy-wait in nsThread waiting for shutdown or DISPATCH_SYNC I checked both of these cases and they dispatch back to the main thread, so I think this is safe from deadlock. But boy is it grimy.
Attachment #8409575 - Flags: review?(benjamin) → review+
Target Milestone: --- → mozilla31
Assignee: nobody → rjesup
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.