Closed Bug 1142803 Opened 10 years ago Closed 10 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: 10 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.