Closed Bug 1040288 Opened 10 years ago Closed 10 years ago

Intermittent B2G debug mochitest "ABORT: not on worker thread!: 'mWorkerLoopID == MessageLoop::current()->id()', file ipc/MessageChannel.h, line 362" during test_eventTimeStamp.html, test_bug949946.html, test_bug788369.html, test_bug999456.html

Categories

(Core :: DOM: Workers, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1049801

People

(Reporter: RyanVM, Assigned: bkelly)

References

Details

(Keywords: assertion, crash, intermittent-failure)

Probably not a coincidence that this happened during test_bug1002702.html.

https://tbpl.mozilla.org/php/getParsedLog.php?id=44035701&tree=Mozilla-Central

b2g_emulator_vm mozilla-central debug test mochitest-debug-12 on 2014-07-17 08:31:58 PDT for push f92e4d13b3c6
slave: tst-linux64-spot-647

08:46:40     INFO -  8 INFO TEST-START | /tests/dom/workers/test/test_bug1002702.html
08:46:40     INFO -  [Child 720] WARNING: Transparent content with displayports can be expensive.: file ../../../gecko/layout/base/nsDisplayList.cpp, line 1368
08:46:41     INFO -  [Child 720] WARNING: Failed to retarget HTML data delivery to the parser thread.: file ../../../gecko/parser/html/nsHtml5StreamParser.cpp, line 947
08:46:41     INFO -  [Child 720] WARNING: Transparent content with displayports can be expensive.: file ../../../gecko/layout/base/nsDisplayList.cpp, line 1368
08:46:42     INFO -  [Child 720] WARNING: Called close() before start()!: 'mStarted', file ../../../gecko/dom/workers/MessagePort.cpp, line 214
08:46:43     INFO -  [Child 720] WARNING: Transparent content with displayports can be expensive.: file ../../../gecko/layout/base/nsDisplayList.cpp, line 1368
08:46:43     INFO -  [Child 720] WARNING: Unable to printf the requested string due to error.: file ../../../gecko/ipc/chromium/src/base/string_util.cc, line 427
08:46:44     INFO -  [Child 720] WARNING: Transparent content with displayports can be expensive.: file ../../../gecko/layout/base/nsDisplayList.cpp, line 1368
08:46:44     INFO -  9 INFO TEST-INFO | MEMORY STAT vsize after test: 105623552
08:46:44     INFO -  10 INFO TEST-INFO | MEMORY STAT residentFast after test: 52449280
08:46:45     INFO -  11 INFO TEST-INFO | MEMORY STAT heapAllocated after test: 15561492
08:46:45     INFO -  [Child 720] ###!!! ABORT: not on worker thread!: 'mWorkerLoopID == MessageLoop::current()->id()', file ../../dist/include/mozilla/ipc/MessageChannel.h, line 362
I'll look at this next when I return from PTO next week.
Assignee: nobody → bkelly
Blocks: 1013571
Status: NEW → ASSIGNED
This is essentially a failed MessageChannel::AssertWorkerThread() which gets called from many different paths.  We're probably going to need a stack or a lot of instrumentation to determine what is happening here.
I believe this is a rare case where MessageChannel::OnChannelConnected() is called after the IPC actor is destroyed.
If we can reproduce this, then we might be able to use the patch from bug 969146 to get a stack out of the b2g emulator failure.
So far I have not been able to reproduce this outside of my suspect patches to close the actor soon.  Since we're not going with that solution its unclear to me if thats actually the same error or not.

At this point I'm inclined to wait and see if this manifests again.  So far we've only seen 3 stacks over 3 weeks and none in the last 10 days.
So far the try build in bug 1049801 comment 31 seems to address this.  Triggering a few more runs.
https://tbpl.mozilla.org/php/getParsedLog.php?id=46328848&tree=Mozilla-Inbound
Summary: Intermittent B2G debug mochitest "ABORT: not on worker thread!: 'mWorkerLoopID == MessageLoop::current()->id()', file ../../dist/include/mozilla/ipc/MessageChannel.h, line 362" → Intermittent B2G debug mochitest "ABORT: not on worker thread!: 'mWorkerLoopID == MessageLoop::current()->id()', file ../../dist/include/mozilla/ipc/MessageChannel.h, line 362" during test_eventTimeStamp.html, test_bug949946.html, test_bug788369.html
Summary: Intermittent B2G debug mochitest "ABORT: not on worker thread!: 'mWorkerLoopID == MessageLoop::current()->id()', file ../../dist/include/mozilla/ipc/MessageChannel.h, line 362" during test_eventTimeStamp.html, test_bug949946.html, test_bug788369.html → Intermittent B2G debug mochitest "ABORT: not on worker thread!: 'mWorkerLoopID == MessageLoop::current()->id()', file ipc/MessageChannel.h, line 362" during test_eventTimeStamp.html, test_bug949946.html, test_bug788369.html, test_bug999456.html
Looks like this was indeed fixed by bug 1049801.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.