Closed Bug 1430080 Opened 6 years ago Closed 6 years ago

Intermittent PROCESS-CRASH | Main app process exited normally | application crashed [@ mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame(mozilla::ipc::MessageChannel &,mozilla::ipc::Direction,IPC::Message const *)]

Categories

(Core :: Networking, defect, P2)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1430039

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: crash, intermittent-failure, Whiteboard: [necko-triaged])

Crash Data

Filed by: archaeopteryx [at] coole-files.de

https://treeherder.mozilla.org/logviewer.html#?job_id=155627793&repo=autoland

https://queue.taskcluster.net/v1/task/TwgCcR7mRUKTmFhUC3fnrw/runs/0/artifacts/public/logs/live_backing.log

13:33:20     INFO -  1278 INFO TEST-START | dom/u2f/tests/browser/browser_appid_localhost.js
13:33:20     INFO -  GECKO(3416) | MEMORY STAT | vsize 731MB | vsizeMaxContiguous 766MB | residentFast 214MB | heapAllocated 108MB
13:33:20     INFO -  1279 INFO TEST-OK | dom/u2f/tests/browser/browser_appid_localhost.js | took 474ms
13:33:20     INFO -  1280 INFO checking window state
13:33:21     INFO -  GECKO(3416) | Completed ShutdownLeaks collections in process 4008
13:33:22     INFO -  GECKO(3416) | Completed ShutdownLeaks collections in process 5960
13:33:22     INFO -  GECKO(3416) | Completed ShutdownLeaks collections in process 4668
13:33:22     INFO -  GECKO(3416) | Completed ShutdownLeaks collections in process 2668
13:33:22     INFO -  GECKO(3416) | Completed ShutdownLeaks collections in process 3416
13:33:22     INFO -  1281 INFO TEST-START | Shutdown
13:33:22     INFO -  1282 INFO Browser Chrome Test Summary
13:33:22     INFO -  1283 INFO Passed:  12
13:33:22     INFO -  1284 INFO Failed:  0
13:33:22     INFO -  1285 INFO Todo:    0
13:33:22     INFO -  1286 INFO Mode:    e10s

...

13:36:28     INFO -  zombiecheck | Checking for orphan process with PID: 4140
13:36:28     INFO -  mozcrash Downloading symbols from: https://queue.taskcluster.net/v1/task/G3uWIqCERWGiqU0zuayPuA/artifacts/public/build/target.crashreporter-symbols.zip
13:36:31     INFO -  mozcrash Copy/paste: Z:\task_1515676176\build\win32-minidump_stackwalk.exe c:\users\genericworker\appdata\local\temp\tmp0zuxvb.mozrunner\minidumps\65bc9a7e-3eac-48b9-a2c0-4f8c2e150988.dmp c:\users\genericworker\appdata\local\temp\tmpkfyin3
13:36:48     INFO -  mozcrash Saved minidump as Z:\task_1515676176\build\blobber_upload_dir\65bc9a7e-3eac-48b9-a2c0-4f8c2e150988.dmp
13:36:48     INFO -  mozcrash Saved app info as Z:\task_1515676176\build\blobber_upload_dir\65bc9a7e-3eac-48b9-a2c0-4f8c2e150988.extra
13:36:48  WARNING -  PROCESS-CRASH | Main app process exited normally | application crashed [@ mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame(mozilla::ipc::MessageChannel &,mozilla::ipc::Direction,IPC::Message const *)]
13:36:48     INFO -  Crash dump filename: c:\users\genericworker\appdata\local\temp\tmp0zuxvb.mozrunner\minidumps\65bc9a7e-3eac-48b9-a2c0-4f8c2e150988.dmp
13:36:48     INFO -  Operating system: Windows NT
13:36:48     INFO -                    6.1.7601 Service Pack 1
13:36:48     INFO -  CPU: x86
13:36:48     INFO -       GenuineIntel family 6 model 63 stepping 2
13:36:48     INFO -       8 CPUs
13:36:48     INFO -  GPU: UNKNOWN
13:36:48     INFO -  Crash reason:  EXCEPTION_BREAKPOINT
13:36:48     INFO -  Crash address: 0x5a7f954b
13:36:48     INFO -  Assertion: Unknown assertion type 0x00000000
13:36:48     INFO -  Process uptime: 0 seconds
13:36:48     INFO -  Thread 49 (crashed)
13:36:48     INFO -   0  xul.dll!mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame(mozilla::ipc::MessageChannel &,mozilla::ipc::Direction,IPC::Message const *) [MessageChannel.cpp:48cb9676ec2c : 247 + 0xb]
13:36:48     INFO -      eip = 0x5a7f954b   esp = 0x0fbdf680   ebp = 0x0fbdf694   ebx = 0x0fbdf6bc
13:36:48     INFO -      esi = 0x0113e0d0   edi = 0x0113e0d0   eax = 0x66aa2860   ecx = 0x0000001a
13:36:48     INFO -      edx = 0x00000002   efl = 0x00000287
13:36:48     INFO -      Found by: given as instruction pointer in context
13:36:48     INFO -   1  xul.dll!mozilla::ipc::MessageChannel::Send(IPC::Message *) [MessageChannel.cpp:48cb9676ec2c : 887 + 0xd]
13:36:48     INFO -      eip = 0x5a1d159f   esp = 0x0fbdf69c   ebp = 0x0fbdf6f4
13:36:48     INFO -      Found by: previous frame's frame pointer
13:36:48     INFO -   2  xul.dll!mozilla::net::PNeckoChild::SendRemoveRequestContext(unsigned __int64 const &) [PNeckoChild.cpp: : 1205 + 0xf]
13:36:48     INFO -      eip = 0x5abe2266   esp = 0x0fbdf6fc   ebp = 0x0fbdf724
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -   3  xul.dll!mozilla::net::RequestContextService::RemoveRequestContext(unsigned __int64) [RequestContextService.cpp:48cb9676ec2c : 593 + 0x9]
13:36:48     INFO -      eip = 0x5a8c1871   esp = 0x0fbdf72c   ebp = 0x0fbdf730
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -   4  xul.dll!mozilla::net::nsLoadGroup::~nsLoadGroup() [nsLoadGroup.cpp:48cb9676ec2c : 130 + 0xf]
13:36:48     INFO -      eip = 0x5a3e42be   esp = 0x0fbdf738   ebp = 0x0fbdf750
13:36:48     INFO -      Found by: previous frame's frame pointer
13:36:48     INFO -   5  xul.dll!mozilla::net::nsLoadGroup::`scalar deleting destructor'(unsigned int) + 0xb
13:36:48     INFO -      eip = 0x5a3e4245   esp = 0x0fbdf758   ebp = 0x0fbdf75c
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -   6  xul.dll!mozilla::net::nsLoadGroup::Internal::Release() [nsLoadGroup.cpp:48cb9676ec2c : 140 + 0x22]
13:36:48     INFO -      eip = 0x5a2b150c   esp = 0x0fbdf764   ebp = 0x0fbdf768
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -   7  xul.dll!nsProperties::Release() [nsProperties.cpp:48cb9676ec2c : 11 + 0xf]
13:36:48     INFO -      eip = 0x5a1ae3d1   esp = 0x0fbdf770   ebp = 0x0fbdf774
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -   8  xul.dll!nsJARChannel::~nsJARChannel() [nsJARChannel.cpp:48cb9676ec2c : 223 + 0x149]
13:36:48     INFO -      eip = 0x5a2ba364   esp = 0x0fbdf77c   ebp = 0x0fbdf794
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -   9  xul.dll!nsJARChannel::`scalar deleting destructor'(unsigned int) + 0xb
13:36:48     INFO -      eip = 0x5a2ba193   esp = 0x0fbdf790   ebp = 0x0fbdf794
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  10  xul.dll!nsHashPropertyBag::Release() [nsHashPropertyBag.cpp:48cb9676ec2c : 249 + 0x26]
13:36:48     INFO -      eip = 0x5a2bb440   esp = 0x0fbdf79c   ebp = 0x0fbdf7a0
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  11  xul.dll!mozilla::detail::RunnableMethodImpl<RefPtr<nsJARChannel>,nsresult ( nsJARChannel::*)(nsJARInputThunk *),1,0,RefPtr<nsJARInputThunk> >::~RunnableMethodImpl<RefPtr<nsJARChannel>,nsresult ( nsJARChannel::*)(nsJARInputThunk *),1,0,RefPtr<nsJARInputThunk> >() [nsThreadUtils.h:48cb9676ec2c : 1167 + 0x24]
13:36:48     INFO -      eip = 0x5a13811c   esp = 0x0fbdf7a8   ebp = 0x0fbdf7b8
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  12  xul.dll!mozilla::detail::RunnableMethodImpl<RefPtr<nsJARChannel>,nsresult ( nsJARChannel::*)(nsJARInputThunk *),1,0,RefPtr<nsJARInputThunk> >::`scalar deleting destructor'(unsigned int) + 0xb
13:36:48     INFO -      eip = 0x5a1380e3   esp = 0x0fbdf7b4   ebp = 0x0fbdf7b8
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  13  xul.dll!mozilla::Runnable::Release() [nsThreadUtils.cpp:48cb9676ec2c : 50 + 0x26]
13:36:48     INFO -      eip = 0x5a065443   esp = 0x0fbdf7c0   ebp = 0x0fbdf7c4
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  14  xul.dll!<lambda_ac714928f249962bd3d9f0d1d341ff08>::operator() [nsJARChannel.cpp:48cb9676ec2c : 542 + 0xa]
13:36:48     INFO -      eip = 0x5a138437   esp = 0x0fbdf7cc   ebp = 0x0fbdf7e8
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  15  xul.dll!mozilla::detail::RunnableFunction<<lambda_ac714928f249962bd3d9f0d1d341ff08> >::Run [nsThreadUtils.h:48cb9676ec2c : 529 + 0xb]
13:36:48     INFO -      eip = 0x5a1382e9   esp = 0x0fbdf7f0   ebp = 0x0fbdf7f4
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  16  xul.dll!nsThreadPool::Run() [nsThreadPool.cpp:48cb9676ec2c : 228 + 0x6]
13:36:48     INFO -      eip = 0x5a2ceb79   esp = 0x0fbdf7fc   ebp = 0x0fbdf82c
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  17  xul.dll!nsThread::ProcessNextEvent(bool,bool *) [nsThread.cpp:48cb9676ec2c : 1040 + 0xa]
13:36:48     INFO -      eip = 0x5a0e4b83   esp = 0x0fbdf834   ebp = 0x0fbdfd98
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  18  xul.dll!NS_ProcessNextEvent(nsIThread *,bool) [nsThreadUtils.cpp:48cb9676ec2c : 517 + 0xb]
13:36:48     INFO -      eip = 0x5a40400a   esp = 0x0fbdfda0   ebp = 0x0fbdfdb4
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  19  xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate *) [MessagePump.cpp:48cb9676ec2c : 334 + 0x9]
13:36:48     INFO -      eip = 0x5a403f7f   esp = 0x0fbdfdbc   ebp = 0x0fbdfdd0
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  20  xul.dll!MessageLoop::RunHandler() [message_loop.cc:48cb9676ec2c : 319 + 0x8]
13:36:48     INFO -      eip = 0x5a403e9a   esp = 0x0fbdfdd8   ebp = 0x0fbdfe08
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  21  xul.dll!MessageLoop::Run() [message_loop.cc:48cb9676ec2c : 299 + 0x7]
13:36:48     INFO -      eip = 0x5a403e59   esp = 0x0fbdfe10   ebp = 0x0fbdfe28
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  22  xul.dll!nsThread::ThreadFunc(void *) [nsThread.cpp:48cb9676ec2c : 423 + 0x5]
13:36:48     INFO -      eip = 0x5a402ded   esp = 0x0fbdfe30   ebp = 0x0fbdfe4c
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  23  nss3.dll!_PR_NativeRunThread [pruthr.c:48cb9676ec2c : 397 + 0x6]
13:36:48     INFO -      eip = 0x61aeaff5   esp = 0x0fbdfe54   ebp = 0x0fbdfe6c
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  24  nss3.dll!pr_root [w95thred.c:48cb9676ec2c : 137 + 0xa]
13:36:48     INFO -      eip = 0x61ae0a13   esp = 0x0fbdfe74   ebp = 0x0fbdfe78
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  25  ucrtbase.dll!_o___stdio_common_vsprintf_s + 0x7d
13:36:48     INFO -      eip = 0x618daa5d   esp = 0x0fbdfe80   ebp = 0x0fbdfeb4
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  26  kernel32.dll!BaseThreadInitThunk + 0x12
13:36:48     INFO -      eip = 0x77113c45   esp = 0x0fbdfebc   ebp = 0x0fbdfec0
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  27  mozglue.dll!patched_BaseThreadInitThunk [WindowsDllBlocklist.cpp:48cb9676ec2c : 835 + 0x17]
13:36:48     INFO -      eip = 0x66a8bfea   esp = 0x0fbdfec8   ebp = 0x0fbdfed4
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  28  ntdll.dll!__RtlUserThreadStart + 0x27
13:36:48     INFO -      eip = 0x76fd37f5   esp = 0x0fbdfedc   ebp = 0x0fbdff14
13:36:48     INFO -      Found by: call frame info
13:36:48     INFO -  29  ntdll.dll!_RtlUserThreadStart + 0x1b
13:36:48     INFO -      eip = 0x76fd37c8   esp = 0x0fbdff1c   ebp = 0x0fbdff2c
13:36:48     INFO -      Found by: call frame info
I think this might mean that PNeckoChild::SendRemoveRequestContext() is being called from the wrong thread by RequestContextService.
Component: IPC → Networking
As comment #1 pointed out, this crash is complaining about sending main-thread-only IPC on non-main thread.
The root cause is releasing nsLoadGroup on non-main thread. As I understand, nsLoadGroup can only be AddRef/Release on main thread. We should do proxy release for following member variables of nsJARChannel:
>    nsCOMPtr<nsILoadGroup>          mLoadGroup; // load groups can contain load groups
>    nsCOMPtr<nsIInterfaceRequestor> mCallbacks;
>    nsCOMPtr<nsIRequestContext>  mRequestContext;
>    nsCOMPtr<nsIRequestContextService> mRequestContextService;
Blocks: 1373708
Flags: needinfo?(xeonchen)
Priority: P5 → P2
Whiteboard: [necko-triaged]
|nsJARChannel| is supposed to be released on main thread, and I believe this is caused by bug 1373708 and is a dup of bug 1430039.
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(xeonchen)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.