Closed Bug 1226477 Opened 9 years ago Closed 8 years ago

Intermittent e10s PROCESS-CRASH | Main app process exited normally | application crashed [@ mozilla::ipc::BackgroundChildImpl::ProcessingError(mozilla::ipc::HasResultCodes::Result, char const*)]

Categories

(Core :: IPC, defect, P2)

defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
e10s + ---
firefox45 --- wontfix
firefox46 --- wontfix
firefox47 --- wontfix
firefox48 --- disabled
firefox49 --- disabled
firefox-esr45 --- unaffected
firefox50 --- disabled

People

(Reporter: philor, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

https://treeherder.mozilla.org/logviewer.html#?job_id=17565500&repo=mozilla-inbound 14:33:02 INFO - 1361 INFO TEST-OK | dom/base/test/test_xhr_withCredentials.html | took 273ms 14:33:02 INFO - ++DOMWINDOW == 17 (0x7fd1a3b41c00) [pid = 4477] [serial = 2299] [outer = 0x7fd1a463a000] 14:33:02 INFO - ++DOMWINDOW == 18 (0x7fd1a3b42c00) [pid = 4477] [serial = 2300] [outer = 0x7fd1a463a000] 14:33:02 INFO - [Parent 4423] WARNING: '!aObserver', file /builds/slave/m-in-l64-d-0000000000000000000/build/src/xpcom/ds/nsObserverService.cpp, line 261 14:33:02 INFO - 1447972382333 addons.xpi WARN Exception running bootstrap method shutdown on special-powers@mozilla.org: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIObserverService.removeObserver]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: resource://gre/modules/RemoteAddonsParent.jsm :: ObserverInterposition.methods.removeObserver :: line 388" data: no] Stack trace: ObserverInterposition.methods.removeObserver()@resource://gre/modules/RemoteAddonsParent.jsm:388 < AddonInterpositionService.prototype.interposeProperty/desc.value()@resource://gre/components/multiprocessShims.js:160 < SpecialPowersObserver.prototype.uninit/<()@SpecialPowersObserver.jsm:149 < SpecialPowersObserver.prototype.uninit()@SpecialPowersObserver.jsm:148 < shutdown()@resource://gre/modules/addons/XPIProvider.jsm -> file:///tmp/tmpHX0Cmm.mozrunner/extensions/special-powers@mozilla.org/bootstrap.js:35 < XPI_callBootstrapMethod()@resource://gre/modules/addons/XPIProvider.jsm:4475 < shutdownObserver()@resource://gre/modules/addons/XPIProvider.jsm:2716 < SpecialPowersObserver.prototype.receiveMessage()@SpecialPowersObserver.jsm:260 < permitUnload()@remote-browser.xml:322 < CanCloseWindow()@browser.js:17083 < canClose()@browser.js:15805 < SpecialPowersObserver.prototype.receiveMessage()@SpecialPowersObserver.jsm:260 14:33:02 INFO - --DOCSHELL 0x7fa7614dc800 == 6 [pid = 4423] [id = 6] 14:33:02 INFO - JavaScript error: resource://gre/modules/PerformanceStats.jsm, line 208: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIPerformanceStatsService.isMonitoringJank] 14:33:02 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 14:33:03 INFO - --DOCSHELL 0x7fa77a423800 == 5 [pid = 4423] [id = 1] 14:33:04 INFO - --DOCSHELL 0x7fa76324a800 == 4 [pid = 4423] [id = 7] 14:33:04 INFO - --DOCSHELL 0x7fa76af82800 == 3 [pid = 4423] [id = 3] 14:33:04 INFO - --DOCSHELL 0x7fa7685d7000 == 2 [pid = 4423] [id = 12] 14:33:04 INFO - --DOCSHELL 0x7fa76af83000 == 1 [pid = 4423] [id = 4] 14:33:05 INFO - ]: --DOCSHELL 0x7fd1980bd000 == 4 [pid = 4477] [id = 95] 14:33:05 INFO - ###!!! [Child][MessageChannel] Error: (msgtype=0x9E0027,name=PNecko::Msg_RemoveSchedulingContext) Closed channel: cannot send/recv 14:33:05 INFO - [Child 4477] WARNING: MsgDropped in ContentChild: file /builds/slave/m-in-l64-d-0000000000000000000/build/src/dom/ipc/ContentChild.cpp, line 2213 14:33:05 INFO - --DOCSHELL 0x7fd195a1d800 == 3 [pid = 4477] [id = 291] 14:33:05 INFO - ###!!! [Child][MessageChannel] Error: (msgtype=0x9E0027,name=PNecko::Msg_RemoveSchedulingContext) Closed channel: cannot send/recv 14:33:05 INFO - [Child 4477] WARNING: MsgDropped in ContentChild: file /builds/slave/m-in-l64-d-0000000000000000000/build/src/dom/ipc/ContentChild.cpp, line 2213 14:33:05 INFO - --DOCSHELL 0x7fd1980ba800 == 2 [pid = 4477] [id = 343] 14:33:05 INFO - ###!!! [Child][MessageChannel] Error: (msgtype=0x9E0027,name=PNecko::Msg_RemoveSchedulingContext) Closed channel: cannot send/recv 14:33:05 INFO - [Child 4477] WARNING: MsgDropped in ContentChild: file /builds/slave/m-in-l64-d-0000000000000000000/build/src/dom/ipc/ContentChild.cpp, line 2213 14:33:05 INFO - JavaScript error: resource://gre/modules/PerformanceStats.jsm, line 492: Error: forget() called twice 14:33:05 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 14:33:05 INFO - [Child 4477] WARNING: NS_ENSURE_TRUE(context) failed: file /builds/slave/m-in-l64-d-0000000000000000000/build/src/xpcom/threads/nsThread.cpp, line 769 14:33:05 INFO - ###!!! [Child][MessageChannel] Error: (msgtype=0x1E0001,name=PBlob::Msg___delete__) Closed channel: cannot send/recv 14:33:05 INFO - Hit MOZ_CRASH(MsgDropped) at /builds/slave/m-in-l64-d-0000000000000000000/build/src/ipc/glue/BackgroundChildImpl.cpp:134 14:33:05 INFO - #01: mozilla::ipc::MessageChannel::ReportConnectionError(char const*, IPC::Message*) const [xpcom/glue/Monitor.h:121] 14:33:05 INFO - #02: mozilla::ipc::MessageChannel::Send(IPC::Message*) [ipc/glue/MessageChannel.cpp:558] 14:33:05 INFO - #03: mozilla::dom::PBlobChild::Send__delete__(mozilla::dom::PBlobChild*) [obj-firefox/ipc/ipdl/PBlobChild.cpp:85] 14:33:05 INFO - #04: mozilla::dom::BlobChild::NoteDyingRemoteBlobImpl() [dom/ipc/Blob.cpp:3547] 14:33:05 INFO - #05: mozilla::dom::BlobChild::RemoteBlobImpl::Destroy() [dom/ipc/Blob.cpp:2214] 14:33:05 INFO - #06: mozilla::dom::BlobChild::RemoteBlobImpl::Release() [dom/ipc/Blob.cpp:2233] 14:33:05 INFO - #07: mozilla::dom::BlobChild::RemoteBlobSliceImpl::~RemoteBlobSliceImpl() [dom/ipc/Blob.cpp:1952] 14:33:05 INFO - #08: mozilla::dom::BlobChild::RemoteBlobSliceImpl::~RemoteBlobSliceImpl() [dom/ipc/Blob.cpp:1952] 14:33:05 INFO - #09: mozilla::dom::BlobChild::RemoteBlobImpl::Destroy() [dom/ipc/Blob.cpp:2214] 14:33:05 INFO - #10: mozilla::dom::BlobChild::RemoteBlobImpl::Release() [dom/ipc/Blob.cpp:2233] 14:33:05 INFO - #11: mozilla::dom::BlobChild::RemoteBlobSliceImpl::Release() [dom/ipc/Blob.cpp:2591] 14:33:05 INFO - #12: mozilla::dom::BlobChild::ActorDestroy(mozilla::ipc::IProtocolManager<mozilla::ipc::IProtocol>::ActorDestroyReason) [dom/ipc/Blob.cpp:3572] 14:33:05 INFO - #13: mozilla::dom::PBlobChild::DestroySubtree(mozilla::ipc::IProtocolManager<mozilla::ipc::IProtocol>::ActorDestroyReason) [obj-firefox/ipc/ipdl/PBlobChild.cpp:612] 14:33:05 INFO - #14: mozilla::ipc::PBackgroundChild::DestroySubtree(mozilla::ipc::IProtocolManager<mozilla::ipc::IProtocol>::ActorDestroyReason) [obj-firefox/ipc/ipdl/PBackgroundChild.cpp:2000] 14:33:05 INFO - #15: mozilla::ipc::PBackgroundChild::OnChannelClose() [obj-firefox/ipc/ipdl/PBackgroundChild.cpp:1882] 14:33:05 INFO - #16: mozilla::ipc::MessageChannel::NotifyChannelClosed() [ipc/glue/MessageChannel.cpp:1953] 14:33:05 INFO - #17: mozilla::ipc::MessageChannel::Close() [ipc/glue/MessageChannel.cpp:1937] 14:33:05 INFO - #18: ChildImpl::ThreadLocalDestructor [ipc/glue/BackgroundImpl.cpp:420] 14:33:05 INFO - #19: PR_SetThreadPrivate [nsprpub/pr/src/threads/prtpd.c:184] 14:33:05 INFO - #20: ChildImpl::Shutdown [ipc/glue/BackgroundImpl.cpp:1626] 14:33:05 INFO - #21: ChildImpl::ShutdownObserver::Observe [ipc/glue/BackgroundImpl.cpp:2114] 14:33:05 INFO - #22: nsObserverList::NotifyObservers(nsISupports*, char const*, char16_t const*) [xpcom/glue/nsTArray.h:358] 14:33:05 INFO - #23: nsObserverService::NotifyObservers(nsISupports*, char const*, char16_t const*) [xpcom/glue/nsTHashtable.h:134] 14:33:05 INFO - #24: mozilla::ShutdownXPCOM(nsIServiceManager*) [xpcom/build/XPCOMInit.cpp:870] 14:33:05 INFO - #25: XRE_TermEmbedding [toolkit/xre/nsEmbedFunctions.cpp:210] 14:33:05 INFO - #26: mozilla::ipc::ScopedXREEmbed::Stop() [ipc/glue/ScopedXREEmbed.cpp:116] 14:33:05 INFO - #27: XRE_InitChildProcess [toolkit/xre/nsEmbedFunctions.cpp:628] 14:33:05 INFO - #28: content_process_main(int, char**) [ipc/contentproc/plugin-container.cpp:240] 14:33:05 INFO - #29: libc.so.6 + 0x2176d 14:33:05 INFO - #30: _start 14:33:06 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 14:33:06 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 14:33:06 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 14:33:06 INFO - [Parent 4423] WARNING: NS_ENSURE_TRUE(context) failed: file /builds/slave/m-in-l64-d-0000000000000000000/build/src/xpcom/threads/nsThread.cpp, line 769 14:33:07 INFO - --DOCSHELL 0x7fa76e5a0800 == 0 [pid = 4423] [id = 2] 14:33:08 INFO - --DOMWINDOW == 13 (0x7fa76878e800) [pid = 4423] [serial = 10] [outer = 0x7fa76ac53400] [url = about:blank] 14:33:08 INFO - --DOMWINDOW == 12 (0x7fa76878f000) [pid = 4423] [serial = 11] [outer = 0x7fa76ac53c00] [url = about:blank] 14:33:08 INFO - --DOMWINDOW == 11 (0x7fa76ac53400) [pid = 4423] [serial = 6] [outer = (nil)] [url = about:blank] 14:33:08 INFO - --DOMWINDOW == 10 (0x7fa76ac53c00) [pid = 4423] [serial = 7] [outer = (nil)] [url = about:blank] 14:33:08 INFO - --DOMWINDOW == 9 (0x7fa76e5d8800) [pid = 4423] [serial = 4] [outer = (nil)] [url = about:blank] 14:33:08 INFO - --DOMWINDOW == 8 (0x7fa774da0c00) [pid = 4423] [serial = 28] [outer = (nil)] [url = about:newtab] 14:33:08 INFO - --DOMWINDOW == 7 (0x7fa77a404c00) [pid = 4423] [serial = 30] [outer = (nil)] [url = about:newtab] 14:33:08 INFO - --DOMWINDOW == 6 (0x7fa761509400) [pid = 4423] [serial = 15] [outer = (nil)] [url = data:application/vnd.mozilla.xul+xml;charset=utf-8,<window%20id='win'/>] 14:33:08 INFO - --DOMWINDOW == 5 (0x7fa76e5d7c00) [pid = 4423] [serial = 3] [outer = (nil)] [url = chrome://browser/content/browser.xul] 14:33:08 INFO - --DOMWINDOW == 4 (0x7fa761351800) [pid = 4423] [serial = 16] [outer = (nil)] [url = about:blank] 14:33:08 INFO - --DOMWINDOW == 3 (0x7fa76459e000) [pid = 4423] [serial = 17] [outer = (nil)] [url = about:blank] 14:33:08 INFO - --DOMWINDOW == 2 (0x7fa761359800) [pid = 4423] [serial = 13] [outer = (nil)] [url = data:application/vnd.mozilla.xul+xml;charset=utf-8,<window%20id='win'/>] 14:33:08 INFO - --DOMWINDOW == 1 (0x7fa77a493400) [pid = 4423] [serial = 1] [outer = (nil)] [url = resource://gre-resources/hiddenWindow.html] 14:33:08 INFO - --DOMWINDOW == 0 (0x7fa76dd0ec00) [pid = 4423] [serial = 5] [outer = (nil)] [url = resource://gre-resources/hiddenWindow.html] 14:33:09 INFO - nsStringStats 14:33:09 INFO - => mAllocCount: 1140985 14:33:09 INFO - => mReallocCount: 133995 14:33:09 INFO - => mFreeCount: 1140985 14:33:09 INFO - => mShareCount: 822020 14:33:09 INFO - => mAdoptCount: 31414 14:33:09 INFO - => mAdoptFreeCount: 31414 14:33:09 INFO - => Process ID: 4423, Thread ID: 140357823522624 14:33:09 INFO - TEST-INFO | Main app process: exit 0 14:33:09 INFO - runtests.py | Application ran for: 0:16:28.668021 14:33:09 INFO - zombiecheck | Reading PID log: /tmp/tmp8GsVg8pidlog 14:33:09 INFO - ==> process 4423 launched child process 4477 14:33:09 INFO - ==> process 4423 launched child process 4799 14:33:09 INFO - zombiecheck | Checking for orphan process with PID: 4477 14:33:09 INFO - zombiecheck | Checking for orphan process with PID: 4799 14:33:23 INFO - mozcrash Saved minidump as /builds/slave/test/build/blobber_upload_dir/3575ca42-d0ae-ba76-5ba336f3-2150ff4b.dmp 14:33:23 INFO - mozcrash Saved app info as /builds/slave/test/build/blobber_upload_dir/3575ca42-d0ae-ba76-5ba336f3-2150ff4b.extra 14:33:23 WARNING - PROCESS-CRASH | Main app process exited normally | application crashed [@ mozilla::ipc::BackgroundChildImpl::ProcessingError(mozilla::ipc::HasResultCodes::Result, char const*)] 14:33:23 INFO - Crash dump filename: /tmp/tmpHX0Cmm.mozrunner/minidumps/3575ca42-d0ae-ba76-5ba336f3-2150ff4b.dmp 14:33:23 INFO - Operating system: Linux 14:33:23 INFO - 0.0.0 Linux 3.2.0-76-generic #111-Ubuntu SMP Tue Jan 13 22:16:09 UTC 2015 x86_64 14:33:23 INFO - CPU: amd64 14:33:23 INFO - family 6 model 62 stepping 4 14:33:23 INFO - 1 CPU 14:33:23 INFO - Crash reason: SIGSEGV 14:33:23 INFO - Crash address: 0x0 14:33:23 INFO - Process uptime: not available 14:33:23 INFO - Thread 0 (crashed) 14:33:23 INFO - 0 libxul.so!mozilla::ipc::BackgroundChildImpl::ProcessingError(mozilla::ipc::HasResultCodes::Result, char const*) [BackgroundChildImpl.cpp:938041e183e5 : 134 + 0x15] 14:33:23 INFO - rax = 0x0000000000000000 rdx = 0x0000000000000000 14:33:23 INFO - rcx = 0x00007fd1b9d8af4d rbx = 0x00007fff309d8860 14:33:23 INFO - rsi = 0x00007fd1ba05ea80 rdi = 0x00007fd1ba05d180 14:33:23 INFO - rbp = 0x00007fff309d88e0 rsp = 0x00007fff309d8860 14:33:23 INFO - r8 = 0x00007fd1c17dd9c0 r9 = 0x6c702f786f666572 14:33:23 INFO - r10 = 0x6e6f632d6e696775 r11 = 0x0000000000000000 14:33:23 INFO - r12 = 0x00007fff309d8880 r13 = 0x0000000000000001 14:33:23 INFO - r14 = 0x00007fd1a5a47878 r15 = 0x00007fd1be647756 14:33:23 INFO - rip = 0x00007fd1bb9d161e 14:33:23 INFO - Found by: given as instruction pointer in context 14:33:23 INFO - 1 libxul.so!mozilla::ipc::MessageChannel::ReportConnectionError(char const*, IPC::Message*) const [MessageChannel.cpp:938041e183e5 : 1704 + 0x19] 14:33:23 INFO - rbx = 0x00007fd1be644dee rbp = 0x00007fff309d8b30 14:33:23 INFO - rsp = 0x00007fff309d88f0 r12 = 0x00007fd1a5a47868 14:33:23 INFO - r13 = 0x00007fd1a5a6e6a0 r14 = 0x00007fd1a5a47878 14:33:23 INFO - r15 = 0x00007fd1be647756 rip = 0x00007fd1bb9dbad2 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 2 libxul.so!mozilla::ipc::MessageChannel::Send(IPC::Message*) [MessageChannel.cpp:938041e183e5 : 558 + 0x5] 14:33:23 INFO - rbx = 0x0000000000000000 rbp = 0x00007fff309d8b70 14:33:23 INFO - rsp = 0x00007fff309d8b40 r12 = 0x00007fd1a5a47878 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bb9e8c71 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 3 libxul.so!mozilla::dom::PBlobChild::Send__delete__(mozilla::dom::PBlobChild*) [PBlobChild.cpp:938041e183e5 : 83 + 0xc] 14:33:23 INFO - rbx = 0x00007fd1944f7e80 rbp = 0x00007fff309d8bc0 14:33:23 INFO - rsp = 0x00007fff309d8b80 r12 = 0x00007fd1943bd070 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bbb872fe 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 4 libxul.so!mozilla::dom::BlobChild::NoteDyingRemoteBlobImpl() [Blob.cpp:938041e183e5 : 3546 + 0x8] 14:33:23 INFO - rbx = 0x00007fd1944f7e80 rbp = 0x00007fff309d8c00 14:33:23 INFO - rsp = 0x00007fff309d8bd0 r12 = 0x00007fd1944f7f28 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddd2df 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 5 libxul.so!mozilla::dom::BlobChild::RemoteBlobImpl::Destroy() [Blob.cpp:938041e183e5 : 2211 + 0x9] 14:33:23 INFO - rbx = 0x00007fd1944f7f20 rbp = 0x00007fff309d8c40 14:33:23 INFO - rsp = 0x00007fff309d8c10 r12 = 0x00007fd1944f7f28 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddd527 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 6 libxul.so!mozilla::dom::BlobChild::RemoteBlobImpl::Release() [Blob.cpp:938041e183e5 : 2233 + 0x3a] 14:33:23 INFO - rbx = 0x00007fd1944f7f20 rbp = 0x00007fff309d8c70 14:33:23 INFO - rsp = 0x00007fff309d8c50 r12 = 0x00007fd1944f7f28 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddd6ec 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 7 libxul.so!mozilla::dom::BlobChild::RemoteBlobSliceImpl::~RemoteBlobSliceImpl() [Blob.cpp:938041e183e5 : 1952 + 0x10] 14:33:23 INFO - rbx = 0x00007fd1980833a0 rbp = 0x00007fff309d8c90 14:33:23 INFO - rsp = 0x00007fff309d8c80 r12 = 0x00007fd1980833a8 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddc1b4 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 8 libxul.so!mozilla::dom::BlobChild::RemoteBlobSliceImpl::~RemoteBlobSliceImpl() [Blob.cpp:938041e183e5 : 1952 + 0x5] 14:33:23 INFO - rbx = 0x00007fd1980833a0 rbp = 0x00007fff309d8cb0 14:33:23 INFO - rsp = 0x00007fff309d8ca0 r12 = 0x00007fd1980833a8 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddc1ce 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 9 libxul.so!mozilla::dom::BlobChild::RemoteBlobImpl::Destroy() [Blob.cpp:938041e183e5 : 2214 + 0xc] 14:33:23 INFO - rbx = 0x00007fd1980833a0 rbp = 0x00007fff309d8cf0 14:33:23 INFO - rsp = 0x00007fff309d8cc0 r12 = 0x00007fd1980833a8 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddd533 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 10 libxul.so!mozilla::dom::BlobChild::RemoteBlobImpl::Release() [Blob.cpp:938041e183e5 : 2233 + 0x3a] 14:33:23 INFO - rbx = 0x00007fd1980833a0 rbp = 0x00007fff309d8d20 14:33:23 INFO - rsp = 0x00007fff309d8d00 r12 = 0x00007fd1980833a8 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddd6ec 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 11 libxul.so!mozilla::dom::BlobChild::RemoteBlobSliceImpl::Release() [Blob.cpp:938041e183e5 : 2591 + 0x5] 14:33:23 INFO - rbx = 0x00007fd1980833a0 rbp = 0x00007fff309d8d50 14:33:23 INFO - rsp = 0x00007fff309d8d30 r12 = 0x0000000000000000 14:33:23 INFO - r13 = 0x0000000000000003 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddd711 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 12 libxul.so!mozilla::dom::BlobChild::ActorDestroy(mozilla::ipc::IProtocolManager<mozilla::ipc::IProtocol>::ActorDestroyReason) [Blob.cpp:938041e183e5 : 3565 + 0x6] 14:33:23 INFO - rbx = 0x00007fd197c8f420 rbp = 0x00007fff309d8d70 14:33:23 INFO - rsp = 0x00007fff309d8d60 r12 = 0x0000000000000000 14:33:23 INFO - r13 = 0x0000000000000003 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bcddfff9 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 13 libxul.so!mozilla::dom::PBlobChild::DestroySubtree(mozilla::ipc::IProtocolManager<mozilla::ipc::IProtocol>::ActorDestroyReason) [PBlobChild.cpp:938041e183e5 : 611 + 0xf] 14:33:23 INFO - rbx = 0x00007fd197c8f420 rbp = 0x00007fff309d8dc0 14:33:23 INFO - rsp = 0x00007fff309d8d80 r12 = 0x0000000000000000 14:33:23 INFO - r13 = 0x0000000000000003 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x00007fff309d8d88 rip = 0x00007fd1bbb8706b 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 14 libxul.so!mozilla::ipc::PBackgroundChild::DestroySubtree(mozilla::ipc::IProtocolManager<mozilla::ipc::IProtocol>::ActorDestroyReason) [PBackgroundChild.cpp:938041e183e5 : 2001 + 0x5] 14:33:23 INFO - rbx = 0x00007fd1a5a47800 rbp = 0x00007fff309d8e10 14:33:23 INFO - rsp = 0x00007fff309d8dd0 r12 = 0x0000000000000003 14:33:23 INFO - r13 = 0x0000000000000016 r14 = 0x0000000000000003 14:33:23 INFO - r15 = 0x0000000000000000 rip = 0x00007fd1bba14a84 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 15 libxul.so!mozilla::ipc::PBackgroundChild::OnChannelClose() [PBackgroundChild.cpp:938041e183e5 : 1881 + 0x5] 14:33:23 INFO - rbx = 0x00007fd1a5a47800 rbp = 0x00007fff309d8e30 14:33:23 INFO - rsp = 0x00007fff309d8e20 r12 = 0x00007fd1943bd070 14:33:23 INFO - r13 = 0x00007fd1bb9da77e r14 = 0x0000000000000020 14:33:23 INFO - r15 = 0x0000000000000000 rip = 0x00007fd1bba14e75 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 16 libxul.so!mozilla::ipc::MessageChannel::NotifyChannelClosed() [MessageChannel.cpp:938041e183e5 : 1950 + 0x11] 14:33:23 INFO - rbx = 0x00007fd1a5a47868 rbp = 0x00007fff309d8e50 14:33:23 INFO - rsp = 0x00007fff309d8e40 r12 = 0x00007fd1943bd070 14:33:23 INFO - r13 = 0x00007fd1bb9da77e r14 = 0x0000000000000020 14:33:23 INFO - r15 = 0x0000000000000000 rip = 0x00007fd1bb9e91e6 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 17 libxul.so!mozilla::ipc::MessageChannel::Close() [MessageChannel.cpp:938041e183e5 : 1937 + 0x8] 14:33:23 INFO - rbx = 0x00007fd1a5a47868 rbp = 0x00007fff309d8e90 14:33:23 INFO - rsp = 0x00007fff309d8e60 r12 = 0x00007fd1943bd070 14:33:23 INFO - r13 = 0x00007fd1bb9da77e r14 = 0x0000000000000020 14:33:23 INFO - r15 = 0x0000000000000000 rip = 0x00007fd1bb9e9363 14:33:23 INFO - Found by: call frame info 14:33:23 INFO - 18 libxul.so!ChildImpl::ThreadLocalDestructor [BackgroundImpl.cpp:938041e183e5 : 419 + 0xd] 14:33:23 INFO - rbx = 0x00007fd1a9046260 rbp = 0x00007fff309d8ed0 14:33:23 INFO - rsp = 0x00007fff309d8ea0 r12 = 0x0000000000000004 14:33:23 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000020 14:33:23 INFO - r15 = 0x0000000000000000 rip = 0x00007fd1bb9e243f 14:33:23 INFO - Found by: call frame info ...
Kyle, just looking at the stack, this looks like something worth fixing. Do you know who works on blob stuff nowadays?
Flags: needinfo?(khuey)
I think baku works on blob stuff the most.
Flags: needinfo?(khuey) → needinfo?(amarchesini)
Andrea, or me on sufficiently long time scales.
This error has been introduced by bug 1211266.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(amarchesini)
Resolution: --- → DUPLICATE
This crash, which I filed on November 19th, was caused by a patch which you pushed on November 24th? That strikes me as unlikely.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Do you actually understand the problem here? It looks like the link between the two processes has been shut down, and ContentChild just drops all messages while BackgroundChild asserts and dies. Both protocols are getting the same errors (MsgDropped).
Flags: needinfo?(wmccloskey)
Yeah, that's pretty much it. We're not supposed to send any messages after ActorDestroy is called, so the Send__delete__ call here is wrong. We are pretty lax about this, which is why ContentChild does what it does. But I think bad stuff can still happen in some cases. If you do the Send operation on a non-toplevel actor after the connection is closed, then I don't think there's any guarantee that the MessageChannel will still be alive, so it could be a UAF. In this case we may be safe, assuming the Send__delete__ operation always happens synchronously with ActorDestroy. But I'd rather fix this case and hold the line at PBackground rather than loosen our assertions there as well.
Flags: needinfo?(wmccloskey)
Ok ... I'm fine with holding the line. I don't really understand what went wrong to get us in this situation though :(
I think it went something like this: - We used to crash in ContentChild as well. - As a consequence, the content process always crashed on shutdown. Nobody paid much attention because, at this point, neither b2g nor e10s had very good test coverage. - We wanted to turn on leak checking for content processes, so we either had to fix all the broken message sends or turn the crash into a warning. At this point there were too many to fix.
Oh, I meant this specific bug :P I can totally envision how we got here organizationally.
Bill, this is pretty frequent on Linux e10s. Any chance you can take a look please?
Flags: needinfo?(wmccloskey)
Whiteboard: [e10s-orangeblockers]
Kyle, can you try to catch this in rr chaos mode?
Flags: needinfo?(khuey)
Maybe third time will be the charm. Jed, any chance you could take a look? :)
Flags: needinfo?(jld)
For anybody looking into this, it mostly happens on Linux (32 and 64, mostly debug but with an occasional opt hit as well), but there have been a few cases on OSX and Windows as well. All the logs I've looked at show this as happening after running through dom/base/test/ directory.
So we ActorDestroy a BlobChild, and it calls NoteDyingActor before doing the Destroy() stuff so that it doesn't get Send__delete__()d by its RemoteBlobImpl when it's already destroyed, and that's good… but its mBlobImpl is a RemoteBlobSliceImpl, which holds the last reference to another RemoteBlobImpl (its mParent), whose mActor *hasn't* been zapped yet. I think. This reminds me of bug 1202887 comment #2, but in that case the spurious Send__delete__ didn't assert (it was just subtree destruction, not closing the entire transport), and instead caused a use-after-free later on. So that's a little different, but I think it's the same genre of footgun. I'm not sure what the right fix here is. If this is always during shutdown, detecting that and just skipping the Send__delete__ might be enough. Otherwise, there's always deferring it via NS_DispatchToCurrentThread like I did with the nsWebBrowserPersist thing (which will fail during shutdown, I think? In which case that falls back to the previous item).
Flags: needinfo?(jld)
I managed to bisect this on inbound down to bug 1225202 (TIL: Treeherder's "Add New Jobs" functionality even works for pushes from 5 months ago!). A Try push with test_fileapi_slice.html disabled confirms that the crashes go away. https://treeherder.mozilla.org/#/jobs?repo=try&revision=a3cab87ef3143845bf9a65d18969f026c0cd6cb3 Maybe another round of rr chaos mode is in order now that we know which test to target?
Blocks: 1225202
Flags: needinfo?(wmccloskey)
Flags: needinfo?(ryanvm)
Flags: needinfo?(khuey)
Keywords: leave-open
Whiteboard: [e10s-orangeblockers] → [e10s-orangeblockers][test disabled on e10s]
Whiteboard: [e10s-orangeblockers][test disabled on e10s] → [test disabled on e10s]
Priority: -- → P2
Try indicates that whatever was broken here appears to have gone away on its own. https://treeherder.mozilla.org/#/jobs?repo=try&revision=c85d2ecf2d1a I'll go ahead and re-enable it and we can always re-open the bug and re-disable if Try is lying.
Status: REOPENED → RESOLVED
Closed: 9 years ago8 years ago
Keywords: leave-open
Resolution: --- → WORKSFORME
Whiteboard: [test disabled on e10s]
You need to log in before you can comment on or make changes to this bug.