Closed
Bug 934009
Opened 11 years ago
Closed 7 years ago
mochitest chunk 4 shutdown crash on debug B2G
Categories
(Firefox OS Graveyard :: General, defect)
Firefox OS Graveyard
General
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: jgriffin, Assigned: vicamo)
References
Details
Attachments
(1 file)
(deleted),
patch
|
jdm
:
feedback+
|
Details | Diff | Splinter Review |
On debug B2G emulators, gecko crashes during shutdown after mochitest chunk 4 is run:
16:11:57 INFO - 11-01 23:10:07.852 867 867 I GeckoDump: 15126 INFO TEST-START | Shutdown
16:11:57 INFO - 11-01 23:10:07.862 867 867 I GeckoDump: 15127 INFO Passed: 22818
16:11:57 INFO - 11-01 23:10:07.872 867 867 I GeckoDump: 15128 INFO Failed: 1
16:11:57 INFO - 11-01 23:10:07.892 867 867 I GeckoDump: 15129 INFO Todo: 482
16:11:57 INFO - 11-01 23:10:07.892 867 867 I GeckoDump: 15130 INFO Slowest: 286139ms - /tests/dom/tests/mochitest/ajax/prototype/test_Prototype.html
16:11:57 INFO - 11-01 23:10:07.913 867 867 I GeckoDump: 15131 INFO SimpleTest FINISHED
16:11:57 INFO - 11-01 23:10:07.943 867 867 I GeckoDump: 15132 INFO TEST-INFO | Ran 1 Loops
16:11:57 INFO - 11-01 23:10:07.973 867 867 I GeckoDump: 15133 INFO SimpleTest FINISHED
16:11:57 INFO - 11-01 23:10:08.213 785 785 I Gecko : [Parent 785] WARNING: NS_ENSURE_TRUE(mCallback) failed: file ../../../../gecko/content/base/src/nsFrameMessageManager.cpp, line 601
16:11:57 INFO - 11-01 23:10:08.273 785 785 I Gecko : [Parent 785] WARNING: NS_ENSURE_TRUE(mCallback) failed: file ../../../../gecko/content/base/src/nsFrameMessageManager.cpp, line 601
16:11:57 INFO - 11-01 23:10:10.163 867 867 I Gecko : [Child 867] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file ../../../../gecko/embedding/browser/webBrowser/nsWebBrowser.cpp, line 366
16:11:57 INFO - 11-01 23:10:10.173 867 867 I Gecko : [Child 867] WARNING: NS_ENSURE_TRUE(domWindow) failed: file ../../../../gecko/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 86
16:11:57 INFO - 11-01 23:10:11.513 2633 2633 I log : OOM Message Logger Started
16:11:57 INFO - 11-01 23:10:11.973 785 785 I Gecko : [Parent 785] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
16:11:57 INFO - 11-01 23:10:11.973 785 785 I Gecko : [Parent 785] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
16:11:57 INFO - 11-01 23:10:11.973 785 785 I Gecko : [Parent 785] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
16:11:57 INFO - 11-01 23:10:11.973 785 785 I Gecko : [Parent 785] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
16:11:57 INFO - 11-01 23:10:11.993 785 785 I Gecko : [Parent 785] WARNING: NS_ENSURE_TRUE(mRegistered) failed: file ../../../gecko/dom/telephony/ipc/TelephonyParent.cpp, line 84
16:11:57 WARNING - 11-01 23:10:12.223 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.253 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.293 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.323 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.373 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.383 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.423 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.453 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.483 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.503 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.553 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.583 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.622 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 INFO - 11-01 23:10:12.662 785 785 I Gecko : [Parent 785] WARNING: An event was posted to a thread that will never run it (rejected): file ../../../gecko/xpcom/threads/nsThread.cpp, line 353
16:11:57 INFO - 11-01 23:10:12.662 785 785 I Gecko : [Parent 785] WARNING: unable to post continuation event: file ../../../gecko/xpcom/io/nsStreamUtils.cpp, line 441
16:11:57 WARNING - 11-01 23:10:12.672 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.722 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.733 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.772 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.812 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.832 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.882 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.913 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.942 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.983 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:12.993 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:13.043 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:13.063 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:13.093 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:13.143 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:13.153 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 WARNING - 11-01 23:10:13.183 867 867 E GeckoConsole: [JavaScript Error: "NS_ERROR_INVALID_POINTER: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIContentFrameMessageManager.content]" {file: "chrome://global/content/BrowserElementChildPreload.js" line: 277}]
16:11:57 INFO - 11-01 23:10:15.083 867 867 I GonkMemoryPressure: Observed XPCOM shutdown.
16:11:57 INFO - 11-01 23:10:15.772 867 867 I Gecko : [Child 867] ###!!! ABORT: corrupted actor state: file PTelephony.cpp, line 35
16:11:57 INFO - 11-01 23:10:15.812 867 867 E Gecko : mozalloc_abort: [Child 867] ###!!! ABORT: corrupted actor state: file PTelephony.cpp, line 35
16:11:57 INFO - 11-01 23:10:15.822 867 867 F MOZ_CRASH: Hit MOZ_CRASH() at ../../../gecko/memory/mozalloc/mozalloc_abort.cpp:30
full log: https://tbpl.mozilla.org/php/getParsedLog.php?id=29997193&full=1&branch=cedar#error4
Reporter | ||
Comment 1•11 years ago
|
||
This also appears in the log:
16:11:43 INFO - [Child 867] ###!!! ABORT: corrupted actor state: file PTelephony.cpp, line 35
16:11:43 INFO - UNKNOWN [libxul.so +0x00f435d6]
16:11:43 INFO - UNKNOWN [libxul.so +0x00f479e2]
16:11:43 INFO - UNKNOWN [libxul.so +0x00a1d12e]
16:11:43 INFO - UNKNOWN [libxul.so +0x00a1d14c]
16:11:43 INFO - UNKNOWN [libxul.so +0x00a1ce30]
16:11:43 INFO - UNKNOWN [libxul.so +0x002c3640]
16:11:43 INFO - UNKNOWN [libxul.so +0x002c4da0]
16:11:43 INFO - UNKNOWN [libxul.so +0x011e8ae4]
16:11:43 INFO - UNKNOWN [libxul.so +0x011e7590]
16:11:43 INFO - UNKNOWN [libxul.so +0x011bcaac]
16:11:43 INFO - UNKNOWN [libxul.so +0x011e859a]
16:11:43 INFO - UNKNOWN [libxul.so +0x011e85f0]
16:11:43 INFO - UNKNOWN [libxul.so +0x011bf03c]
16:11:43 INFO - NS_ShutdownXPCOM+0x00000005 [libxul.so +0x011bf34a]
16:11:43 INFO - XRE_TermEmbedding+0x0000003f [libxul.so +0x002cbe20]
16:11:43 INFO - UNKNOWN [libxul.so +0x00e7e8dc]
16:11:43 INFO - UNKNOWN [libxul.so +0x00e54c42]
16:11:43 INFO - XRE_InitChildProcess+0x0000053d [libxul.so +0x002cbd22]
16:11:43 INFO - UNKNOWN [/system/b2g/plugin-container +0x0000878a]
16:11:43 INFO - __libc_init+0x00000029 [libc.so +0x00016742]
16:11:43 INFO - Segmentation fault
Comment 2•11 years ago
|
||
Vicamo, we're getting a crash and "ABORT: corrupted actor state: file PTelephony.cpp, line 35" is in the log.
Is this specific to PTelephony.ipdl or do you think it's a more general IPC issue? Or is the PTelephony bit a red herring?
Thanks!
Assignee: nobody → vyang
Flags: needinfo?(vyang)
Comment 3•11 years ago
|
||
There's a problem here: TelephonyIPCProvider creates a TelephonyChild in its constructor, and this child holds a strong reference to its creator. It doesn't call Send__delete__ until ~TelephonyIPCProvider, but that won't happen as long as TelephonyChild's mListener is non-null. It's cleared during ActorDestroy (ie. IPDL has decided to tear down everything), so calling Send__delete__ at this point is bad news.
Assignee | ||
Comment 4•11 years ago
|
||
(In reply to Josh Matthews [:jdm] from comment #3)
Thank you! Working on it.
Flags: needinfo?(vyang)
Assignee | ||
Comment 5•11 years ago
|
||
1) Don't call Send__delete__ in ~TelephonyIPCProvider.
2) Remove the mPTelephonyChild pointer and let TelephonyChild manage it. When |ActorDestroy()| is called, nullize sSingleton and set sActorDestroyed to true. Further calls to |GetSingleton()| will then always return nullptr. Have TelephonyIPCProvider check its validity in every IPC call.
Jonathan, do you have a line of command to run mochitest-4 locally? Don't know how/what to do to specify the crashing test case.
Attachment #830117 -
Flags: feedback?(josh)
Attachment #830117 -
Flags: feedback?(jgriffin)
Updated•11 years ago
|
Attachment #830117 -
Flags: feedback?(josh) → feedback+
Reporter | ||
Comment 6•11 years ago
|
||
You can use the mach command, see https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/Mochitests#Running_mochitests_on_B2G_device_and_emulator_builds
The additional options you need are --total-chunks 9 --this-chunk 4.
Alternately, you could land your patch directly on cedar and see if it clears up the crash; cedar is not merged to m-c so landing a bad patch on it isn't dangerous as long as it gets backed out eventually.
Reporter | ||
Comment 7•11 years ago
|
||
Comment on attachment 830117 [details] [diff] [review]
patch : WIP
Review of attachment 830117 [details] [diff] [review]:
-----------------------------------------------------------------
I'm not really qualified to review this; let's land on cedar and see if the crash goes away!
Attachment #830117 -
Flags: feedback?(jgriffin)
Assignee | ||
Comment 8•11 years ago
|
||
(In reply to Jonathan Griffin (:jgriffin) from comment #6)
> You can use the mach command, see
> https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/
> Automated_testing/
> Mochitests#Running_mochitests_on_B2G_device_and_emulator_builds
>
> The additional options you need are --total-chunks 9 --this-chunk 4.
Thank you. So I just had:
$ ./mach mochitest-remote --total-chunks 9 --this-chunk 4
Am I right? But I can neither find "test_location.html" nor "Shutdown" in logcat output.
> Alternately, you could land your patch directly on cedar and see if it
> clears up the crash; cedar is not merged to m-c so landing a bad patch on it
> isn't dangerous as long as it gets backed out eventually.
Sorry, haven't had a chance to land any patch to Cedar before. Does that mean I can land any patch to Cedar, and have another revert patch right after? Had a short examine on Cedar commit log, can't really find such thing. It's tip commit has "Merge b2g-inbound to m-c". Doesn't look like a disposable branch.
Reporter | ||
Comment 9•11 years ago
|
||
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #8)
> (In reply to Jonathan Griffin (:jgriffin) from comment #6)
> > You can use the mach command, see
> > https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/
> > Automated_testing/
> > Mochitests#Running_mochitests_on_B2G_device_and_emulator_builds
> >
> > The additional options you need are --total-chunks 9 --this-chunk 4.
>
> Thank you. So I just had:
>
> $ ./mach mochitest-remote --total-chunks 9 --this-chunk 4
>
> Am I right? But I can neither find "test_location.html" nor "Shutdown" in
> logcat output.
That's odd. If you attach a logcat, I can try to figure out what happened.
>
> > Alternately, you could land your patch directly on cedar and see if it
> > clears up the crash; cedar is not merged to m-c so landing a bad patch on it
> > isn't dangerous as long as it gets backed out eventually.
>
> Sorry, haven't had a chance to land any patch to Cedar before. Does that
> mean I can land any patch to Cedar, and have another revert patch right
> after? Had a short examine on Cedar commit log, can't really find such
> thing. It's tip commit has "Merge b2g-inbound to m-c". Doesn't look like a
> disposable branch.
Yes, you can commit and revert later. We merge m-c to cedar, but cedar is never merged elsewhere. Cedar is a disposable branch, but we try to keep it cleaner than you might otherwise expect since we use it verify a number of different things.
Reporter | ||
Comment 10•11 years ago
|
||
I just landed this on cedar; we'll see what happens.
Comment 11•7 years ago
|
||
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•