Closed Bug 1630304 Opened 4 years ago Closed 4 years ago

Intermittent Assertion failure: lockedCanvasThreadHolder.ref() ->mCanvasWorkers.forget() .take() ->Release() == 0 (There should be no other references to mCanvasWorkers.), at /builds/worker/checkouts/gecko/gfx/layers/ipc/CanvasThread.cpp:88

Categories

(Core :: Graphics: Canvas2D, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox77 --- fixed

People

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

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

Filed by: apavel [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=297761708&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/HQnGlBJhS0Oqx62m5F4jYw/runs/1/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/HQnGlBJhS0Oqx62m5F4jYw/runs/1/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2020-04-15T15:38:33.094Z] 15:38:33 INFO - REFTEST TEST-START | layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor.html == layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor-ref.html
[task 2020-04-15T15:38:33.094Z] 15:38:33 INFO - REFTEST TEST-LOAD | file:///Z:/task_1586959688/build/tests/reftest/tests/layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor.html | 190 / 191 (99%)
[task 2020-04-15T15:38:33.219Z] 15:38:33 INFO - REFTEST TEST-LOAD | file:///Z:/task_1586959688/build/tests/reftest/tests/layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor-ref.html | 190 / 191 (99%)
[task 2020-04-15T15:38:33.330Z] 15:38:33 INFO - REFTEST TEST-PASS | layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor.html == layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor-ref.html | image comparison, max difference: 0, number of differing pixels: 0
[task 2020-04-15T15:38:33.330Z] 15:38:33 INFO - REFTEST TEST-END | layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor.html == layout/reftests/w3c-css/submitted/images3/color-stop-currentcolor-ref.html
[task 2020-04-15T15:38:33.354Z] 15:38:33 INFO - REFTEST INFO | Slowest test took 1584ms (file:///Z:/task_1586959688/build/tests/reftest/tests/layout/reftests/w3c-css/submitted/images3/object-fit-none-svg-004o.html)
[task 2020-04-15T15:38:33.354Z] 15:38:33 INFO - REFTEST INFO | Total canvas count = 2
[task 2020-04-15T15:38:33.722Z] 15:38:33 INFO - [Parent 9368, Main Thread] WARNING: IInputPane2::TryHide is failure: 'result', file /builds/worker/checkouts/gecko/widget/windows/OSKInputPaneManager.cpp, line 69
[task 2020-04-15T15:38:33.733Z] 15:38:33 INFO - ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-04-15T15:38:33.773Z] 15:38:33 INFO - [Parent 9368, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111 (NS_ERROR_NOT_AVAILABLE): file /builds/worker/checkouts/gecko/netwerk/cache/nsApplicationCacheService.cpp, line 161
[task 2020-04-15T15:38:33.939Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2307
[task 2020-04-15T15:38:33.941Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-04-15T15:38:33.941Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-04-15T15:38:33.941Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2307
[task 2020-04-15T15:38:33.942Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-04-15T15:38:33.942Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-04-15T15:38:33.942Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2307
[task 2020-04-15T15:38:33.943Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-04-15T15:38:33.943Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-04-15T15:38:33.944Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2307
[task 2020-04-15T15:38:33.944Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-04-15T15:38:33.944Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-04-15T15:38:33.945Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2307
[task 2020-04-15T15:38:33.945Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 398
[task 2020-04-15T15:38:33.947Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/caps/ContentPrincipal.cpp, line 423
[task 2020-04-15T15:38:33.977Z] 15:38:33 INFO - [Child 8704, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3352
[task 2020-04-15T15:38:34.201Z] 15:38:34 INFO - ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-04-15T15:38:34.205Z] 15:38:34 INFO - Assertion failure: lockedCanvasThreadHolder.ref() ->mCanvasWorkers.forget() .take() ->Release() == 0 (There should be no other references to mCanvasWorkers.), at /builds/worker/checkouts/gecko/gfx/layers/ipc/CanvasThread.cpp:88
[task 2020-04-15T15:38:34.394Z] 15:38:34 INFO - Initializing stack-fixing for the first stack frame, this may take a while...
[task 2020-04-15T15:38:52.677Z] 15:38:52 INFO - #01: MessageLoop::RunTask(already_AddRefed<nsIRunnable>) [hg:hg.mozilla.org/integration/autoland:ipc/chromium/src/base/message_loop.cc:346767fe3f9027d50222a07a981d8eb3b573fea5:443]
[task 2020-04-15T15:38:52.677Z] 15:38:52 INFO - #02: MessageLoop::DoWork() [hg:hg.mozilla.org/integration/autoland:ipc/chromium/src/base/message_loop.cc:346767fe3f9027d50222a07a981d8eb3b573fea5:525]
[task 2020-04-15T15:38:52.678Z] 15:38:52 INFO - #03: base::MessagePumpForUI::DoRunLoop() [hg:hg.mozilla.org/integration/autoland:ipc/chromium/src/base/message_pump_win.cc:346767fe3f9027d50222a07a981d8eb3b573fea5:204]
[task 2020-04-15T15:38:52.679Z] 15:38:52 INFO - #04: base::MessagePumpWin::Run(base::MessagePump::Delegate*) [hg:hg.mozilla.org/integration/autoland:ipc/chromium/src/base/message_pump_win.h:346767fe3f9027d50222a07a981d8eb3b573fea5:79]
[task 2020-04-15T15:38:52.679Z] 15:38:52 INFO - #05: MessageLoop::RunHandler() [hg:hg.mozilla.org/integration/autoland:ipc/chromium/src/base/message_loop.cc:346767fe3f9027d50222a07a981d8eb3b573fea5:309]
[task 2020-04-15T15:38:52.679Z] 15:38:52 INFO - #06: base::Thread::ThreadMain() [hg:hg.mozilla.org/integration/autoland:ipc/chromium/src/base/thread.cc:346767fe3f9027d50222a07a981d8eb3b573fea5:192]
[task 2020-04-15T15:38:52.680Z] 15:38:52 INFO - #07: anonymous namespace'::ThreadFunc(void*) [hg:hg.mozilla.org/integration/autoland:ipc/chromium/src/base/platform_thread_win.cc:346767fe3f9027d50222a07a981d8eb3b573fea5:20] [task 2020-04-15T15:38:52.680Z] 15:38:52 INFO - fix-stacks error: failed to read breakpad symbols dirZ:\task_1586959688\build\symbols\KERNEL32.DLLforC:\Windows\System32\KERNEL32.DLL[task 2020-04-15T15:38:52.680Z] 15:38:52 INFO - fix-stacks note: this is expected and harmless for system libraries on debug automation runs [task 2020-04-15T15:38:52.681Z] 15:38:52 INFO - #08: BaseThreadInitThunk [C:\Windows\System32\KERNEL32.DLL + 0x13034] [task 2020-04-15T15:38:52.783Z] 15:38:52 INFO - #09: patched_BaseThreadInitThunk(int, void*, void*) [hg:hg.mozilla.org/integration/autoland:mozglue/dllservices/WindowsDllBlocklist.cpp:346767fe3f9027d50222a07a981d8eb3b573fea5:593] [task 2020-04-15T15:38:52.784Z] 15:38:52 INFO - fix-stacks error: failed to read breakpad symbols dirZ:\task_1586959688\build\symbols\ntdll.pdbforC:\Windows\SYSTEM32\ntdll.dll`
[task 2020-04-15T15:38:52.784Z] 15:38:52 INFO - fix-stacks note: this is expected and harmless for system libraries on debug automation runs
[task 2020-04-15T15:38:52.785Z] 15:38:52 INFO - #10: RtlUserThreadStart [C:\Windows\SYSTEM32\ntdll.dll + 0x71461]
[task 2020-04-15T15:38:52.786Z] 15:38:52 INFO - ###!!! [Child][MessageChannel::SendAndWait] Error: Channel error: cannot send/recv
[task 2020-04-15T15:38:52.787Z] 15:38:52 INFO - ###!!! [Child][MessageChannel::SendAndWait] Error: Channel error: cannot send/recv
[task 2020-04-15T15:38:52.787Z] 15:38:52 INFO - [Child 808, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp, line 475
[task 2020-04-15T15:38:52.788Z] 15:38:52 INFO - [GFX1-]: Receive IPC close with reason=AbnormalShutdown
[task 2020-04-15T15:38:52.788Z] 15:38:52 INFO - ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to c:\users\task_1586959688\appdata\local\temp\tmpoxhz3c.mozrunner\runreftest_leaks_gpu_pid3752.log
[task 2020-04-15T15:38:52.789Z] 15:38:52 INFO - [3752, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 221
[task 2020-04-15T15:38:52.789Z] 15:38:52 INFO - 1586965114971 Marionette TRACE Received observer notification xpcom-will-shutdown
[task 2020-04-15T15:38:52.790Z] 15:38:52 INFO - 1586965114972 Marionette INFO Stopped listening on port 2828
[task 2020-04-15T15:38:52.791Z] 15:38:52 INFO - 1586965114972 Marionette DEBUG Marionette stopped listening
[task 2020-04-15T15:38:52.791Z] 15:38:52 INFO - JavaScript error: resource://gre/modules/AsyncShutdown.jsm, line 697: Error: Phase "profile-before-change" is finished, it is too late to register completion condition "CrashService waiting for content crash ping to be sent"
[task 2020-04-15T15:38:52.792Z] 15:38:52 INFO - JavaScript error: resource://gre/modules/TelemetryController.jsm, line 548: Error: submitExternalPing - Submission is not allowed after shutdown, discarding ping of type: crash
[task 2020-04-15T15:38:52.793Z] 15:38:52 INFO - [Parent 9368, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/js/xpconnect/loader/mozJSComponentLoader.cpp, line 228
[task 2020-04-15T15:38:52.793Z] 15:38:52 INFO - [Parent 9368, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/js/xpconnect/loader/mozJSComponentLoader.cpp, line 255
[task 2020-04-15T15:38:52.794Z] 15:38:52 INFO - ###!!! [Child][MessageChannel] Error: (msgtype=0x520020,name=PGPU::Msg_InitComplete) Channel closing: too late to send/recv, messages will be lost
[task 2020-04-15T15:38:52.794Z] 15:38:52 INFO - ###!!! [Child][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-04-15T15:38:52.795Z] 15:38:52 INFO - ###!!! [Child][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-04-15T15:38:52.795Z] 15:38:52 INFO - ###!!! [Child][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-04-15T15:38:52.796Z] 15:38:52 INFO - [Child 3620, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/netwerk/base/nsNetUtil.cpp, line 2307

Assuming this is related to canvas remoting, but lmk if not.

Flags: needinfo?(bobowencode)

(In reply to Emilio Cobos Álvarez (:emilio) from comment #1)

Assuming this is related to canvas remoting, but lmk if not.

It is, thanks.

Component: Layout → Canvas: 2D
Regressed by: 1547286
Has Regression Range: --- → yes
Keywords: regression
Assignee: nobody → bobowencode
Status: NEW → ASSIGNED
Flags: needinfo?(bobowencode)
Priority: P5 → P1

TaskQueues hold onto their nsIEventTarget (in this case mCanvasWorkers) until
after they resolve their shutdown promise, which is what causes
CanvasThreadHolder::StaticRelease to be submitted to the compositor thread.
So this assertion can't be guaranteed.

Pushed by bobowencode@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/bf118a2f538a
Remove invalid assertion in CanvasThreadHolder::StaticRelease. r=mattwoodrow
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: