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.