Closed Bug 1697147 Opened 3 years ago Closed 3 years ago

Intermittent devtools/shared/resources/tests/browser_target_list_various_descriptors.js | Test timed out -

Categories

(DevTools :: General, defect, P5)

defect

Tracking

(firefox-esr78 unaffected, firefox86 unaffected, firefox87 unaffected, firefox88 wontfix, firefox89 fixed)

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

People

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

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

Filed by: ncsoregi [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=332500488&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/CXEIBgM7S2ihKhpDBoHj0w/runs/0/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/CXEIBgM7S2ihKhpDBoHj0w/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2021-03-09T09:03:05.667Z] 09:03:05     INFO - TEST-PASS | devtools/shared/resources/tests/browser_target_list_various_descriptors.js | This is flagged as top level - 
[task 2021-03-09T09:03:05.668Z] 09:03:05     INFO - Test TargetList against parent process descriptor
[task 2021-03-09T09:03:05.668Z] 09:03:05     INFO - Buffered messages finished
[task 2021-03-09T09:03:05.668Z] 09:03:05     INFO - TEST-UNEXPECTED-FAIL | devtools/shared/resources/tests/browser_target_list_various_descriptors.js | Test timed out - 
[task 2021-03-09T09:03:05.670Z] 09:03:05     INFO - Not taking screenshot here: see the one that was previously logged
[task 2021-03-09T09:03:05.670Z] 09:03:05     INFO - TEST-UNEXPECTED-FAIL | devtools/shared/resources/tests/browser_target_list_various_descriptors.js | The main process DevToolsServer has no pending connection when the test ends - 
[task 2021-03-09T09:03:05.670Z] 09:03:05     INFO - Stack trace:
[task 2021-03-09T09:03:05.670Z] 09:03:05     INFO - chrome://mochikit/content/browser-test.js:test_ok:1331
[task 2021-03-09T09:03:05.670Z] 09:03:05     INFO - chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js:cleanup:316
[task 2021-03-09T09:03:05.671Z] 09:03:05     INFO - Not taking screenshot here: see the one that was previously logged
[task 2021-03-09T09:03:05.676Z] 09:03:05     INFO - TEST-UNEXPECTED-FAIL | devtools/shared/resources/tests/browser_target_list_various_descriptors.js | Uncaught exception received from previously timed out test - at resource://devtools/shared/protocol/Front.js:99 - Error: Connection closed, pending request to server0.conn2.watcher28, type watchTargets failed
[task 2021-03-09T09:03:05.676Z] 09:03:05     INFO - ```
Summary: Intermittent TV devtools/shared/resources/tests/browser_target_list_various_descriptors.js | Test timed out - → Intermittent devtools/shared/resources/tests/browser_target_list_various_descriptors.js | Test timed out -

Alexandre, any chance you could take a look at this when you have the time?
Thank you.

Flags: needinfo?(poirot.alex)

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

I tried to reproduce via --verify but this doesn't reproduce frequently. I'll test again later.

I'm able to reproduce a few errors now, thanks this this command:

$ ./mach mochitest --headless devtools/shared/commands/target/tests/browser_target_list_tab_workers.js devtools/shared/commands/target/tests/browser_target_list_various_descriptors.js --repeat 10

I've also seen the following exception happening frequently:

 0:34.71 GECKO(33480) console.error: "Tried to send a 'getTarget' method reply on an already destroyed actor 'workerDescriptor'"
 1:18.12 INFO Failed to retrieve MOZ_UPLOAD_DIR env var
 1:18.18 GECKO(33480) console.error: "Error when attaching target:" (new Error("Connection closed, pending request to server0.conn10.workerDescriptor34, type getTarget failed\n\nRequest stack:\nrequest@resource://devtools/shared/protocol/Front.js:285:14\ngenerateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:46:19\ngetTarget/this._attach<@resource://devtools/client/fronts/descriptors/worker.js:92:44\nasync*getTarget@resource://devtools/client/fronts/descriptors/worker.js:105:7\nattach@resource://devtools/client/fronts/descriptors/worker.js:64:17\n_attachAndInitThread@resource://devtools/client/fronts/targets/target-mixin.js:477:20\nattachAndInitThread@resource://devtools/client/fronts/targets/target-mixin.js:456:40\n_onTargetAvailable@resource://devtools/shared/commands/target/target-command.js:166:25\n_processNewWorkerTarget@resource://devtools/shared/resources/legacy-target-watchers/legacy-workers-watcher.js:137:20\n_workerListChanged/promises<@resource://devtools/shared/resources/legacy-target-watchers/legacy-workers-watcher.js:112:12\n_workerListChanged@resource://devtools/shared/resources/legacy-target-watchers/legacy-workers-watcher.js:111:30\nasync*_onProcessAvailable@resource://devtools/shared/resources/legacy-target-watchers/legacy-workers-watcher.js:38:16\nlisten@resource://devtools/shared/resources/legacy-target-watchers/legacy-workers-watcher.js:157:18\nasync*startListening@resource://devtools/shared/commands/target/target-command.js:325:47\nasync*testParentProcess@chrome://mochitests/content/browser/devtools/shared/commands/target/tests/browser_target_list_various_descriptors.js:40:20\nasync*@chrome://mochitests/content/browser/devtools/shared/commands/target/tests/browser_target_list_various_descriptors.js:26:9\nAsync*Tester_execTest/<@chrome://mochikit/content/browser-test.js:1089:34\nTester_execTest@chrome://mochikit/content/browser-test.js:1129:11\nnextTest/<@chrome://mochikit/content/browser-test.js:949:14\nSimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1037:23\n", "resource://devtools/shared/protocol/Front.js", 99))

This is related to bug 1631451 and the worker descriptor isn't immediately/correctly destroyed so that the getTarget pending request isn't rejected and stays pending. This is most likely related to worker descriptor's destroy not destroying the front interface as soon as descriptor-destroyed event is received.

Assignee: nobody → poirot.alex
Flags: needinfo?(poirot.alex)

Apply the same technique as in addWatcherDataEntry in order
to better handle the case when a content process is being destroyed
while we call one of these two methods.

Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d73b25e24e9e
[devtools] Handle destroyed content processes when calling WatcherActor.watchTargets. r=nchevobbe
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch
See Also: → 1701153
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: