Closed Bug 1121129 Opened 5 years ago Closed 5 years ago

Intermittent test_blob_simple.html | application crashed [@ mozilla::dom::workers::WorkerThread::Dispatch] after "Assertion failure: !mOtherThreadDispatchingViaEventTarget, at dom/workers/WorkerThread.cpp:237"

Categories

(Core :: DOM: Workers, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla38
Tracking Status
firefox36 --- unaffected
firefox37 --- fixed
firefox38 --- fixed
firefox-esr31 --- unaffected

People

(Reporter: RyanVM, Assigned: bent.mozilla)

Details

(Keywords: assertion, crash, intermittent-failure)

Attachments

(1 file, 1 obsolete file)

11:13:21 INFO - 210 INFO TEST-OK | dom/indexedDB/test/test_blob_simple.html | took 11795ms
11:13:24 INFO - -*-*- UserCustomizations (child): document created: http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html
11:13:24 INFO - -*-*- UserCustomizations (child): _injectInWindow
11:13:24 INFO - -*-*- UserCustomizations (child): principal status: 1
11:13:27 INFO - ############ ErrorPage.js
11:13:27 INFO - [Parent 706] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
11:13:27 INFO - [Parent 706] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
11:13:28 INFO - [Parent 706] WARNING: NS_ENSURE_TRUE(mCallback) failed: file ../../../gecko/dom/base/nsFrameMessageManager.cpp, line 675
11:13:28 INFO - JavaScript error: chrome://specialpowers/content/SpecialPowersObserver.js, line 103: NS_ERROR_NOT_INITIALIZED: Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIMessageSender.sendAsyncMessage]
11:21:22 INFO - DeviceRunner TEST-UNEXPECTED-FAIL | dom/indexedDB/test/test_blob_simple.html | application timed out after 450.0 seconds with no output
11:21:22 WARNING - PROCESS-CRASH | dom/indexedDB/test/test_blob_simple.html | application crashed [@ mozilla::dom::workers::WorkerThread::Dispatch]
11:21:22 INFO - Crash dump filename: /tmp/tmpN2XpzG/1d0879a9-b109-a2ed-6b6b7633-181907e3.dmp
11:21:22 INFO - Operating system: Android
11:21:22 INFO - 0.0.0 Linux 2.6.29-g41a03df #22 Thu Jun 26 10:59:09 CST 2014 armv7l Android/full/generic:4.0.4.0.4.0.4/OPENMASTER/eng.cltbld.20150113.123412:eng/test-keys
11:21:22 INFO - CPU: arm
11:21:22 INFO - 0 CPUs
11:21:22 INFO - Crash reason: SIGSEGV
11:21:22 INFO - Crash address: 0x0
11:21:22 INFO - Thread 3 (crashed)
11:21:22 INFO - 0 libxul.so!mozilla::dom::workers::WorkerThread::Dispatch [WorkerThread.cpp:8439a009837d : 230 + 0x16]
11:21:22 INFO - r4 = 0x4628b390 r5 = 0x00000000 r6 = 0x4555ff60 r7 = 0x00000000
11:21:22 INFO - r8 = 0x441a2508 r9 = 0x43f5ead0 r10 = 0x441a24b8 fp = 0x43f5ec90
11:21:22 INFO - sp = 0x43f5eac8 lr = 0x41591e8f pc = 0x415adbf2
11:21:22 INFO - Found by: given as instruction pointer in context
11:21:22 INFO - 1 libxul.so!mozilla::ipc::MessagePump::ScheduleWork [MessagePump.cpp:8439a009837d : 156 + 0xb]
11:21:22 INFO - r4 = 0x4570f670 r5 = 0x450a5a60 r6 = 0x43f5eb14 r7 = 0x00000000
11:21:22 INFO - r8 = 0x441a2508 r9 = 0x00000000 r10 = 0x441a24b8 fp = 0x43f5ec90
11:21:22 INFO - sp = 0x43f5eb00 pc = 0x40a2871d
11:21:22 INFO - Found by: call frame info
11:21:22 INFO - 2 libxul.so!MessageLoop::PostTask_Helper [message_loop.cc:8439a009837d : 332 + 0xb]
11:21:22 INFO - r4 = 0x43f5eb18 r5 = 0x450a5a60 r6 = 0x43f5eb14 r7 = 0x00000000
11:21:22 INFO - r8 = 0x441a2508 r9 = 0x00000000 r10 = 0x441a24b8 fp = 0x43f5ec90
11:21:22 INFO - sp = 0x43f5eb08 pc = 0x40a1f97d
11:21:22 INFO - Found by: call frame info
11:21:22 INFO - 3 libxul.so!MessageLoop::PostTask [message_loop.cc:8439a009837d : 266 + 0x9]
11:21:22 INFO - r4 = 0x4400a180 r5 = 0x450a5a60 r6 = 0x44ffcee0 r7 = 0x00000000
11:21:22 INFO - r8 = 0x441a2508 r9 = 0x00000000 r10 = 0x441a24b8 fp = 0x43f5ec90
11:21:22 INFO - sp = 0x43f5eb50 pc = 0x40a1f99d
11:21:22 INFO - Found by: call frame info
11:21:22 INFO - 4 libxul.so!mozilla::ipc::MessageChannel::OnMessageReceivedFromLink [MessageChannel.cpp:8439a009837d : 707 + 0xd]
11:21:22 INFO - r4 = 0x4400a180 r5 = 0x450a5a60 r6 = 0x44ffcee0 r7 = 0x00000000
11:21:22 INFO - r8 = 0x441a2508 r9 = 0x00000000 r10 = 0x441a24b8 fp = 0x43f5ec90
11:21:22 INFO - sp = 0x43f5eb60 pc = 0x40a2f311
11:21:22 INFO - Found by: call frame info
11:21:22 INFO - 5 libxul.so!mozilla::ipc::ProcessLink::OnMessageReceived [MessageLink.cpp:8439a009837d : 307 + 0x7]
11:21:22 INFO - r4 = 0x4648a480 r5 = 0x43f5ec0c r6 = 0x43f5ec8c r7 = 0x00000000
11:21:22 INFO - r8 = 0x00000000 r9 = 0x00000000 r10 = 0x450a30b4 fp = 0x43f5ec90
11:21:22 INFO - sp = 0x43f5ec00 pc = 0x40a2f4bf
11:21:22 INFO - Found by: call frame info 

11:23:28 INFO - 01-13 19:13:26.619 F/MOZ_Assert( 779): Assertion failure: !mOtherThreadDispatchingViaEventTarget, at ../../../gecko/dom/workers/WorkerThread.cpp:237
Attached patch Patch, v1 (obsolete) — Splinter Review
Wow, this is my best guess here. Awesome race.
Assignee: nobody → bent.mozilla
Status: NEW → ASSIGNED
Attachment #8548552 - Flags: review?(khuey)
Attached patch Patch, v1.1Splinter Review
A slight optimization.

But yeah, basically more than one thread can dispatch to a worker at the same time, and the old code assumed only one.
Attachment #8548552 - Attachment is obsolete: true
Attachment #8548552 - Flags: review?(khuey)
Attachment #8548556 - Flags: review?(khuey)
https://hg.mozilla.org/mozilla-central/rev/ca56aea7e10e
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
How far back should we backport this?
Flags: needinfo?(bent.mozilla)
Comment on attachment 8548556 [details] [diff] [review]
Patch, v1.1

Approval Request Comment
[Feature/regressing bug #]: 1054638 
[User impact if declined]: Crash in a pretty rare race condition
[Describe test coverage new/current, TBPL]: We found this from tbpl actually
[Risks and why]: This patch is really simple and safe
[String/UUID change made/needed]: None
Flags: needinfo?(bent.mozilla)
Attachment #8548556 - Flags: approval-mozilla-aurora?
Comment on attachment 8548556 [details] [diff] [review]
Patch, v1.1

Aurora+
Attachment #8548556 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.