Closed Bug 1730753 Opened 3 years ago Closed 3 years ago

Intermittent Assertion failure: entry.GetData().Expired() || aData.mLoader->ShouldBypassCache() (Overriding existing complete entry?), at /builds/worker/checkouts/gecko/layout/style/SharedStyleSheetCache.cpp:464

Categories

(Core :: DOM: Core & HTML, defect, P5)

defect

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
firefox-esr78 --- unaffected
firefox-esr91 --- unaffected
firefox92 --- unaffected
firefox93 --- unaffected
firefox94 --- affected

People

(Reporter: intermittent-bug-filer, Unassigned)

References

(Regression)

Details

(Keywords: assertion, intermittent-failure, regression)

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


[task 2021-09-14T18:34:03.531Z] 18:34:03     INFO - TEST-START | dom/base/test/test_bug590812.html
[task 2021-09-14T18:34:03.631Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[task 2021-09-14T18:34:03.674Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[task 2021-09-14T18:34:03.685Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3357
[task 2021-09-14T18:34:03.703Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[task 2021-09-14T18:34:03.710Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[task 2021-09-14T18:34:03.711Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[task 2021-09-14T18:34:03.713Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[task 2021-09-14T18:34:03.726Z] 18:34:03     INFO - GECKO(1538) | [Parent 1538, Main Thread] WARNING: WebProgress Ignored: no longer current window global: file /builds/worker/checkouts/gecko/dom/ipc/BrowserParent.cpp:2979
[task 2021-09-14T18:34:03.738Z] 18:34:03     INFO - GECKO(1538) | [Child 8776, Main Thread] WARNING: NS_ENSURE_TRUE(Preferences::InitStaticMembers()) failed: file /builds/worker/checkouts/gecko/modules/libpref/Preferences.cpp:4438
[task 2021-09-14T18:34:03.793Z] 18:34:03     INFO - GECKO(1538) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp8q55f3qe.mozrunner/runtests_leaks_tab_pid8859.log
[task 2021-09-14T18:34:03.795Z] 18:34:03     INFO - GECKO(1538) | [8859, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp:250
[task 2021-09-14T18:34:03.861Z] 18:34:03     INFO - GECKO(1538) | [Child 8859, Main Thread] WARNING: could not set real-time limit in CubebUtils::InitLibrary: file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp:642
[task 2021-09-14T18:34:04.250Z] 18:34:04     INFO - GECKO(1538) | [Child 8792, Main Thread] WARNING: NS_ENSURE_TRUE(currentInner) failed: file /builds/worker/checkouts/gecko/dom/base/WindowDestroyedEvent.cpp:113
[task 2021-09-14T18:34:04.480Z] 18:34:04     INFO - GECKO(1538) | Assertion failure: entry.GetData().Expired() || aData.mLoader->ShouldBypassCache() (Overriding existing complete entry?), at /builds/worker/checkouts/gecko/layout/style/SharedStyleSheetCache.cpp:464
[task 2021-09-14T18:34:04.506Z] 18:34:04     INFO -  Initializing stack-fixing for the first stack frame, this may take a while...
[task 2021-09-14T18:34:11.627Z] 18:34:11     INFO - GECKO(1538) | #01: mozilla::SharedStyleSheetCache::InsertIntoCompleteCacheIfNeeded(mozilla::css::SheetLoadData&) [layout/style/SharedStyleSheetCache.cpp:462]
[task 2021-09-14T18:34:11.628Z] 18:34:11     INFO - GECKO(1538) | #02: mozilla::SharedStyleSheetCache::LoadCompletedInternal(mozilla::SharedStyleSheetCache*, mozilla::css::SheetLoadData&, nsTArray<RefPtr<mozilla::css::SheetLoadData> >&) [layout/style/SharedStyleSheetCache.cpp:412]
Has Regression Range: --- → yes

Ah, so I see how this can happen... We're loading the same chrome:// stylesheet, but synchronously on the UA widget, and asynchronously on the reference page. So if the timing is:

  • Async load starts.
  • Sync load (but can't coalesce to the async one, because it needs to be sync).
  • Async load ends, and overrides the sync load in the cache.

It would hit this assert. So I need to figure out how to tweak the assert to account for this condition.

Flags: needinfo?(emilio)
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.