Open Bug 933867 Opened 11 years ago Updated 2 years ago

ABORT: ActorDestroy by IPC channel failure at LayerTransactionChild

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect

Tracking

()

People

(Reporter: gwagner, Unassigned)

References

Details

This crashes constantly with our debug-emulator build running mochitests:
https://tbpl.mozilla.org/php/getParsedLog.php?id=29959144&tree=Pine&full=1#error12

The log is a little bit hard to read since the Test output and the logcat is separated.
It seems like we are hitting this during shutdown for a test.

02:36:06     INFO -  43136 INFO TEST-START | Shutdown
02:36:06     INFO -  43137 INFO Passed:  50423
02:36:06  WARNING -  43138 INFO Failed:  7
02:36:06  WARNING -  One or more unittests failed.
02:36:06     INFO -  43139 INFO Todo:    6480
02:36:06     INFO -  43140 INFO Slowest: 353612ms - (SimpleTest/TestRunner.js)
02:36:06     INFO -  43141 INFO SimpleTest FINISHED
02:36:06     INFO -  43142 INFO TEST-INFO | Ran 1 Loops
02:36:06     INFO -  43143 INFO SimpleTest FINISHED
02:36:06     INFO -  ++DOMWINDOW == 9 (0x4400d61c) [serial = 1481] [outer = 0x4401053c]
02:36:06     INFO -  --DOCSHELL 0x469ef000 == 2 [id = 3]
02:36:06     INFO -  --DOCSHELL 0x44be3000 == 1 [id = 2]
02:36:06     INFO -  [Child 707] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file ../../../../gecko/embedding/browser/webBrowser/nsWebBrowser.cpp, line 366
02:36:06     INFO -  [Child 707] WARNING: NS_ENSURE_TRUE(domWindow) failed: file ../../../../gecko/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 86
02:36:06     INFO -  NOTE: child process received `Goodbye', closing down
02:36:06     INFO -  [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:36:06     INFO -  [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:36:06     INFO -  [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:36:06     INFO -  [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:36:06     INFO -  [Parent 665] WARNING: NS_ENSURE_TRUE(mRegistered) failed: file ../../../gecko/dom/telephony/ipc/TelephonyParent.cpp, line 84
02:36:06     INFO -  --DOCSHELL 0x454aec00 == 0 [id = 1]
02:36:06     INFO -  [Parent 665] WARNING: An event was posted to a thread that will never run it (rejected): file ../../../gecko/xpcom/threads/nsThread.cpp, line 353
02:36:06     INFO -  [Parent 665] WARNING: unable to post continuation event: file ../../../gecko/xpcom/io/nsStreamUtils.cpp, line 441
02:36:06     INFO -  Segmentation fault
02:36:06     INFO -  --DOCSHELL 0x44d6f800 == 4 [id = 329]
02:36:06     INFO -  [Child 707] ###!!! ABORT: ActorDestroy by IPC channel failure at LayerTransactionChild: file ../../../gecko/gfx/layers/ipc/LayerTransactionChild.cpp, line 94
02:36:06     INFO -  UNKNOWN [libxul.so +0x0127dfaa]
02:36:06     INFO -  UNKNOWN [libxul.so +0x00ef80de]
02:36:06     INFO -  UNKNOWN [libxul.so +0x00e92bfa]
02:36:06     INFO -  UNKNOWN [libxul.so +0x00e92c22]
02:36:06     INFO -  UNKNOWN [libxul.so +0x00e77a8c]
02:36:06     INFO -  UNKNOWN [libxul.so +0x00e7850e]
02:36:06     INFO -  UNKNOWN [libxul.so +0x008c6782]
02:36:06     INFO -  UNKNOWN [libxul.so +0x01211e2c]
02:36:06     INFO -  UNKNOWN [libxul.so +0x01212522]
02:36:06     INFO -  UNKNOWN [libxul.so +0x01213168]
02:36:06     INFO -  UNKNOWN [libxul.so +0x00e7bf3c]
02:36:06     INFO -  UNKNOWN [libxul.so +0x011e9b84]
02:37:16     INFO -  UNKNOWNMochitest INFO | runtestsb2g.py | Running tests: end.
02:38:34     INFO -   [libxul.so +0x011b5896]
02:38:34     INFO -  UNKNOWN [libxul.so +0x00e7c100]
02:38:34     INFO -  UNKNOWN [libxul.so +0x00e7c280]
02:38:34     INFO -  UNKNOWN [libxul.so +0x01212336]
02:38:34     INFO -  UNKNOWN [libxul.so +0x0121234e]
02:38:34     INFO -  UNKNOWN [libxul.so +0x00e006a6]
02:38:34     INFO -  XRE_RunAppShell+0x0000002d [libxul.so +0x002cae9e]
02:38:34     INFO -  UNKNOWN [libxul.so +0x00e7c1ea]
02:38:34     INFO -  UNKNOWN [libxul.so +0x01212336]
02:38:34     INFO -  UNKNOWN [libxul.so +0x0121234e]
02:38:34     INFO -  XRE_InitChildProcess+0x00000517 [libxul.so +0x002cb77c]
02:38:34     INFO -  UNKNOWN [/system/b2g/plugin-container +0x00008786]


and the corresponding logcat:
02:39:35     INFO -  11-01 09:35:43.280   707   707 I GeckoDump: 43143 INFO SimpleTest FINISHED
02:39:35     INFO -  11-01 09:35:45.080   707   707 I Gecko   : [Child 707] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file ../../../../gecko/embedding/browser/webBrowser/nsWebBrowser.cpp, line 366
02:39:35     INFO -  11-01 09:35:45.100   707   707 I Gecko   : [Child 707] WARNING: NS_ENSURE_TRUE(domWindow) failed: file ../../../../gecko/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 86
02:39:35     INFO -  11-01 09:35:47.190   665   665 I Gecko   : [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:39:35     INFO -  11-01 09:35:47.190   665   665 I Gecko   : [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:39:35     INFO -  11-01 09:35:47.200   665   665 I Gecko   : [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:39:35     INFO -  11-01 09:35:47.210   665   665 I Gecko   : [Parent 665] WARNING: RemoveObserver() called for unregistered observer: file ../../gecko/hal/Hal.cpp, line 205
02:39:35     INFO -  11-01 09:35:47.210   665   665 I Gecko   : [Parent 665] WARNING: NS_ENSURE_TRUE(mRegistered) failed: file ../../../gecko/dom/telephony/ipc/TelephonyParent.cpp, line 84
02:39:35     INFO -  11-01 09:35:47.500   665   665 I Gecko   : [Parent 665] WARNING: An event was posted to a thread that will never run it (rejected): file ../../../gecko/xpcom/threads/nsThread.cpp, line 353
02:39:35     INFO -  11-01 09:35:47.500   665   665 I Gecko   : [Parent 665] WARNING: unable to post continuation event: file ../../../gecko/xpcom/io/nsStreamUtils.cpp, line 441
02:39:35     INFO -  11-01 09:35:57.520   665   864 E Profiler: BPUnw: [1 total] thread_unregister_for_profiling(me=0x23e60)  (NOT REGISTERED)
02:39:35     INFO -  11-01 09:35:57.580   665   688 I Gecko   : VBOArena::Flush for 6 VBOs
02:39:35     INFO -  11-01 09:35:57.580   665   688 I Gecko   : Destroying context 0x485b59a0 surface 0x485b5970 on display 0x1
02:39:35     INFO -  11-01 09:36:02.370    33    33 I ServiceManager: service 'media.resource_manager' died
02:39:35     INFO -  11-01 09:36:05.620   707   707 I Gecko   : [Child 707] ###!!! ABORT: ActorDestroy by IPC channel failure at LayerTransactionChild: file ../../../gecko/gfx/layers/ipc/LayerTransactionChild.cpp, line 94
02:39:35     INFO -  11-01 09:36:05.660   707   707 E Gecko   : mozalloc_abort: [Child 707] ###!!! ABORT: ActorDestroy by IPC channel failure at LayerTransactionChild: file ../../../gecko/gfx/layers/ipc/LayerTransactionChild.cpp, line 94
02:39:35     INFO -  11-01 09:36:05.670   707   707 F MOZ_CRASH: Hit MOZ_CRASH() at ../../../gecko/memory/mozalloc/mozalloc_abort.cpp:30
02:39:35    ERROR -  11-01 09:36:05.680   707   707 F libc    : Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
02:39:35    ERROR -  This usually indicates the B2G process has crashed
Blocks: 933355
Gregor, is this a recent problem/regression?  If so, it could be related to the fix for bug 914823?
Flags: needinfo?(anygregor)
A stack trace would be very useful!
(In reply to Milan Sreckovic [:milan] from comment #1)
> Gregor, is this a recent problem/regression?  If so, it could be related to
> the fix for bug 914823?

It happened before landing bug 914823. afaik we saw it when we enabled mochitests on emulator debug builds so we don't have a regression range.



(In reply to Benoit Jacob [:bjacob] from comment #2)
> A stack trace would be very useful!


Yep people are working on getting stacks on emulators.
Flags: needinfo?(anygregor)
The crash is due to an NS_RUNTIMEABORT that Sotaro added in bug 860892 and I recently made b2g only in bug 925324. We crash here because we know that if we hit this code, then we will only crash later due to our poor management of gralloc (that only happens on b2g, we can recover on other platforms which is why I changed the abort to runtime only). Once we fix gralloc, we can remove this abort. In the meantime, I'm not sure if this is worth looking at - it is the child process crashing, which is not too bad for us (right? The parent should survive, I hope) and because it is due to abnormal IPC shutdown anyway, bad things are about to happen in any case.

Perhaps Sotaro can confirm my understanding and add anything else?
Flags: needinfo?(sotaro.ikeda.g)
My understanding is the we have "fixed gralloc"...
(In reply to Nick Cameron [:nrc] from comment #4)
> The crash is due to an NS_RUNTIMEABORT that Sotaro added in bug 860892 and I
> recently made b2g only in bug 925324. We crash here because we know that if
> we hit this code, then we will only crash later due to our poor management
> of gralloc (that only happens on b2g, we can recover on other platforms
> which is why I changed the abort to runtime only). Once we fix gralloc, we
> can remove this abort. In the meantime, I'm not sure if this is worth
> looking at - it is the child process crashing, which is not too bad for us
> (right? The parent should survive, I hope) and because it is due to abnormal
> IPC shutdown anyway, bad things are about to happen in any case.
> Perhaps Sotaro can confirm my understanding and add anything else?

We can not remove this just by fixing gralloc. Fixing all IPC objects in gfx layers are necessary. Like Bug 933082 seems also necessary. Something caused IPC failure, the failure causes IPC channel shutdown. It causes this NS_RUNTIMEABORT.
Flags: needinfo?(sotaro.ikeda.g)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.