Open Bug 1721859 Opened 3 years ago Updated 2 years ago

Enable browser_target_command_tab_workers_bfcache_navigation.js on debug builds

Categories

(DevTools :: Framework, task, P3)

task

Tracking

(Not tracked)

People

(Reporter: ochameau, Unassigned)

References

Details

(Whiteboard: dt-perf-stability-triage)

Bug 1691588 will land a new TargetCommand test to cover WORKER targets while doing BF Cache navigations.
Unfortunately this triggers an assertion and make the test fail on DEBUG builds.
We are hitting the following assertion:
https://searchfox.org/mozilla-central/rev/352b525ab841278cd9b3098343f655ef85933544/dom/workers/WorkerPrivate.cpp#5218

I imagine that WorkerPrivate is kept alive when doing a BFCache navigation, while WorkerDebugger is destroyed. This leads to us trying to re-create a second debugger scope when trying to initialize the second WorkerDebugger instance.

I suspect that because of this issue, we are missing workers when doing history navigation.
Would you mind verifying that?
We may miss worker when going back to a page that has been saved into the cache.
So open website A, then B. Go back to A. The workers of A are probably missing.
If that works on optimized build, it could be worth testing with debug build to see if the assertion is also hit with manual test.

Flags: needinfo?(odvarko)
See Also: → 1722709

Btw. I tested this and I can see a worker when navigating in history (not debug build)

My STRs:

  1. Load http://janodvarko.cz/tests/bugzilla/1721859/
  2. You should see a worker in Debugger's Threads panel. The worker should also add numbers on the page
  3. Navigate back, the worker should be paused
  4. Navigate forward, the worker should be resumed and continue adding numbers on the page

These steps work for me.

Honza

Flags: needinfo?(odvarko)
Summary: Enable browser_target_list_tab_workers_bfcache_navigation.js on debug builds → Enable browser_target_command_tab_workers_bfcache_navigation.js on debug builds
Severity: -- → S3
Flags: needinfo?(odvarko)
Flags: needinfo?(jdescottes)
Priority: -- → P3

I tested again and it works for me on non-debug build just fine

However on debug build i am experiencing tab crash ("Gah. Your tab just crashed.")

My .mozconfig

ac_add_options --enable-artifact-builds
ac_add_options --enable-debug-js-modules
ac_add_options --enable-debug

This is what I am seeing in the system console:

[Parent 27808, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer B170F1A118C06DF2.43B8CC45663F4D37: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:289
[Parent 27808, IPC I/O Parent] WARNING: [1.1]: Rejecting introduction request from 'F668AD59A3DB93D6.3B388F838794B8C4' for unknown peer 'B170F1A118C06DF2.43B8CC45663F4D37': file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:527

###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv

[Parent 27808, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[Parent 27808, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[Parent 27808, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[Parent 27808, Main Thread] WARNING: No build ID mismatch: file /builds/worker/checkouts/gecko/dom/base/nsFrameLoader.cpp:3820
[Parent 27808, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:527
[Parent 27808, Main Thread] WARNING: '!wc', file /builds/worker/checkouts/gecko/dom/base/ThirdPartyUtil.cpp:226
[Parent 27808, Main Thread] WARNING: '!topWindow', file /builds/worker/checkouts/gecko/toolkit/components/antitracking/AntiTrackingUtils.cpp:571
[Parent 27808, IPC I/O Parent] WARNING: file /builds/worker/checkouts/gecko/ipc/chromium/src/base/process_util_win.cc:167
Flags: needinfo?(odvarko)
Whiteboard: dt-perf-stability-triage
Flags: needinfo?(jdescottes)
Type: defect → task
You need to log in before you can comment on or make changes to this bug.