Closed Bug 1683002 Opened 3 years ago Closed 3 years ago

Intermittent Assertion failure: zoomedMetrics->GetApzc(), at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:733

Categories

(Core :: Graphics: Layers, defect)

defect

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- wontfix
firefox87 --- wontfix
firefox88 --- fixed

People

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

References

Details

(Keywords: assertion, intermittent-failure, Whiteboard: [stockwell disabled][stockwell needswork:owner])

Attachments

(2 files)

Filed by: ncsoregi [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=324753186&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/MvyCmJoCQoGQVcsG3WvJ9w/runs/0/artifacts/public/logs/live_backing.log


[task 2020-12-16T22:43:54.725Z] 22:43:54     INFO - GECKO(7144) | Assertion failure: zoomedMetrics->GetApzc(), at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:733
[task 2020-12-16T22:43:54.725Z] 22:43:54     INFO - GECKO(7144) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to c:\users\task_1608156496\appdata\local\temp\tmptwlvhs.mozrunner\runtests_leaks_tab_pid3984.log
[task 2020-12-16T22:43:54.725Z] 22:43:54     INFO - GECKO(7144) | [3984, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/pr
[task 2020-12-16T22:43:54.725Z] 22:43:54     INFO - GECKO(7144) | ofiler/core/platform.cpp:251
[task 2020-12-16T22:43:54.744Z] 22:43:54     INFO - GECKO(7144) | [Child 3788, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8459
[task 2020-12-16T22:43:54.744Z] 22:43:54     INFO - GECKO(7144) | [Child 3788, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8459
[task 2020-12-16T22:43:54.744Z] 22:43:54     INFO - GECKO(7144) | [Child 3788, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8459
[task 2020-12-16T22:43:54.745Z] 22:43:54     INFO - GECKO(7144) | [Child 3788, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8459
[task 2020-12-16T22:43:54.747Z] 22:43:54     INFO - GECKO(7144) | [Child 3788, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8459
[task 2020-12-16T22:43:54.752Z] 22:43:54     INFO - GECKO(7144) | [Child 3788, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8459
[task 2020-12-16T22:43:54.836Z] 22:43:54     INFO - GECKO(7144) | #01: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:701:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:741:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:141]
[task 2020-12-16T22:43:54.836Z] 22:43:54     INFO - GECKO(7144) | #02: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:701:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:741:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:142]
[task 2020-12-16T22:43:54.837Z] 22:43:54     INFO - GECKO(7144) | #03: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:701:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:741:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:142]
[task 2020-12-16T22:43:54.837Z] 22:43:54     INFO - GECKO(7144) | #04: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:701:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:741:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:142]
[task 2020-12-16T22:43:54.837Z] 22:43:54     INFO - GECKO(7144) | #05: mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree(mozilla::layers::Layer*, bool*) [gfx/layers/composite/AsyncCompositionManager.cpp:1122]
[task 2020-12-16T22:43:54.838Z] 22:43:54     INFO - GECKO(7144) | #06: mozilla::layers::AsyncCompositionManager::TransformShadowTree(mozilla::layers::SampleTime const&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>, mozilla::layers::CompositorBridgeParentBase::TransformsToSkip) [gfx/layers/composite/AsyncCompositionManager.cpp:1286]
[task 2020-12-16T22:43:54.838Z] 22:43:54     INFO - GECKO(7144) | #07: mozilla::layers::CompositorBridgeParent::CompositeToTarget(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::gfx::DrawTarget*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const*) [gfx/layers/ipc/CompositorBridgeParent.cpp:966]
[task 2020-12-16T22:43:54.839Z] 22:43:54     INFO - GECKO(7144) | #08: mozilla::layers::CompositorVsyncScheduler::Composite(mozilla::VsyncEvent const&) [gfx/layers/ipc/CompositorVsyncScheduler.cpp:258]
[task 2020-12-16T22:43:54.839Z] 22:43:54     INFO - GECKO(7144) | #09: mozilla::detail::RunnableMethodImpl<mozilla::layers::CompositorVsyncScheduler *,void (mozilla::layers::CompositorVsyncScheduler::*)(const mozilla::VsyncEvent &),1,mozilla::RunnableKind::Cancelable,mozilla::VsyncEvent>::Run() [xpcom/threads/nsThreadUtils.h:1204]
[task 2020-12-16T22:43:54.839Z] 22:43:54     INFO - GECKO(7144) | #10: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1200]
[task 2020-12-16T22:43:54.839Z] 22:43:54     INFO - GECKO(7144) | #11: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:548]
[task 2020-12-16T22:43:54.840Z] 22:43:54     INFO - GECKO(7144) | #12: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:303]
[task 2020-12-16T22:43:54.840Z] 22:43:54     INFO - GECKO(7144) | #13: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:328]
[task 2020-12-16T22:43:54.840Z] 22:43:54     INFO - GECKO(7144) | #14: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:310]
[task 2020-12-16T22:43:54.840Z] 22:43:54     INFO - GECKO(7144) | #15: static nsThread::ThreadFunc(void*) [xpcom/threads/nsThread.cpp:443]
[task 2020-12-16T22:43:55.113Z] 22:43:55     INFO - GECKO(7144) | #16: PR_NativeRunThread(void*) [nsprpub/pr/src/threads/combined/pruthr.c:408]
[task 2020-12-16T22:43:55.113Z] 22:43:55     INFO - GECKO(7144) | #17: pr_root(void*) [nsprpub/pr/src/md/windows/w95thred.c:140]
[task 2020-12-16T22:43:55.118Z] 22:43:55     INFO -  fix-stacks: error: failed to read symbols file `Z:\task_1608156496\build\symbols\ucrtbase.pdb\08A2EF04ED46F71846F69333018A073A1\ucrtbase.sym` for `C:\Windows\System32\ucrtbase.dll`
[task 2020-12-16T22:43:55.118Z] 22:43:55     INFO -  fix-stacks: note: this is expected and harmless for system libraries on debug automation runs
[task 2020-12-16T22:43:55.118Z] 22:43:55     INFO -  fix-stacks: The system cannot find the path specified. (os error 3)
[task 2020-12-16T22:43:55.119Z] 22:43:55     INFO - GECKO(7144) | #18: o_ceil [C:\Windows\System32\ucrtbase.dll + 0x1c4be]
[task 2020-12-16T22:43:55.124Z] 22:43:55     INFO -  fix-stacks: error: failed to read symbols file `Z:\task_1608156496\build\symbols\KERNEL32.DLL\CC28E59125064F9516DBA8AD3D6420A51\KERNEL32.DLL.sym` for `C:\Windows\System32\KERNEL32.DLL`
[task 2020-12-16T22:43:55.124Z] 22:43:55     INFO -  fix-stacks: note: this is expected and harmless for system libraries on debug automation runs
[task 2020-12-16T22:43:55.124Z] 22:43:55     INFO -  fix-stacks: The system cannot find the path specified. (os error 3)
[task 2020-12-16T22:43:55.124Z] 22:43:55     INFO - GECKO(7144) | #19: BaseThreadInitThunk [C:\Windows\System32\KERNEL32.DLL + 0x13034]
[task 2020-12-16T22:43:55.190Z] 22:43:55     INFO - GECKO(7144) | #20: patched_BaseThreadInitThunk(int, void*, void*) [mozglue/dllservices/WindowsDllBlocklist.cpp:587]
[task 2020-12-16T22:43:55.199Z] 22:43:55     INFO -  fix-stacks: error: failed to read symbols file `Z:\task_1608156496\build\symbols\ntdll.pdb\D3AE91CEDD9309EF777F2FD5120010BE1\ntdll.sym` for `C:\Windows\SYSTEM32\ntdll.dll`
[task 2020-12-16T22:43:55.199Z] 22:43:55     INFO -  fix-stacks: note: this is expected and harmless for system libraries on debug automation runs
[task 2020-12-16T22:43:55.199Z] 22:43:55     INFO -  fix-stacks: The system cannot find the path specified. (os error 3)
[task 2020-12-16T22:43:55.200Z] 22:43:55     INFO - GECKO(7144) | #21: RtlUserThreadStart [C:\Windows\SYSTEM32\ntdll.dll + 0x71461]
[task 2020-12-16T22:43:55.200Z] 22:43:55     INFO - GECKO(7144) | [Parent 7552, Unnamed thread 1c13e8f4400] WARNING: Resource acquired is being released in non-LIFO order; why?
[task 2020-12-16T22:43:55.201Z] 22:43:55     INFO - GECKO(7144) | : file /builds/worker/checkouts/gecko/xpcom/threads/BlockingResourceBase.cpp:292
[task 2020-12-16T22:43:55.201Z] 22:43:55     INFO - GECKO(7144) | --- Mutex : dumpSafetyLock (currently acquired)
[task 2020-12-16T22:43:55.202Z] 22:43:55     INFO - GECKO(7144) |  calling context
[task 2020-12-16T22:43:55.203Z] 22:43:55     INFO - GECKO(7144) |   [stack trace unavailable]```

This hit during the execution of dom/media/mediacontrol/tests/browser/browser_media_control_main_controller.js

Flags: needinfo?(jmathies)
Whiteboard: [stockwell needswork:owner]
Blocks: gfx-triage
Flags: needinfo?(jmathies)
Flags: needinfo?(botond)

Pushed to Try to get a Pernosco recording: https://treeherder.mozilla.org/#/jobs?repo=try&revision=286d7647e322f907ce4e0751d8fa74458b319672

(I don't suppose there's a way to get a Pernosco recording for an existing autoland failure?)

(In reply to Botond Ballo [:botond] from comment #9)

Pushed to Try to get a Pernosco recording: https://treeherder.mozilla.org/#/jobs?repo=try&revision=286d7647e322f907ce4e0751d8fa74458b319672

I got a few repros in this Try push, but did not get any emails about Pernosco recordings for them.

Does https://github.com/Pernosco/pernosco/wiki/Mozilla-Tips#reproducing-arbitrary-taskcluster-job-failures do what you want?

I tried this as well, but it seems to be malfunctioning for me. I reached out to :roc about it.

Assignee: nobody → apavel
Status: NEW → ASSIGNED

Checked around 20 logs and most of the failures are in

  • windows10-64 debug: toolkit/components/pictureinpicture/[browser_shortcutsAfterFocus.js, browser_saveLastPiPLoc.js, browser_smallVideoLayout.js]
  • linux1804-64 debug: toolkit/components/aboutmemory/tests/[test_aboutmemory4.xhtml, test_aboutmemory5.xhtml]

Made disabling patch for them.

Pushed by apavel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f6b5fb268305
disable some tests to reduce failure rate r=intermittent-reviewers,jmaher DONTBUILD
Keywords: leave-open
Whiteboard: [stockwell disable-recommended] → [stockwell disabled]

As I've not had success getting a Pernosco recording for this, I tried reproing the mochitest-chrome-1proc-1 failure of toolkit/components/aboutmemory/tests/test_aboutmemory5.xhtml (which seems to be the highest frequency and thus have the best chances of a local repro) locally.

I tried running that locally with:

./mach test --disable-e10s toolkit/components/aboutmemory/tests/test_aboutmemory5.xhtml

(with the --disable-e10s being there as it's a 1proc test job).

However, that fails with FAIL three content processes present in loaded data.

Running without --disable-e10s produces the same error.

Am I doing it wrong?

Flags: needinfo?(botond)
No longer blocks: gfx-triage

:mccr8, heads up that test_aboutmemory[4,5].xhtml got disabled on Linux x64 debug in this bug.

Not sure how important these tests are / how high a priority re-enabling them on this platform should be.

Flags: needinfo?(continuation)

Thanks for letting me know. That is a bit odd. I wonder if there's memory reporting for APZ that does something bad. I didn't think we had any but who knows.

Flags: needinfo?(continuation)

(In reply to Andrew McCreight [:mccr8] from comment #23)

Thanks for letting me know. That is a bit odd. I wonder if there's memory reporting for APZ that does something bad. I didn't think we had any but who knows.

I don't think the assertion is actually related to memory reporting. I think it's just an APZ bug that happens to be tickled by this testcase.

I am in principle happy to investigate further, but that's a lot more practical to do so if I can repro and investigate locally, and I haven't been able to get this test to work locally (as per comment 19).

Update:

There have been 46 failures within the last 7 days:

  • 31 failures on Windows 10 x64 debug
  • 15 failures on Windows 7 debug

Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=333163230&repo=autoland&lineNumber=48836

/pictureinpicture/player.xhtml]
[task 2021-03-14T09:05:30.000Z] 09:05:30     INFO - GECKO(3648) | Assertion failure: zoomedMetrics->GetApzc(), at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:710
[task 2021-03-14T09:05:30.007Z] 09:05:30     INFO - GECKO(3648) | [Child 6092, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.007Z] 09:05:30     INFO - GECKO(3648) | [Child 6092, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.007Z] 09:05:30     INFO - GECKO(3648) | [Child 6092, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.008Z] 09:05:30     INFO - GECKO(3648) | [Child 6092, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.015Z] 09:05:30     INFO - GECKO(3648) | [Child 6092, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.015Z] 09:05:30     INFO - GECKO(3648) | [Child 6092, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.022Z] 09:05:30     INFO - GECKO(3648) | [Child 1760, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.029Z] 09:05:30     INFO - GECKO(3648) | [Child 1760, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.029Z] 09:05:30     INFO - GECKO(3648) | [Child 1760, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.030Z] 09:05:30     INFO - GECKO(3648) | [Child 1760, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:8404
[task 2021-03-14T09:05:30.138Z] 09:05:30     INFO - GECKO(3648) | #01: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::LayerMetricsWrapper,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:701:15',`lambda at /builds/worker/checkouts/gecko/gfx/layers/TreeTraversal.h:156:26'>(mozilla::layers::LayerMetricsWrapper, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag>::operator()::<unnamed-tag> const&, mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::LayerMetricsWrapper,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:701:15'>::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:108]
[task 2021-03-14T09:05:30.139Z] 09:05:30     INFO - GECKO(3648) | #02: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:678:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:718:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:139]
[task 2021-03-14T09:05:30.142Z] 09:05:30     INFO - GECKO(3648) | #03: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:678:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:718:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:143]
[task 2021-03-14T09:05:30.142Z] 09:05:30     INFO - GECKO(3648) | #04: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:678:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:718:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:143]
[task 2021-03-14T09:05:30.142Z] 09:05:30     INFO - GECKO(3648) | #05: mozilla::layers::ForEachNode<mozilla::layers::ForwardIterator,mozilla::layers::Layer *,`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:678:7',`lambda at /builds/worker/checkouts/gecko/gfx/layers/composite/AsyncCompositionManager.cpp:718:7'>(mozilla::layers::Layer*, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&, mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree::<unnamed-tag> const&) [gfx/layers/TreeTraversal.h:143]
[task 2021-03-14T09:05:30.143Z] 09:05:30     INFO - GECKO(3648) | #06: mozilla::layers::AsyncCompositionManager::ApplyAsyncContentTransformToTree(mozilla::layers::Layer*, bool*) [gfx/layers/composite/AsyncCompositionManager.cpp:676]
[task 2021-03-14T09:05:30.143Z] 09:05:30     INFO - GECKO(3648) | #07: mozilla::layers::AsyncCompositionManager::TransformShadowTree(mozilla::layers::SampleTime const&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator>, mozilla::layers::CompositorBridgeParentBase::TransformsToSkip) [gfx/layers/composite/AsyncCompositionManager.cpp:1263]
[task 2021-03-14T09:05:30.143Z] 09:05:30     INFO - GECKO(3648) | #08: mozilla::layers::CompositorBridgeParent::CompositeToTarget(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::gfx::DrawTarget*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const*) [gfx/layers/ipc/CompositorBridgeParent.cpp:921]
[task 2021-03-14T09:05:30.143Z] 09:05:30     INFO - GECKO(3648) | #09: mozilla::layers::CompositorVsyncScheduler::Composite(mozilla::VsyncEvent const&) [gfx/layers/ipc/CompositorVsyncScheduler.cpp:258]
[task 2021-03-14T09:05:30.144Z] 09:05:30     INFO - GECKO(3648) | #10: mozilla::detail::RunnableMethodImpl<mozilla::layers::CompositorVsyncScheduler *,void (mozilla::layers::CompositorVsyncScheduler::*)(const mozilla::VsyncEvent &) __attribute__((thiscall)),1,mozilla::RunnableKind::Cancelable,mozilla::VsyncEvent>::Run() [xpcom/threads/nsThreadUtils.h:1204]
[task 2021-03-14T09:05:30.144Z] 09:05:30     INFO - GECKO(3648) | #11: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1152]
[task 2021-03-14T09:05:30.144Z] 09:05:30     INFO - GECKO(3648) | #12: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:548]
[task 2021-03-14T09:05:30.147Z] 09:05:30     INFO - GECKO(3648) | #13: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:302]
[task 2021-03-14T09:05:30.147Z] 09:05:30     INFO - GECKO(3648) | #14: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:335]
[task 2021-03-14T09:05:30.148Z] 09:05:30     INFO - GECKO(3648) | #15: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:329]
[task 2021-03-14T09:05:30.148Z] 09:05:30     INFO - GECKO(3648) | #16: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:311]
[task 2021-03-14T09:05:30.148Z] 09:05:30     INFO - GECKO(3648) | #17: static nsThread::ThreadFunc(void*) [xpcom/threads/nsThread.cpp:393]
[task 2021-03-14T09:05:30.148Z] 09:05:30     INFO - GECKO(3648) | #18: _PR_NativeRunThread(void*) [nsprpub/pr/src/threads/combined/pruthr.c:399]
[task 2021-03-14T09:05:30.149Z] 09:05:30     INFO - GECKO(3648) | #19: pr_root(void*) [nsprpub/pr/src/md/windows/w95thred.c:139]
[task 2021-03-14T09:05:30.164Z] 09:05:30     INFO -  fix-stacks: error: failed to read debug info file `ucrtbase.pdb` for `Z:\task_1615710058\build\application\firefox\ucrtbase.DLL`
[task 2021-03-14T09:05:30.164Z] 09:05:30     INFO -  fix-stacks: note: this is expected and harmless for all PDB files on opt automation runs
[task 2021-03-14T09:05:30.164Z] 09:05:30     INFO -  fix-stacks: The system cannot find the file specified. (os error 2)
[task 2021-03-14T09:05:30.164Z] 09:05:30     INFO - GECKO(3648) | #20: o____lc_collate_cp_func [Z:\task_1615710058\build\application\firefox\ucrtbase.DLL + 0x3e16f]
[task 2021-03-14T09:05:30.164Z] 09:05:30     INFO - GECKO(3648) | #21: BaseThreadInitThunk [C:\windows\system32\kernel32.dll + 0x4ef3c]
[task 2021-03-14T09:05:30.165Z] 09:05:30     INFO - GECKO(3648) | #22: RtlInitializeExceptionChain [C:\windows\SYSTEM32\ntdll.dll + 0x63618]
[task 2021-03-14T09:05:30.165Z] 09:05:30     INFO - GECKO(3648) | #23: RtlInitializeExceptionChain [C:\windows\SYSTEM32\ntdll.dll + 0x635eb]
[task 2021-03-14T09:05:30.285Z] 09:05:30     INFO - GECKO(3648) | Exiting due to channel error.
[task 2021-03-14T09:05:30.285Z] 09:05:30     INFO - GECKO(3648) | Exiting due to channel error.
[task 2021-03-14T09:05:30.286Z] 09:05:30     INFO - GECKO(3648) | [RDD 5020Exiting due to channel error.
Flags: needinfo?(jmathies)
Whiteboard: [stockwell disabled] → [stockwell disabled][stockwell needswork:owner]

I can try to make some more progress on this.

Assignee: apavel → botond
Flags: needinfo?(jmathies)

Based on some debugging via Try, this is what I've found:

  • The code in question, which is called by AsyncCompositionManager::TransformShadowTree(), is traversing the compositor layer tree, and if it contains an async zoom container, then expecting layers with the container's target scroll id to also have an APZC.
  • The async zoom container and scroll id annotations come from the content process via a layers transaction.
  • The APZC objects are attached to the layer tree during UpdateHitTestingTree.
  • The invariant can therefore fail to hold if, for a given composite, we don't call UpdateHitTestingTree before calling TransformShadowTree.
  • We can skip calling UpdateHitTestingTree if mApzUpdater is null, which can happen if the window doesn't use APZ.
  • In principle, if the window doesn't use APZ, the content process should know that and not create APZ-related annotations. However, for the async zoom container in particular, whether we build it is gated on AllowZoomingForDocument, which checks apz.allow_zooming, but does not check APZ itself being enabled for the window.

Checking the window's APZ enablement in AllowZoomingForDocument() gives me a Try push that's pretty green.

Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d7379f2e509c
Do not build an async zoom container in APZ-disabled windows. r=tnikkel

Looks like the fix was effective.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Keywords: leave-open
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: