Intermittent assert in /service-workers/cache-storage/window/cache-add.https.html

NEW
Unassigned

Status

()

Core
DOM
3 years ago
3 years ago

People

(Reporter: jgraham, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
10:56:57 INFO - PROCESS | 1853 | Assertion failure: mInitiatingThread == NS_GetCurrentThread(), at /builds/slave/ced-l64-d-00000000000000000000/build/src/dom/cache/FetchPut.cpp:156 

https://treeherder.mozilla.org/logviewer.html#?job_id=127638&repo=cedar

10:57:11 INFO - 4 libxul.so!nsCORSListenerProxy::OnStopRequest(nsIRequest*, nsISupports*, nsresult) [nsCORSListenerProxy.cpp:83913b163be9 : 657 + 0x2b]
10:57:11 INFO - rbx = 0x00007f4024cd50d0 r12 = 0x00007f4024cd5100
10:57:11 INFO - r13 = 0x00007f401b133c50 r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x0000000000000000 rip = 0x00007f40493df2e4
10:57:11 INFO - rsp = 0x00007fff78d746e0 rbp = 0x00007fff78d74720
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 5 libxul.so!nsStreamListenerTee::OnStopRequest(nsIRequest*, nsISupports*, nsresult) [nsStreamListenerTee.cpp:83913b163be9 : 53 + 0x1c]
10:57:11 INFO - rbx = 0x00007f401fa18560 r12 = 0x00007f401fa18588
10:57:11 INFO - r13 = 0x00007f401b133c50 r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x0000000000000000 rip = 0x00007f404822bd46
10:57:11 INFO - rsp = 0x00007fff78d74730 rbp = 0x00007fff78d74780
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 6 libxul.so!mozilla::net::nsHttpChannel::OnStopRequest(nsIRequest*, nsISupports*, nsresult) [nsHttpChannel.cpp:83913b163be9 : 5614 + 0x23]
10:57:11 INFO - rbx = 0x00007f401b133800 r12 = 0x0000000000000000
10:57:11 INFO - r13 = 0x00007f401b133c50 r14 = 0x0000000000000001
10:57:11 INFO - r15 = 0x0000000000000000 rip = 0x00007f4048346a7d
10:57:11 INFO - rsp = 0x00007fff78d74790 rbp = 0x00007fff78d74840
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 7 libxul.so!nsInputStreamPump::OnStateStop() [nsInputStreamPump.cpp:83913b163be9 : 721 + 0x10]
10:57:11 INFO - rbx = 0x00007f400a20bac0 r12 = 0x00007f400a20baf8
10:57:11 INFO - r13 = 0x00007f400a20bb50 r14 = 0x00007fff78d74901
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f4048209dea
10:57:11 INFO - rsp = 0x00007fff78d74850 rbp = 0x00007fff78d74880
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 8 libxul.so!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) [nsInputStreamPump.cpp:83913b163be9 : 440 + 0x7]
10:57:11 INFO - rbx = 0x00007f400a20bac0 r12 = 0x0000000000000003
10:57:11 INFO - r13 = 0x0000000000000000 r14 = 0x00007fff78d74901
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f4048209fad
10:57:11 INFO - rsp = 0x00007fff78d74890 rbp = 0x00007fff78d748c0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 9 libxul.so!nsInputStreamReadyEvent::Run() [nsStreamUtils.cpp:83913b163be9 : 91 + 0x5]
10:57:11 INFO - rbx = 0x00007f4023938600 r12 = 0x00007f40204c9301
10:57:11 INFO - r13 = 0x00007fff78d7497f r14 = 0x00007fff78d74901
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404816667d
10:57:11 INFO - rsp = 0x00007fff78d748d0 rbp = 0x00007fff78d748e0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 10 libxul.so!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:83913b163be9 : 866 + 0x11]
10:57:11 INFO - rbx = 0x00007f404e255b80 r12 = 0x00007f40204c9301
10:57:11 INFO - r13 = 0x00007fff78d7497f r14 = 0x00007fff78d74901
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404817a283
10:57:11 INFO - rsp = 0x00007fff78d748f0 rbp = 0x00007fff78d74960
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 11 libxul.so!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:83913b163be9 : 265 + 0xc]
10:57:11 INFO - rbx = 0x00007f401d0df501 r12 = 0x00007f40204c9370
10:57:11 INFO - r13 = 0x00007f401d0df5d0 r14 = 0x00007fff78d749b0
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404819937e
10:57:11 INFO - rsp = 0x00007fff78d74970 rbp = 0x00007fff78d74990
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 12 libxul.so!nsThread::Shutdown() [nsThread.cpp:83913b163be9 : 667 + 0xd]
10:57:11 INFO - rbx = 0x00007f401d0df5b0 r12 = 0x00007f40204c9370
10:57:11 INFO - r13 = 0x00007f401d0df5d0 r14 = 0x00007fff78d749b0
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404817db58
10:57:11 INFO - rsp = 0x00007fff78d749a0 rbp = 0x00007fff78d749f0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 13 libxul.so!nsRunnableMethodImpl<nsresult (nsIThread::*)(), true>::Run() [nsThreadUtils.h:83913b163be9 : 574 + 0x11]
10:57:11 INFO - rbx = 0x00007f404e255b80 r12 = 0x00007f40204c9f01
10:57:11 INFO - r13 = 0x00007fff78d74a9f r14 = 0x00007fff78d74a01
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f4048174c29
10:57:11 INFO - rsp = 0x00007fff78d74a00 rbp = 0x00007fff78d74a00
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 14 libxul.so!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:83913b163be9 : 866 + 0x11]
10:57:11 INFO - rbx = 0x00007f404e255b80 r12 = 0x00007f40204c9f01
10:57:11 INFO - r13 = 0x00007fff78d74a9f r14 = 0x00007fff78d74a01
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404817a283
10:57:11 INFO - rsp = 0x00007fff78d74a10 rbp = 0x00007fff78d74a80
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 15 libxul.so!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:83913b163be9 : 265 + 0xc]
10:57:11 INFO - rbx = 0x00007f400b7fa201 r12 = 0x00007f40204c9f10
10:57:11 INFO - r13 = 0x00007f400b7fa230 r14 = 0x00007fff78d74ad0
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404819937e
10:57:11 INFO - rsp = 0x00007fff78d74a90 rbp = 0x00007fff78d74ab0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 16 libxul.so!nsThread::Shutdown() [nsThread.cpp:83913b163be9 : 667 + 0xd]
10:57:11 INFO - rbx = 0x00007f400b7fa210 r12 = 0x00007f40204c9f10
10:57:11 INFO - r13 = 0x00007f400b7fa230 r14 = 0x00007fff78d74ad0
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404817db58
10:57:11 INFO - rsp = 0x00007fff78d74ac0 rbp = 0x00007fff78d74b10
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 17 libxul.so!nsRunnableMethodImpl<nsresult (nsIThread::*)(), true>::Run() [nsThreadUtils.h:83913b163be9 : 574 + 0x11]
10:57:11 INFO - rbx = 0x00007f404e255b80 r12 = 0x0000000000000000
10:57:11 INFO - r13 = 0x00007fff78d74bbf r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f4048174c29
10:57:11 INFO - rsp = 0x00007fff78d74b20 rbp = 0x00007fff78d74b20
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 18 libxul.so!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:83913b163be9 : 866 + 0x11]
10:57:11 INFO - rbx = 0x00007f404e255b80 r12 = 0x0000000000000000
10:57:11 INFO - r13 = 0x00007fff78d74bbf r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x0000000000000001 rip = 0x00007f404817a283
10:57:11 INFO - rsp = 0x00007fff78d74b30 rbp = 0x00007fff78d74ba0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 19 libxul.so!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:83913b163be9 : 265 + 0xc]
10:57:11 INFO - rbx = 0x00007f403f76b500 r12 = 0x00007f403f76c360
10:57:11 INFO - r13 = 0x00007f403f76b5e8 r14 = 0x0000000000000001
10:57:11 INFO - r15 = 0x00007f403f76b5e0 rip = 0x00007f404819937e
10:57:11 INFO - rsp = 0x00007fff78d74bb0 rbp = 0x00007fff78d74bd0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 20 libxul.so!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [MessagePump.cpp:83913b163be9 : 99 + 0xa]
10:57:11 INFO - rbx = 0x00007f403f76b5c0 r12 = 0x00007f403f76c360
10:57:11 INFO - r13 = 0x00007f403f76b5e8 r14 = 0x0000000000000001
10:57:11 INFO - r15 = 0x00007f403f76b5e0 rip = 0x00007f40483f6bcc
10:57:11 INFO - rsp = 0x00007fff78d74be0 rbp = 0x00007fff78d74c30
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 21 libxul.so!MessageLoop::RunInternal() [message_loop.cc:83913b163be9 : 233 + 0x16]
10:57:11 INFO - rbx = 0x00007f403f76c360 r12 = 0x00007f404e255b80
10:57:11 INFO - r13 = 0x00007f40481aabde r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x00007fff78d74ef8 rip = 0x00007f40483d91f9
10:57:11 INFO - rsp = 0x00007fff78d74c40 rbp = 0x00007fff78d74c70
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 22 libxul.so!MessageLoop::Run() [message_loop.cc:83913b163be9 : 226 + 0x7]
10:57:11 INFO - rbx = 0x00007f403f76c360 r12 = 0x00007f404e255b80
10:57:11 INFO - r13 = 0x00007f40481aabde r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x00007fff78d74ef8 rip = 0x00007f40483d9220
10:57:11 INFO - rsp = 0x00007fff78d74c80 rbp = 0x00007fff78d74cb0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 23 libxul.so!nsBaseAppShell::Run() [nsBaseAppShell.cpp:83913b163be9 : 164 + 0xc]
10:57:11 INFO - rbx = 0x00007f4037723940 r12 = 0x00007f404e255b80
10:57:11 INFO - r13 = 0x00007f40481aabde r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x00007fff78d74ef8 rip = 0x00007f40496d1de3
10:57:11 INFO - rsp = 0x00007fff78d74cc0 rbp = 0x00007fff78d74cd0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 24 libxul.so!nsAppStartup::Run() [nsAppStartup.cpp:83913b163be9 : 281 + 0x5]
10:57:11 INFO - rbx = 0x00007f4037712d30 r12 = 0x0000000000000000
10:57:11 INFO - r13 = 0x00007f40481aabde r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x00007fff78d74ef8 rip = 0x00007f4049da53e0
10:57:11 INFO - rsp = 0x00007fff78d74ce0 rbp = 0x00007fff78d74cf0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 25 libxul.so!XREMain::XRE_mainRun() [nsAppRunner.cpp:83913b163be9 : 4171 + 0x14]
10:57:11 INFO - rbx = 0x00007fff78d74ec8 r12 = 0x0000000000000000
10:57:11 INFO - r13 = 0x00007f40481aabde r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x00007fff78d74ef8 rip = 0x00007f4049dec62a
10:57:11 INFO - rsp = 0x00007fff78d74d00 rbp = 0x00007fff78d74e30
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 26 libxul.so!XREMain::XRE_main(int, char**, nsXREAppData const*) [nsAppRunner.cpp:83913b163be9 : 4251 + 0x4]
10:57:11 INFO - rbx = 0x00007fff78d74ec8 r12 = 0x00007fff78d74f08
10:57:11 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x00007fff78d74ef8 rip = 0x00007f4049def132
10:57:11 INFO - rsp = 0x00007fff78d74e40 rbp = 0x00007fff78d74ea0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 27 libxul.so!XRE_main [nsAppRunner.cpp:83913b163be9 : 4470 + 0x4]
10:57:11 INFO - rbx = 0x0000000000000005 r12 = 0x00007fff78d76338
10:57:11 INFO - r13 = 0x00007fff78d750b0 r14 = 0x00007f404e237480
10:57:11 INFO - r15 = 0x00007f404814fed8 rip = 0x00007f4049def3b3
10:57:11 INFO - rsp = 0x00007fff78d74eb0 rbp = 0x00007fff78d75060
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 28 firefox!do_main [nsBrowserApp.cpp:83913b163be9 : 294 + 0x5]
10:57:11 INFO - rbx = 0x00007fff78d76338 r12 = 0x0000000000000005
10:57:11 INFO - r13 = 0x00007f404e237840 r14 = 0x00007f404e237480
10:57:11 INFO - r15 = 0x00007f404814fed8 rip = 0x0000000000406854
10:57:11 INFO - rsp = 0x00007fff78d75070 rbp = 0x00007fff78d760e0
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 29 firefox!main [nsBrowserApp.cpp:83913b163be9 : 667 + 0x11]
10:57:11 INFO - rbx = 0x0000002fe60bf1bf r12 = 0x00007fff78d76338
10:57:11 INFO - r13 = 0x0000000000000005 r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x0000000000000000 rip = 0x0000000000405d93
10:57:11 INFO - rsp = 0x00007fff78d760f0 rbp = 0x00007fff78d76250
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 30 libc-2.15.so + 0x2176c
10:57:11 INFO - rbx = 0x0000000000000000 r12 = 0x0000000000405e3c
10:57:11 INFO - r13 = 0x00007fff78d76330 r14 = 0x0000000000000000
10:57:11 INFO - r15 = 0x0000000000000000 rip = 0x00007f404e4ce76d
10:57:11 INFO - rsp = 0x00007fff78d76260 rbp = 0x0000000000000000
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 31 firefox!_init + 0x787
10:57:11 INFO - rip = 0x0000000000405cd0 rsp = 0x00007fff78d76280
10:57:11 INFO - Found by: stack scanning
10:57:11 INFO - 32 firefox + 0x5e3b
10:57:11 INFO - rip = 0x0000000000405e3c rsp = 0x00007fff78d76298
10:57:11 INFO - Found by: call frame info
10:57:11 INFO - 33 firefox!__libc_csu_fini + 0xf
10:57:11 INFO - rip = 0x000000000041f050 rsp = 0x00007fff78d762e0
10:57:11 INFO - Found by: stack scanning
10:57:11 INFO - 34 firefox + 0x5e3b
10:57:11 INFO - rip = 0x0000000000405e3c rsp = 0x00007fff78d76308
10:57:11 INFO - Found by: stack scanning
10:57:11 INFO - 35 firefox!_start + 0x28
10:57:11 INFO - rip = 0x0000000000405e65 rsp = 0x00007fff78d76320
10:57:11 INFO - Found by: stack scanning

Comment 1

3 years ago
This is probably a case where we started a FetchDriver right before shutdown.  The nsCorsListenerProxy does not support thread retargetting, so not sure how we got on another thread.  Nikhil, any thoughts?
Flags: needinfo?(nsm.nikhil)
I'd like to know why FetchPut enforces a certain thread in the dtor when it is threadsafe refcounted and can potentially have a refptr on any thread which frees it last. If a certain destruction order is required, that is probably buggy leading to this crash.
Flags: needinfo?(nsm.nikhil) → needinfo?(bkelly)

Comment 3

3 years ago
Probably.  But the parent process FetchPut.cpp is going away in bug 1120501.  Instead of using FetchDriver directly we'll instead chain Fetch() directly to a Cache::Put() just like js would.
Depends on: 1120501
Flags: needinfo?(bkelly)
You need to log in before you can comment on or make changes to this bug.