7.58 KB, text/plain
15.46 KB, text/plain
11.42 KB, patch
|Details | Diff | Splinter Review|
1.36 KB, patch
|Details | Diff | Splinter Review|
Created attachment 8647464 [details] gdb bt Seen on current trunk on aries with debug gecko and monkey testing.
Can you get a backtrace for the main thread too?
Hm thats interesting. 2 PA processes: root@aries:/ # b2g-ps APPLICATION SEC USER PID PPID VSIZE RSS WCHAN PC NAME b2g 0 root 5131 1 340116 131532 ffffffff b6ea72d4 t /system/b2g/b2g (Nuwa) 0 root 5138 5131 116028 26012 ffffffff b6ea6a60 S /system/b2g/b2g Homescreen 2 u0_a5468 5468 5138 148500 51608 ffffffff b6ea6894 S /system/b2g/b2g OperatorVariant 2 u0_a5498 5498 5138 131180 39240 ffffffff b6ea6894 S /system/b2g/b2g Built-in Keyboa 2 u0_a5645 5645 5138 139600 44812 ffffffff b6ea6894 S /system/b2g/b2g Usage 2 u0_a6313 6313 5138 133480 42136 ffffffff b6ea6894 S /system/b2g/b2g Find My Device 2 u0_a7362 7362 5138 130904 40420 ffffffff b6ea6894 S /system/b2g/b2g Browser 2 u0_a7709 7709 5138 136116 43668 ffffffff b6ea6894 S /system/b2g/b2g (Preallocated a 0 u0_a8226 8226 5138 119248 15760 ffffffff b6ea6a60 S /system/b2g/b2g (Preallocated a 0 u0_a8248 8248 5138 119248 15588 ffffffff b6ea6a60 S /system/b2g/b2g root@aries:/ #
Probably not related but I see a bunch of those messages in logcat: W/Nuwa ( 5703): Threads remaining at exit: W/Nuwa ( 5703): Chrome_ChildThr (origNativeThreadID=5225 recreatedNativeThreadID=5704) W/Nuwa ( 5703): ImageBridgeChil (origNativeThreadID=5276 recreatedNativeThreadID=5720) W/Nuwa ( 5703): BufferMgrChild (origNativeThreadID=5277 recreatedNativeThreadID=5721) W/Nuwa ( 5703): total: 3 outstanding threads. Please fix them so they're destroyed before this point! W/Nuwa ( 5703): note: sThreadCount=3, sThreadFreezeCount=18
One more find in logcat from when we hit the assertion: F/MOZ_Assert( 5131): Assertion failure: get() (dereferencing a UniquePtr containing nullptr), at ../../dist/include/mozilla/UniquePtr.h:286
Created attachment 8647998 [details] [diff] [review] Handle the failures of dispatching a runnable in the NuwaParent protocol actor.
(In reply to Cervantes Yu [:cyu] [:cervantes] from comment #10) > https://treeherder.mozilla.org/#/jobs?repo=try&revision=6a361b0d4268 It turns out that using namespace base; in NuwaParent.cpp pollutes CrashReporterParent.cpp and the make windows compiler complain ambiguous usage of vsnprintf() with base::vsnprintf(). Hopefully this should build on Windows.
Created attachment 8649222 [details] [diff] [review] Handle the failures of dispatching a runnable in the NuwaParent protocol actor.
Created attachment 8649822 [details] [diff] [review] Handle the failures of dispatching a runnable in the NuwaParent protocol actor. Update: fix the build failure on windows.
Are you sure that we're actually failing to dispatch to the main thread? That should only fail very very late in shutdown.
From attachment 8647468 [details], the main thread is still running. I don't think it should ever fail dispatching to the main thread. On a closer look I found a race when 2 consecutive NuwaParent::RecvAddNewProcess() messages comes in, but it still doesn't explain the crash in MOZ_ALWAYS_TRUE().
Created attachment 8655399 [details] [diff] [review] A debug instrumentation to trigger a race condition This simulates that when 2 fork requests (one async, one sync) are on the fly. There is a race to trigger a crash in using mNewProcessFds. I am not sure if this is the same crash, but this needs to be fixed.
So ... should I actually review this patch?
(In reply to Kyle Huey [:khuey] (firstname.lastname@example.org) from comment #17) > So ... should I actually review this patch? No. I'll focus on fixing the race first and request review if there is proof that the crash is in dispatching the runnable.
Nuwa is gone after bug 1284674.