Closed Bug 1142803 Opened 9 years ago Closed 9 years ago

Intermittent test_cache.html | application crashed [@ mozilla::dom::cache::StreamList::Activate(int)]

Categories

(Core :: DOM: Workers, defect)

39 Branch
x86_64
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox37 --- unaffected
firefox38 --- unaffected
firefox38.0.5 --- unaffected
firefox39 --- fixed
firefox-esr31 --- unaffected
firefox-esr38 --- unaffected

People

(Reporter: KWierso, Assigned: bkelly)

References

Details

(Keywords: intermittent-failure)

13:28:34 INFO - 1611 INFO TEST-START | dom/cache/test/mochitest/test_cache.html
13:28:34 INFO - ++DOMWINDOW == 33 (0DA80200) [pid = 1984] [serial = 5464] [outer = 151F9800]
13:28:34 INFO - [Parent 1984] WARNING: Performance Entry buffer size maximum reached!: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\base\nsPerformance.cpp, line 562
13:28:34 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\workers\ServiceWorkerManager.cpp, line 2325
13:28:34 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\netwerk\protocol\http\HttpBaseChannel.cpp, line 1952
13:28:34 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\workers\ServiceWorkerManager.cpp, line 2325
13:28:34 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\netwerk\protocol\http\HttpBaseChannel.cpp, line 1952
13:28:34 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\workers\ServiceWorkerManager.cpp, line 2325
13:28:34 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\netwerk\protocol\http\HttpBaseChannel.cpp, line 1952
13:28:35 INFO - ++DOCSHELL 0E246700 == 10 [pid = 1984] [id = 1369]
13:28:35 INFO - ++DOMWINDOW == 34 (0E3DE200) [pid = 1984] [serial = 5465] [outer = 00000000]
13:28:35 INFO - [Parent 1984] WARNING: Subdocument container has no frame: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\layout\base\nsDocumentViewer.cpp, line 2511
13:28:35 INFO - ++DOMWINDOW == 35 (0E3DEC00) [pid = 1984] [serial = 5466] [outer = 0E3DE200]
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\workers\ServiceWorkerManager.cpp, line 2325
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\netwerk\protocol\http\HttpBaseChannel.cpp, line 1952
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\workers\ServiceWorkerManager.cpp, line 2325
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\netwerk\protocol\http\HttpBaseChannel.cpp, line 1952
13:28:35 INFO - [Child 2812] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\embedding\browser\nsWebBrowser.cpp, line 332
13:28:35 INFO - [Child 2812] WARNING: NS_ENSURE_TRUE(domWindow) failed: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\embedding\browser\nsDocShellTreeOwner.cpp, line 86
13:28:35 INFO - [Parent 1984] WARNING: RemoveObserver() called for unregistered observer: file c:/builds/moz2_slave/fx-team-w32-d-0000000000000000/build/src/hal/Hal.cpp, line 205
13:28:35 INFO - [Parent 1984] WARNING: RemoveObserver() called for unregistered observer: file c:/builds/moz2_slave/fx-team-w32-d-0000000000000000/build/src/hal/Hal.cpp, line 205
13:28:35 INFO - [Parent 1984] WARNING: RemoveObserver() called for unregistered observer: file c:/builds/moz2_slave/fx-team-w32-d-0000000000000000/build/src/hal/Hal.cpp, line 205
13:28:35 INFO - [Parent 1984] WARNING: RemoveObserver() called for unregistered observer: file c:/builds/moz2_slave/fx-team-w32-d-0000000000000000/build/src/hal/Hal.cpp, line 205
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\workers\ServiceWorkerManager.cpp, line 2325
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\netwerk\protocol\http\HttpBaseChannel.cpp, line 1952
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\workers\ServiceWorkerManager.cpp, line 2325
13:28:35 INFO - [Parent 1984] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x80004005: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\netwerk\protocol\http\HttpBaseChannel.cpp, line 1952
13:28:35 INFO - [Child 2812] WARNING: '!mMainThread', file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\xpcom\threads\nsThreadManager.cpp, line 391
13:28:35 INFO - OK: true => true: caches object should be available on global
13:28:35 INFO - OK: true => true: cache object should be resolved from caches.open
13:28:35 INFO - OK: true => true: caches.has() should resolve true
13:28:35 INFO - OK: true => true: caches.keys() should resolve to a truthy value
13:28:35 INFO - IS: true => 1 | 1: caches.keys() should resolve to an array of length 1
13:28:35 INFO - IS: true => 0 | 0: caches.keys() should resolve to an array containing key
13:28:35 INFO - [Child 2812] WARNING: NS_ENSURE_TRUE(inBrowser) failed: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\embedding\browser\nsDocShellTreeOwner.cpp, line 82
13:28:35 INFO - OK: true => true: caches.delete() should resolve true
13:28:35 INFO - --DOMWINDOW == 4 (014B2400) [pid = 2812] [serial = 5] [outer = 00000000] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptions.sjs?SAMEORIGIN]
13:28:35 INFO - [Child 2812] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\embedding\browser\nsWebBrowser.cpp, line 332
13:28:35 INFO - [Child 2812] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\embedding\browser\nsWebBrowser.cpp, line 332
13:28:35 INFO - [Child 2812] WARNING: NS_ENSURE_TRUE(domWindow) failed: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\embedding\browser\nsDocShellTreeOwner.cpp, line 86
13:28:35 INFO - [Child 2812] WARNING: NS_ENSURE_TRUE(inBrowser) failed: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\embedding\browser\nsDocShellTreeOwner.cpp, line 82
13:28:35 INFO - --DOMWINDOW == 3 (05407000) [pid = 2812] [serial = 1] [outer = 00000000] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptionsSameOrigin.html]
13:28:35 INFO - --DOMWINDOW == 2 (05421400) [pid = 2812] [serial = 2] [outer = 00000000] [url = about:blank]
13:28:35 INFO - --DOMWINDOW == 1 (0560A800) [pid = 2812] [serial = 3] [outer = 00000000] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptionsSameOrigin.html]
13:28:35 INFO - --DOMWINDOW == 0 (056C9A00) [pid = 2812] [serial = 4] [outer = 00000000] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptions.sjs?SAMEORIGIN]
13:28:35 INFO - [Child 2812] WARNING: '!mMainThread', file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\xpcom\threads\nsThreadManager.cpp, line 391
13:28:35 INFO - --DOCSHELL 04ADCC00 == 1 [pid = 2812] [id = 1]
13:28:35 INFO - [Child 2812] WARNING: '!mMainThread', file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\xpcom\threads\nsThreadManager.cpp, line 391
13:28:35 INFO - --DOCSHELL 04BF1600 == 0 [pid = 2812] [id = 2]
13:28:35 INFO - [Child 2812] WARNING: '!mMainThread', file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\xpcom\threads\nsThreadManager.cpp, line 391
13:28:35 INFO - [Child 2812] WARNING: '!mMainThread', file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\xpcom\threads\nsThreadManager.cpp, line 391
13:28:35 INFO - [Child 2812] WARNING: Exiting child process early!: file c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\xpcom\build\XPCOMInit.cpp, line 976
13:28:35 INFO - OK: true => true: missing key should return false from has
13:28:35 INFO - nsStringStats
13:28:35 INFO - => mAllocCount: 11975
13:28:35 INFO - => mReallocCount:
13:28:35 INFO - 311
13:28:35 INFO - => mFreeCount: 8401 -- LEAKED 3574 !!!
13:28:35 INFO - => mShareCount: 8885
13:28:35 INFO - => mAdoptCount: 663
13:28:35 INFO - => mAdoptFreeCount: 662 -- LEAKED 1 !!!
13:28:35 INFO - => Process ID: 2812, Thread ID: 2368
13:28:35 INFO - Hit MOZ_CRASH(StreamList not thread-safe) at c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\cache\StreamList.cpp:59
13:28:48 INFO - #01: mozilla::dom::cache::Manager::CacheKeysAction::Complete(mozilla::dom::cache::Manager::Listener *,nsresult) [dom/cache/Manager.cpp:1094]
13:28:48 INFO - #02: mozilla::dom::cache::Manager::BaseAction::CompleteOnInitiatingThread(nsresult) [dom/cache/Manager.cpp:433]
13:28:48 INFO - #03: mozilla::dom::cache::Context::ActionRunnable::Run() [dom/cache/Context.cpp:472]
13:28:48 INFO - #04: nsThread::ProcessNextEvent(bool,bool *) [xpcom/threads/nsThread.cpp:855]
13:28:48 INFO - #05: NS_ProcessNextEvent(nsIThread *,bool) [xpcom/glue/nsThreadUtils.cpp:265]
13:28:48 INFO - #06: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate *) [ipc/glue/MessagePump.cpp:368]
13:28:48 INFO - #07: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:233]
13:28:48 INFO - #08: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:227]
13:28:48 INFO - #09: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:201]
13:28:48 INFO - #10: nsThread::ThreadFunc(void *) [xpcom/threads/nsThread.cpp:358]
13:28:48 INFO - #11: _PR_NativeRunThread [nsprpub/pr/src/threads/combined/pruthr.c:397]
13:28:48 INFO - #12: pr_root [nsprpub/pr/src/md/windows/w95thred.c:90]
13:28:48 INFO - #13: MSVCR120 + 0x2c01d
13:28:48 INFO - #14: MSVCR120 + 0x2c001
13:28:48 INFO - #15: kernel32 + 0xb713
13:28:48 INFO - TEST-INFO | Main app process: exit status 1
13:28:48 INFO - 1612 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | true: caches object should be available on global
13:28:48 INFO - 1613 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | true: cache object should be resolved from caches.open
13:28:48 INFO - 1614 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | true: caches.has() should resolve true
13:28:48 INFO - 1615 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | true: caches.keys() should resolve to a truthy value
13:28:48 INFO - 1616 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | 1 === 1: caches.keys() should resolve to an array of length 1
13:28:48 INFO - 1617 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | 0 === 0: caches.keys() should resolve to an array containing key
13:28:48 INFO - 1618 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | true: caches.delete() should resolve true
13:28:48 INFO - 1619 INFO TEST-PASS | dom/cache/test/mochitest/test_cache.html | true: missing key should return false from has
13:28:48 INFO - 1620 ERROR TEST-UNEXPECTED-FAIL | dom/cache/test/mochitest/test_cache.html | application terminated with exit code 1
13:28:48 INFO - runtests.py | Application ran for: 0:19:04.642000
13:28:48 INFO - zombiecheck | Reading PID log: c:\docume~1\cltbld~1.t-x\locals~1\temp\tmpqgn0xlpidlog
13:28:48 INFO - ==> process 1984 launched child process 3880 ("C:\slave\test\build\application\firefox\plugin-container.exe" --channel=1984.d93c500.1816112601 "c:\docume~1\cltbld~1.t-x\locals~1\temp\tmppvknas.mozrunner\plugins\nptest.dll" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser" - 1984 "\\.\pipe\gecko-crash-server-pipe.1984" plugin)
13:28:48 INFO - ==> process 1984 launched child process 3080 ("C:\slave\test\build\application\firefox\plugin-container.exe" --channel=1984.a95b400.1623064900 "c:\docume~1\cltbld~1.t-x\locals~1\temp\tmppvknas.mozrunner\plugins\nptest.dll" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser" - 1984 "\\.\pipe\gecko-crash-server-pipe.1984" plugin)
13:28:48 INFO - ==> process 1984 launched child process 3272 ("C:\slave\test\build\application\firefox\plugin-container.exe" --channel=1984.1b5338c0.2051339404 "c:\docume~1\cltbld~1.t-x\locals~1\temp\tmppvknas.mozrunner\plugins\nptest.dll" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser" - 1984 "\\.\pipe\gecko-crash-server-pipe.1984" plugin)
13:28:58 INFO - mozcrash Saved minidump as C:\slave\test\build\blobber_upload_dir\30b0069b-94c9-43e3-8459-a7a1e65b2ba8.dmp
13:28:58 INFO - mozcrash Saved app info as C:\slave\test\build\blobber_upload_dir\30b0069b-94c9-43e3-8459-a7a1e65b2ba8.extra
13:28:58 WARNING - PROCESS-CRASH | dom/cache/test/mochitest/test_cache.html | application crashed [@ mozilla::dom::cache::StreamList::Activate(int)]
13:28:58 INFO - Crash dump filename: c:\docume~1\cltbld~1.t-x\locals~1\temp\tmppvknas.mozrunner\minidumps\30b0069b-94c9-43e3-8459-a7a1e65b2ba8.dmp
13:28:58 INFO - Operating system: Windows NT
13:28:58 INFO - 5.1.2600 Service Pack 3
13:28:58 INFO - CPU: x86
13:28:58 INFO - GenuineIntel family 6 model 30 stepping 5
13:28:58 INFO - 8 CPUs
13:28:58 INFO - Crash reason: EXCEPTION_BREAKPOINT
13:28:58 INFO - Crash address: 0x217c63b
13:28:58 INFO - Thread 26 (crashed) 
13:28:58 INFO - 0 xul.dll!mozilla::dom::cache::StreamList::Activate(int) [StreamList.cpp:c2e4e7c38905 : 59 + 0x23]
13:28:58 INFO - eip = 0x0217c63b esp = 0x0e6ffd4c ebp = 0x0e6ffd58 ebx = 0x0e514a00
13:28:58 INFO - esi = 0x0000003b edi = 0x116e8070 eax = 0x00000000 ecx = 0x002b0ad9
13:28:58 INFO - edx = 0x00370ea0 efl = 0x00000202
13:28:58 INFO - Found by: given as instruction pointer in context
13:28:58 INFO - 1 xul.dll!mozilla::dom::cache::Manager::CacheKeysAction::Complete(mozilla::dom::cache::Manager::Listener *,nsresult) [Manager.cpp:c2e4e7c38905 : 1093 + 0x16]
13:28:58 INFO - eip = 0x0217e44b esp = 0x0e6ffd60 ebp = 0x0e6ffd6c
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 2 xul.dll!mozilla::dom::cache::Manager::BaseAction::CompleteOnInitiatingThread(nsresult) [Manager.cpp:c2e4e7c38905 : 429 + 0xa]
13:28:58 INFO - eip = 0x0217e750 esp = 0x0e6ffd74 ebp = 0x0e6ffd84
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 3 xul.dll!mozilla::dom::cache::Context::ActionRunnable::Run() [Context.cpp:c2e4e7c38905 : 468 + 0x11]
13:28:58 INFO - eip = 0x02177e75 esp = 0x0e6ffd8c ebp = 0x0e6ffd98
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 4 xul.dll!nsThread::ProcessNextEvent(bool,bool *) [nsThread.cpp:c2e4e7c38905 : 855 + 0xd]
13:28:58 INFO - eip = 0x010c0d02 esp = 0x0e6ffda0 ebp = 0x0e6ffe74
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 5 xul.dll!NS_ProcessNextEvent(nsIThread *,bool) [nsThreadUtils.cpp:c2e4e7c38905 : 265 + 0xc]
13:28:58 INFO - eip = 0x010ea8c5 esp = 0x0e6ffe7c ebp = 0x0e6ffe88
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 6 xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate *) [MessagePump.cpp:c2e4e7c38905 : 368 + 0x9]
13:28:58 INFO - eip = 0x01339159 esp = 0x0e6ffe90 ebp = 0x0e6ffeb4
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 7 xul.dll!MessageLoop::RunInternal() [message_loop.cc:c2e4e7c38905 : 233 + 0xe]
13:28:58 INFO - eip = 0x0130b894 esp = 0x0e6ffebc ebp = 0x0e6ffed4
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 8 xul.dll!MessageLoop::RunHandler() [message_loop.cc:c2e4e7c38905 : 226 + 0x4]
13:28:58 INFO - eip = 0x0130b84c esp = 0x0e6ffedc ebp = 0x0e6fff08
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 9 xul.dll!MessageLoop::Run() [message_loop.cc:c2e4e7c38905 : 200 + 0x6]
13:28:58 INFO - eip = 0x0130b5c5 esp = 0x0e6fff10 ebp = 0x0e6fff28
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 10 xul.dll!nsThread::ThreadFunc(void *) [nsThread.cpp:c2e4e7c38905 : 356 + 0xb]
13:28:58 INFO - eip = 0x010c4974 esp = 0x0e6fff30 ebp = 0x0e6fff48
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 11 nss3.dll!_PR_NativeRunThread [pruthr.c:c2e4e7c38905 : 397 + 0x7]
13:28:58 INFO - eip = 0x008fce58 esp = 0x0e6fff50 ebp = 0x0e6fff64
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 12 nss3.dll!pr_root [w95thred.c:c2e4e7c38905 : 90 + 0xb]
13:28:58 INFO - eip = 0x008edaff esp = 0x0e6fff6c ebp = 0x0e6fff70
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 13 msvcr120.dll + 0x2c01c
13:28:58 INFO - eip = 0x002bc01d esp = 0x0e6fff78 ebp = 0x0e6fffa8
13:28:58 INFO - Found by: call frame info
13:28:58 INFO - 14 msvcr120.dll + 0x2c000
13:28:58 INFO - eip = 0x002bc001 esp = 0x0e6fffb0 ebp = 0x0e6fffb4
13:28:58 INFO - Found by: previous frame's frame pointer
13:28:58 INFO - 15 kernel32.dll + 0xb712
13:28:58 INFO - eip = 0x7c80b713 esp = 0x0e6fffbc ebp = 0x0e6fffec
13:28:58 INFO - Found by: previous frame's frame pointer
13:28:58 INFO - Thread 0
I'm having a hard time understanding how we are hitting this NS_ASSERT_OWNINGTHREAD() without hitting previous thread assertions first.  The CompleteOnInitiatingThread() has a similar assertion that should have triggered before this.

13:28:35 INFO - Hit MOZ_CRASH(StreamList not thread-safe) at c:\builds\moz2_slave\fx-team-w32-d-0000000000000000\build\src\dom\cache\StreamList.cpp:59
13:28:48 INFO - #01: mozilla::dom::cache::Manager::CacheKeysAction::Complete(mozilla::dom::cache::Manager::Listener *,nsresult) [dom/cache/Manager.cpp:1094]
13:28:48 INFO - #02: mozilla::dom::cache::Manager::BaseAction::CompleteOnInitiatingThread(nsresult) [dom/cache/Manager.cpp:433]
13:28:48 INFO - #03: mozilla::dom::cache::Context::ActionRunnable::Run() [dom/cache/Context.cpp:472]
13:28:48 INFO - #04: nsThread::ProcessNextEvent(bool,bool *) [xpcom/threads/nsThread.cpp:855]
13:28:48 INFO - #05: NS_ProcessNextEvent(nsIThread *,bool) [xpcom/glue/nsThreadUtils.cpp:265]
13:28:48 INFO - #06: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate *) [ipc/glue/MessagePump.cpp:368]
13:28:48 INFO - #07: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:233]
13:28:48 INFO - #08: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:227]
13:28:48 INFO - #09: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:201]
13:28:48 INFO - #10: nsThread::ThreadFunc(void *) [xpcom/threads/nsThread.cpp:358]
13:28:48 INFO - #11: _PR_NativeRunThread [nsprpub/pr/src/threads/combined/pruthr.c:397]
13:28:48 INFO - #12: pr_root [nsprpub/pr/src/md/windows/w95thred.c:90]
All I can think is that the StreamList object was already destroyed somehow or corrupted.
Ehsan, do you have ideas on this one?
Flags: needinfo?(ehsan)
To avoid the chance of an Acton destructor running on a separate thread, we should make Action use non-threadsafe ref-counting.  I don't see any reason for it to be threadsafe at the moment.
Depends on: 1142852
I think bug 1142852 is a good idea to fix, but I still don't fully understand how it could trigger this bug.  The Action::CompleteOnInitiatingThread() is always called with a strong ref held to the Action.
I'm not sure if I understand all of the threading assumptions here, but here's what I got to looking at this.

The StreamList passed to CacheKeysAction is created here: <https://dxr.mozilla.org/mozilla-central/source/dom/cache/Manager.cpp#1628>, so its owner thread is the manager thread.  The CompleteOnInitiatingThread is called on the resolver thread, so this can only make sense if these two threads are not the same.

Is that possible?
Flags: needinfo?(ehsan) → needinfo?(bkelly)
Looking more closely, Ben's theory about memory corruption may very well be correct!
Flags: needinfo?(bkelly)
Component: Networking: Cache → DOM: Workers
I believe comment 11 is the issue with ServiceWorker not starting up sometimes.  It was not the crash originally reported in this bug.
NI myself to look at comment 13.  That stack looks useful to me.
Flags: needinfo?(bkelly)
Actually, comment 13 looked similar to the earlier, mysterious stacks.  The fx-team branch did not have the UAF fix from bug 1143223, however.  I still think this is most likely fall-out from that issue.

Lets see if this reproduces on top of bug 1143223 fix.
Flags: needinfo?(bkelly)
Depends on: 1143223
Looks like bug 1143223 really fixed this!
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Assignee: nobody → bkelly
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.