Closed Bug 1638170 Opened 1 year ago Closed 1 year ago

Intermittent PROCESS-CRASH | Main app process exited normally | application crashed [@ mozilla::dom::WorkerPrivate::RemoveWorkerRef(mozilla::dom::WorkerRef*)]

Categories

(Core :: DOM: Workers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox-esr68 --- unaffected
firefox76 --- unaffected
firefox77 --- unaffected
firefox78 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: ytausky)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, intermittent-failure, Whiteboard: [retriggered][stockwell unknown])

Crash Data

Attachments

(1 file)

Filed by: ccoroiu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=302348230&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/WdAbm6jbSpiHNOo_r6KHKA/runs/1/artifacts/public/logs/live_backing.log


[task 2020-05-14T22:24:35.114Z] 22:24:35 INFO - GECKO(6656) | JavaScript error: resource://gre/modules/URIFixup.jsm, line 265: NS_ERROR_FAILURE: Should pass a non-null uri
[task 2020-05-14T22:24:35.601Z] 22:24:35 INFO - GECKO(6656) | MEMORY STAT | vsize 2105285MB | vsizeMaxContiguous 65287699MB | residentFast 909MB | heapAllocated 538MB
[task 2020-05-14T22:24:35.601Z] 22:24:35 INFO - TEST-OK | browser/components/extensions/test/browser/browser_ext_windows_update.js | took 1581ms
[task 2020-05-14T22:24:35.620Z] 22:24:35 INFO - checking window state
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - GECKO(6656) | Completed ShutdownLeaks collections in process 6680
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - TEST-START | Shutdown
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - Browser Chrome Test Summary
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - Passed: 8395
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - Failed: 0
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - Todo: 0
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - Mode: e10s
[task 2020-05-14T22:24:35.639Z] 22:24:35 INFO - *** End BrowserChrome Test Results ***
[task 2020-05-14T22:24:35.649Z] 22:24:35 INFO - GECKO(6656) | Exiting due to channel error.
[task 2020-05-14T22:24:35.656Z] 22:24:35 INFO - GECKO(6656) | Exiting due to channel error.
[task 2020-05-14T22:24:35.656Z] 22:24:35 INFO - GECKO(6656) | Exiting due to channel error.
[task 2020-05-14T22:24:35.657Z] 22:24:35 INFO - GECKO(6656) | Exiting due to channel error.
[task 2020-05-14T22:24:35.657Z] 22:24:35 INFO - GECKO(6656) | [GFX1-]: Receive IPC close with reason=AbnormalShutdown
[task 2020-05-14T22:24:35.858Z] 22:24:35 INFO - TEST-INFO | Main app process: exit 0
[task 2020-05-14T22:24:35.859Z] 22:24:35 INFO - runtests.py | Application ran for: 0:10:51.973000

[task 2020-05-14T22:24:36.045Z] 22:24:36 INFO - mozcrash Downloading symbols from: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Ha4hDqXWQzO8yfJzVrx5LQ/artifacts/public/build/target.crashreporter-symbols.zip
[task 2020-05-14T22:24:40.270Z] 22:24:40 INFO - mozcrash Copy/paste: Z:/task_1589493961/fetches\minidump_stackwalk\minidump_stackwalk.exe c:\users\task_1589493961\appdata\local\temp\tmprjajpt.mozrunner\minidumps\d7af8107-f149-4a5f-a2ca-9137535fd006.dmp c:\users\task_1589493961\appdata\local\temp\tmpb8704t
[task 2020-05-14T22:24:44.049Z] 22:24:44 INFO - mozcrash Saved minidump as Z:\task_1589493961\build\blobber_upload_dir\d7af8107-f149-4a5f-a2ca-9137535fd006.dmp
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - PROCESS-CRASH | Main app process exited normally | application crashed [@ mozilla::dom::WorkerPrivate::RemoveWorkerRef(mozilla::dom::WorkerRef*)]
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - Crash dump filename: c:\users\task_1589493961\appdata\local\temp\tmprjajpt.mozrunner\minidumps\d7af8107-f149-4a5f-a2ca-9137535fd006.dmp
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - Operating system: Windows NT
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - 10.0.17134
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - CPU: amd64
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - family 6 model 85 stepping 4
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - 8 CPUs
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO -
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - GPU: UNKNOWN
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO -
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - Crash reason: EXCEPTION_BREAKPOINT
[task 2020-05-14T22:24:44.074Z] 22:24:44 INFO - Crash address: 0x4b62938d
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - Assertion: Unknown assertion type 0x00000000
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - Process uptime: 1 seconds
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO -
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - Thread 0 (crashed)
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - 0 xul.dll!mozilla::dom::WorkerPrivate::RemoveWorkerRef(mozilla::dom::WorkerRef*) [WorkerPrivate.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 3747 + 0x19]
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - rax = 0x00007ff94ee1ad54 rdx = 0x000001d957f82dd0
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - rcx = 0x00007ff97bb13fc0 rbx = 0x000001d956a3a000
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - rsi = 0x000001d94fe6b800 rdi = 0x000001d957f82dd0
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - rbp = 0x0000000000000000 rsp = 0x00000091e0bfee70
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - r8 = 0x000000004fe6b800 r9 = 0x0000000000000001
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - r10 = 0x00000fff296c68fe r11 = 0x4104104104001041
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - r12 = 0x0000000000000000 r13 = 0x0000000000000000
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - r14 = 0x000001d956aaee40 r15 = 0x00000091e0bff66f
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - rip = 0x00007ff94b62938d
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - Found by: given as instruction pointer in context
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - 1 xul.dll!mozilla::dom::IPCWorkerRef::~IPCWorkerRef() [WorkerRef.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 239 + 0x1c]
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - rsp = 0x00000091e0bfeeb0 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.075Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94b634817
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - 2 xul.dll + 0x23f66d9
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - rsp = 0x00000091e0bfeef0 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94b6366d9
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - 3 xul.dll!mozilla::dom::ThreadSafeWorkerRef::~ThreadSafeWorkerRef() [WorkerRef.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 209 + 0x2a]
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - rsp = 0x00000091e0bfef30 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94b62f39f
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - 4 xul.dll + 0x23df309
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - rsp = 0x00000091e0bfef70 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94b61f309
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.076Z] 22:24:44 INFO - 5 xul.dll!mozilla::dom::WorkerRunnable::Release() [WorkerRunnable.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 202 + 0x1c]
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rsp = 0x00000091e0bfefb0 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94b62f70e
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - 6 xul.dll!mozilla::ThrottledEventQueue::Inner::ExecuteRunnable() [ThrottledEventQueue.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 257 + 0x15]
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rsp = 0x00000091e0bfefe0 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff949328fae
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - 7 xul.dll!mozilla::ThrottledEventQueue::Inner::Executor::Run() [ThrottledEventQueue.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 81 + 0x5]
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rsp = 0x00000091e0bff050 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff949328d5d
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - 8 xul.dll!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 1211 + 0x10]
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rsp = 0x00000091e0bff080 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94931dfd3
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - 9 xul.dll!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 501 + 0x14]
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - rsp = 0x00000091e0bff640 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.077Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff949321385
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - 10 xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [MessagePump.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 87 + 0xa]
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rsp = 0x00000091e0bff690 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff9498634ea
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - 11 xul.dll!MessageLoop::RunHandler() [message_loop.cc:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 308 + 0x16]
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rsp = 0x00000091e0bff700 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94982f120
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - 12 xul.dll!MessageLoop::Run() [message_loop.cc:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 290 + 0x5]
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rsp = 0x00000091e0bff750 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94982f098
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - 13 xul.dll!nsBaseAppShell::Run() [nsBaseAppShell.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 137 + 0xd]
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rsp = 0x00000091e0bff7a0 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94b85aa38
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - 14 xul.dll!nsAppShell::Run() [nsAppShell.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 406 + 0x8]
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.078Z] 22:24:44 INFO - rsp = 0x00000091e0bff7e0 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94b8d0522
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - 15 xul.dll!XRE_RunAppShell() [nsEmbedFunctions.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 909 + 0xd]
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rsp = 0x00000091e0bff830 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94cab7fac
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - 16 xul.dll!MessageLoop::RunHandler() [message_loop.cc:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 308 + 0x16]
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rsp = 0x00000091e0bff870 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94982f120
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - 17 xul.dll!MessageLoop::Run() [message_loop.cc:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 290 + 0x5]
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rsp = 0x00000091e0bff8c0 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94982f098
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - 18 xul.dll!XRE_InitChildProcess(int, char**, XREChildData const*) [nsEmbedFunctions.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 740 + 0xa]
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.079Z] 22:24:44 INFO - rsp = 0x00000091e0bff910 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff94cab7d38
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - 19 firefox.exe!NS_internal_main(int, char**, char**) [nsBrowserApp.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 303 + 0xa6]
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rsp = 0x00000091e0bffb70 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff71ecb156e
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - 20 firefox.exe!wmain(int, wchar_t**) [nsWindowsWMain.cpp:a77ca5bd6b7c49099c672e103771ca2bf077cc40 : 131 + 0x15]
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rsp = 0x00000091e0bffd40 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff71ecb11fe
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - 21 firefox.exe!__scrt_common_main_seh() [exe_common.inl : 288 + 0x22]
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rsp = 0x00000091e0bffe00 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff71ed059b8
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - 22 kernel32.dll!BaseThreadInitThunk + 0x14
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - rsp = 0x00000091e0bffe40 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.080Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff988fa3034
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - Found by: call frame info
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - 23 ntdll.dll!SdbpCheckMatchingFiles + 0x81
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - rbx = 0x000001d956a3a000 rbp = 0x0000000000000000
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - rsp = 0x00000091e0bffe70 r12 = 0x0000000000000000
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - r13 = 0x0000000000000000 r14 = 0x000001d956aaee40
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - r15 = 0x00000091e0bff66f rip = 0x00007ff9893a1461
[task 2020-05-14T22:24:44.081Z] 22:24:44 INFO - Found by: call frame info

Hi Yaron, last crash indicates this line, it seems, as author of bug 1504638, does this let ring something in your head?

Flags: needinfo?(ytausky)

I suspect this to have the same underlying problem as here.
No, here we already use a ThreadSafe variant.

See Also: → 1632036
See Also: 16320361611094
See Also: 1611094

Set release status flags based on info from the regressing bug 1634259

Here's what I think happens here:

  1. Starting a worker fails before DoRunLoop gets called, e.g. here.
  2. WorkerErrorReport::CreateAndDispatchGenericErrorRunnableToParent calls ReportGenericErrorRunnable::CreateAndDispatch.
  3. ReportGenericErrorRunnable::CreateAndDispatch dispatches a new ReportGenericErrorRunnable to the parent thread, which in this case is the main thread.
  4. Back in WorkerThreadPrimaryRunnable::Run, WorkerPrivate::RunLoopNeverRan gets called (this was added in bug 1634259).
  5. WorkerPrivate::RunLoopNeverRan sets the worker's status to Dead, preventing dispatch of new Runnables.
  6. On the main thread, we get into the crashing stack state after running the ReportGenericErrorRunnable and calling its destructor (frame 4 of the stack trace). This causes WorkerDebuggeeRunnable's destructor to run, which in turn causes ThreadSafeWorkerRef's destructor to run.
  7. This destructor tries to dispatch a ReleaseRefControlRunnable to the worker, which no longer accepts any Runnables.
  8. When leaving the scope of the if statement (frame 3), the Runnable gets destructed, taking with it the StrongWorkerRef, which calls WorkerPrivate::RemoveWorkerRef on the wrong thread, causing the assertion failure.
Flags: needinfo?(ytausky)
Crash Signature: [@ mozilla::dom::WorkerPrivate::RemoveWorkerRef(mozilla::dom::WorkerRef*)] → [@ mozilla::dom::WorkerPrivate::RemoveWorkerRef(mozilla::dom::WorkerRef*)][@ mozilla::dom::WorkerPrivate::RemoveWorkerRef ]

Thanks Yaron for this analysis! Now that I understood better that ThreadSafeWorkerRef actually relies in its internal implementation on a non-thread safe counted WorkerRef, this brings me back to comment 18 of bug 1611094 and makes me think if we should promote WorkerRef to use NS_INLINE_DECL_THREADSAFE_REFCOUNTING ? We might be able to find a work around for this specific edge case, but are we sure, it is the only one?

This is not necessarily the same thing. In this case there's a broken invariant: the worker reaches a Dead status while there are still strong references to it. We can either fix this (which I think is preferable), or relax the invariant by making it possible to release strong references to a worker on any thread. I'm not sure what design considerations resulted in the current state of the code, so I wouldn't change that for now. Maybe :asuth knows why it's this way?

Assignee: nobody → ytausky

I think the right solution for this situation is to not report error runnables in either of the error cases in WorkerThreadPrimaryRunnable::Run since they won't be reported anyways

I'd missed the nuance that these calls were creating strong worker refs under the hood.

Flags: needinfo?(bugmail)

Keeping in mind that this is a very short-lived edge-case, one thing we could do to avoid re-introducing this problem is to forbid the creation of strong worker references prior to DoRunLoop setting mStatus to Running.

Actually, I think I really endorse adding that constraint. (edit: and probably enforcing that constraint with a diagnostic assert.)

See Also: → 1639592

Hi Yaron, are there updates here?

Flags: needinfo?(ytausky)

This patch removes the dispatch of ReportGenericErrorRunnables when
a worker fails to start, since they were causing crashes and
weren't getting run anyway. It also adds an assertion that prevents
the creation of strong references to workers before they begin
their main loop.

This patch is supposed to solve the problem.

Flags: needinfo?(ytausky)
Pushed by ytausky@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fbdbe0cdce92
Don't dispatch buggy WorkerRunnables r=asuth,dom-workers-and-storage-reviewers,sg
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.