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)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jgriffin, Assigned: vicamo)

References

Details

Attachments

(1 file)

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
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
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)
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.
(In reply to Josh Matthews [:jdm] from comment #3) Thank you! Working on it.
Flags: needinfo?(vyang)
Attached patch patch : WIP (deleted) — Splinter Review
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)
Attachment #830117 - Flags: feedback?(josh) → feedback+
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.
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)
(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.
(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.
I just landed this on cedar; we'll see what happens.
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.

Attachment

General

Created:
Updated:
Size: