Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_<random> <something> | AssertionError: NoSuchWindowException not raised
Categories
(Testing :: Marionette Client and Harness, defect, P1)
Tracking
(Fission Milestone:M7, firefox-esr78 unaffected, firefox81 unaffected, firefox82 fixed, firefox83 fixed)
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox81 | --- | unaffected |
firefox82 | --- | fixed |
firefox83 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: whimboo)
References
(Regression)
Details
(Keywords: assertion, intermittent-failure, regression, Whiteboard: [marionette-fission-mvp][simple][stockwell needswork])
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
Filed by: csabou [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=315860762&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/XBCRPBKfQqOA5opip4skRQ/runs/0/artifacts/public/logs/live_backing.log
[task 2020-09-16T16:59:05.519Z] 16:59:05 INFO - TEST-PASS | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py TestNoSuchWindowContent.test_closed_tab_while_in_frame | took 298ms
[task 2020-09-16T16:59:05.519Z] 16:59:05 INFO - TEST-START | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py TestNoSuchWindowChrome.test_closed_chrome_window
[task 2020-09-16T16:59:05.523Z] 16:59:05 INFO - 1600275545516 Marionette DEBUG Closed connection 89
[task 2020-09-16T16:59:05.524Z] 16:59:05 INFO - 1600275545518 Marionette DEBUG Accepted connection 90 from 127.0.0.1:35506
[task 2020-09-16T16:59:05.526Z] 16:59:05 INFO - 1600275545520 Marionette DEBUG 90 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
[task 2020-09-16T16:59:05.527Z] 16:59:05 INFO - 1600275545522 Marionette TRACE [115] Frame script loaded
[task 2020-09-16T16:59:05.528Z] 16:59:05 INFO - 1600275545527 Marionette DEBUG 90 <- [1,1,null,{"sessionId":"9bf9a7f6-bdac-42e8-8d16-f9f3eea2291f","capabilities":{"browserName":"firefox","browserVersion":"82.0a ... mp/tmpNN2fX1.mozrunner","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true}}]
[task 2020-09-16T16:59:05.532Z] 16:59:05 INFO - 1600275545528 Marionette DEBUG 90 -> [0,2,"WebDriver:SetTimeouts",{"script":30000}]
[task 2020-09-16T16:59:05.532Z] 16:59:05 INFO - 1600275545529 Marionette DEBUG 90 <- [1,2,null,{"value":null}]
[task 2020-09-16T16:59:05.533Z] 16:59:05 INFO - 1600275545530 Marionette DEBUG 90 -> [0,3,"WebDriver:SetTimeouts",{"pageLoad":300000}]
[task 2020-09-16T16:59:05.535Z] 16:59:05 INFO - 1600275545530 Marionette DEBUG 90 <- [1,3,null,{"value":null}]
[task 2020-09-16T16:59:05.536Z] 16:59:05 INFO - 1600275545530 Marionette DEBUG 90 -> [0,4,"WebDriver:SetTimeouts",{"implicit":0}]
[task 2020-09-16T16:59:05.537Z] 16:59:05 INFO - 1600275545531 Marionette DEBUG 90 <- [1,4,null,{"value":null}]
[task 2020-09-16T16:59:05.537Z] 16:59:05 INFO - 1600275545531 Marionette DEBUG 90 -> [0,5,"WebDriver:GetChromeWindowHandle",{}]
[task 2020-09-16T16:59:05.538Z] 16:59:05 INFO - 1600275545531 Marionette DEBUG 90 <- [1,5,null,{"value":"1"}]
[task 2020-09-16T16:59:05.541Z] 16:59:05 INFO - 1600275545535 Marionette DEBUG 90 -> [0,6,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.543Z] 16:59:05 INFO - 1600275545536 Marionette DEBUG 90 <- [1,6,null,["1"]]
[task 2020-09-16T16:59:05.544Z] 16:59:05 INFO - 1600275545539 Marionette DEBUG 90 -> [0,7,"WebDriver:GetWindowHandle",{}]
[task 2020-09-16T16:59:05.544Z] 16:59:05 INFO - 1600275545539 Marionette DEBUG 90 <- [1,7,null,{"value":"115"}]
[task 2020-09-16T16:59:05.544Z] 16:59:05 INFO - 1600275545539 Marionette DEBUG 90 -> [0,8,"WebDriver:GetWindowHandles",{}]
[task 2020-09-16T16:59:05.545Z] 16:59:05 INFO - 1600275545540 Marionette DEBUG 90 <- [1,8,null,["115"]]
[task 2020-09-16T16:59:05.545Z] 16:59:05 INFO - 1600275545540 Marionette DEBUG 90 -> [0,9,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.545Z] 16:59:05 INFO - 1600275545540 Marionette DEBUG 90 <- [1,9,null,{"value":null}]
[task 2020-09-16T16:59:05.545Z] 16:59:05 INFO - 1600275545541 Marionette DEBUG 90 -> [0,10,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.545Z] 16:59:05 INFO - 1600275545541 Marionette DEBUG 90 <- [1,10,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.553Z] 16:59:05 INFO - 1600275545546 Marionette DEBUG 90 -> [0,11,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.553Z] 16:59:05 INFO - 1600275545546 Marionette DEBUG 90 <- [1,11,null,{"value":null}]
[task 2020-09-16T16:59:05.554Z] 16:59:05 INFO - 1600275545547 Marionette DEBUG 90 -> [0,12,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.555Z] 16:59:05 INFO - 1600275545547 Marionette DEBUG 90 <- [1,12,null,["1"]]
[task 2020-09-16T16:59:05.556Z] 16:59:05 INFO - 1600275545547 Marionette DEBUG 90 -> [0,13,"WebDriver:GetWindowHandles",{}]
[task 2020-09-16T16:59:05.557Z] 16:59:05 INFO - 1600275545547 Marionette DEBUG 90 <- [1,13,null,["115"]]
[task 2020-09-16T16:59:05.557Z] 16:59:05 INFO - 1600275545548 Marionette DEBUG 90 -> [0,14,"WebDriver:NewWindow",{"type":"window","focus":false,"private":false}]
[task 2020-09-16T16:59:05.559Z] 16:59:05 INFO - 1600275545552 Marionette TRACE Received observer notification toplevel-window-ready
[task 2020-09-16T16:59:05.562Z] 16:59:05 INFO - 1600275545561 Marionette TRACE Received DOM event activate for [object Window]
[task 2020-09-16T16:59:05.563Z] 16:59:05 INFO - 1600275545561 Marionette TRACE Received DOM event focus for [object HTMLDocument]
[task 2020-09-16T16:59:05.724Z] 16:59:05 INFO - 1600275545722 Marionette TRACE Received observer notification browser-delayed-startup-finished
[task 2020-09-16T16:59:05.742Z] 16:59:05 INFO - 1600275545732 Marionette TRACE Received DOM event activate for [object Window]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545732 Marionette TRACE Received DOM event focus for [object HTMLDocument]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545733 Marionette DEBUG 90 <- [1,14,null,{"handle":"167","type":"window"}]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545736 Marionette DEBUG 90 -> [0,15,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545736 Marionette DEBUG 90 <- [1,15,null,["1","165"]]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545737 Marionette DEBUG 90 -> [0,16,"WebDriver:GetChromeWindowHandles",{}]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545737 Marionette DEBUG 90 <- [1,16,null,["1","165"]]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545738 Marionette DEBUG 90 -> [0,17,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545738 Marionette DEBUG 90 <- [1,17,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545739 Marionette DEBUG 90 -> [0,18,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.743Z] 16:59:05 INFO - 1600275545739 Marionette DEBUG 90 <- [1,18,null,{"value":null}]
[task 2020-09-16T16:59:05.746Z] 16:59:05 INFO - 1600275545743 Marionette DEBUG 90 -> [0,19,"WebDriver:ExecuteScript",{"script":"Components.utils.import(\"resource://gre/modules/Services.jsm\");\n\n ... ":"../../venv/lib/python2.7/site-packages/marionette_harness/runner/mixins/window_manager.py","sandbox":"default","line":97}]
[task 2020-09-16T16:59:05.749Z] 16:59:05 INFO - 1600275545747 Marionette DEBUG 90 <- [1,19,null,{"value":true}]
[task 2020-09-16T16:59:05.757Z] 16:59:05 INFO - 1600275545750 Marionette DEBUG 90 -> [0,20,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.757Z] 16:59:05 INFO - 1600275545750 Marionette DEBUG 90 <- [1,20,null,{"value":null}]
[task 2020-09-16T16:59:05.757Z] 16:59:05 INFO - 1600275545752 Marionette DEBUG 90 -> [0,21,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.758Z] 16:59:05 INFO - 1600275545752 Marionette DEBUG 90 <- [1,21,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.759Z] 16:59:05 INFO - 1600275545753 Marionette DEBUG 90 -> [0,22,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.759Z] 16:59:05 INFO - 1600275545753 Marionette DEBUG 90 <- [1,22,null,{"value":null}]
[task 2020-09-16T16:59:05.760Z] 16:59:05 INFO - 1600275545753 Marionette DEBUG 90 -> [0,23,"WebDriver:SwitchToWindow",{"handle":"165","focus":true}]
[task 2020-09-16T16:59:05.760Z] 16:59:05 INFO - 1600275545755 Marionette TRACE [167] Frame script loaded
[task 2020-09-16T16:59:05.764Z] 16:59:05 INFO - 1600275545760 Marionette TRACE Received DOM event activate for [object Window]
[task 2020-09-16T16:59:05.765Z] 16:59:05 INFO - 1600275545760 Marionette TRACE Received DOM event focus for [object HTMLDocument]
[task 2020-09-16T16:59:05.768Z] 16:59:05 INFO - 1600275545766 Marionette DEBUG 90 <- [1,23,null,{"value":null}]
[task 2020-09-16T16:59:05.804Z] 16:59:05 INFO - 1600275545798 Marionette DEBUG 90 -> [0,24,"WebDriver:CloseChromeWindow",{}]
[task 2020-09-16T16:59:05.813Z] 16:59:05 INFO - 1600275545806 Marionette TRACE Received DOM event unload for [object HTMLDocument]
[task 2020-09-16T16:59:05.814Z] 16:59:05 INFO - 1600275545809 Marionette TRACE Received observer notification message-manager-disconnect
[task 2020-09-16T16:59:05.814Z] 16:59:05 INFO - 1600275545810 Marionette TRACE [167] Frame script unloaded
[task 2020-09-16T16:59:05.817Z] 16:59:05 INFO - 1600275545811 Marionette DEBUG 90 <- [1,24,null,["1"]]
[task 2020-09-16T16:59:05.818Z] 16:59:05 INFO - 1600275545816 Marionette DEBUG 90 -> [0,25,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.819Z] 16:59:05 INFO - 1600275545816 Marionette DEBUG 90 <- [1,25,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.820Z] 16:59:05 INFO - 1600275545817 Marionette DEBUG 90 -> [0,26,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.820Z] 16:59:05 INFO - 1600275545817 Marionette DEBUG 90 <- [1,26,null,{"value":null}]
[task 2020-09-16T16:59:05.821Z] 16:59:05 INFO - 1600275545818 Marionette DEBUG 90 -> [0,27,"WebDriver:GetChromeWindowHandle",{}]
[task 2020-09-16T16:59:05.822Z] 16:59:05 INFO - 1600275545818 Marionette DEBUG 90 <- [1,27,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://marione ... t@chrome://marionette/content/server.js:241:9\n_onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20\n"},null]
[task 2020-09-16T16:59:05.822Z] 16:59:05 INFO - 1600275545819 Marionette DEBUG 90 -> [0,28,"WebDriver:GetWindowHandle",{}]
[task 2020-09-16T16:59:05.823Z] 16:59:05 INFO - 1600275545820 Marionette DEBUG 90 <- [1,28,null,{"value":"167"}]
[task 2020-09-16T16:59:05.824Z] 16:59:05 INFO - 1600275545821 Marionette DEBUG 90 -> [0,29,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.824Z] 16:59:05 INFO - 1600275545821 Marionette DEBUG 90 <- [1,29,null,{"value":null}]
[task 2020-09-16T16:59:05.826Z] 16:59:05 INFO - 1600275545822 Marionette DEBUG 90 -> [0,30,"Marionette:GetContext",{}]
[task 2020-09-16T16:59:05.826Z] 16:59:05 INFO - 1600275545822 Marionette DEBUG 90 <- [1,30,null,{"value":"chrome"}]
[task 2020-09-16T16:59:05.827Z] 16:59:05 INFO - 1600275545824 Marionette DEBUG 90 -> [0,31,"Marionette:SetContext",{"value":"chrome"}]
[task 2020-09-16T16:59:05.828Z] 16:59:05 INFO - 1600275545825 Marionette DEBUG 90 <- [1,31,null,{"value":null}]
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - Failed to gather test failure debug: Browsing context has been discarded
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - stacktrace:
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - WebDriverError@chrome://marionette/content/error.js:181:5
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - NoSuchWindowError@chrome://marionette/content/error.js:415:5
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - assert.that/<@chrome://marionette/content/assert.js:460:13
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - assert.open@chrome://marionette/content/assert.js:168:4
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - GeckoDriver.prototype.takeScreenshot@chrome://marionette/content/driver.js:3002:10
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - despatch@chrome://marionette/content/server.js:297:40
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - execute@chrome://marionette/content/server.js:267:16
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - onPacket/<@chrome://marionette/content/server.js:240:20
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - onPacket@chrome://marionette/content/server.js:241:9
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING - _onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20
[task 2020-09-16T16:59:05.865Z] 16:59:05 WARNING -
[task 2020-09-16T16:59:05.865Z] 16:59:05 INFO - TEST-UNEXPECTED-FAIL | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py TestNoSuchWindowChrome.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised
[task 2020-09-16T16:59:05.865Z] 16:59:05 INFO - Traceback (most recent call last):
[task 2020-09-16T16:59:05.865Z] 16:59:05 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_harness/marionette_test/testcases.py", line 196, in run
[task 2020-09-16T16:59:05.865Z] 16:59:05 INFO - testMethod()
[task 2020-09-16T16:59:05.865Z] 16:59:05 INFO - File "/builds/worker/workspace/build/tests/marionette/tests/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py", line 34, in test_closed_chrome_window
[task 2020-09-16T16:59:05.865Z] 16:59:05 INFO - self.marionette.current_window_handle
[task 2020-09-16T16:59:05.865Z] 16:59:05 INFO - TEST-INFO took 345ms```
Updated•4 years ago
|
Comment 1•4 years ago
|
||
Also found this failing on
- test_window_status_content.py https://treeherder.mozilla.org/logviewer.html#?job_id=315862415&repo=autoland
- test_click.py TestClickNavigation.test_click_remoteness_change | AssertionError: NoSuchElementException not raised https://treeherder.mozilla.org/logviewer.html#?job_id=315862396&repo=autoland
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 4•4 years ago
|
||
Update:
There have been 54 failures since the bug was created:
- 1 failure on Windows 7 debug
- 1 failure on Windows 10 x64 debug
- 6 failures on Linux 18.04 x64 shippable opt
- 1 failure on Linux 18.04 x64 asan opt
- 45 failures on Linux 18.04 x64 opt & debug
Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=316184487&repo=mozilla-central&lineNumber=26903
[task 2020-09-19T23:14:52.177Z] 23:14:52 INFO - TEST-UNEXPECTED-FAIL | testing/marionette/harness/marionette_harness/tests/unit/test_window_status_chrome.py TestNoSuchWindowChrome.test_closed_chrome_window | AssertionError: NoSuchWindowException not raised
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - Traceback (most recent call last):
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_harness/marionette_test/testcases.py", line 196, in run
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - testMethod()
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - File "/builds/worker/workspace/build/tests/marionette/tests/testing/marionette/harness/marionette_harness/tests/unit/test_window_status_content.py", line 34, in test_closed_chrome_window
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - self.marionette.current_window_handle
[task 2020-09-19T23:14:52.178Z] 23:14:52 INFO - TEST-INFO took 244ms
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 6•4 years ago
|
||
Not sure why this bug has been filed while bug 1665216 covers the same but lets cover all work here now. This is most likely a regression from bug 1665216.
Assignee | ||
Comment 8•4 years ago
|
||
Maja, given that you are natively on Linux are you able to reproduce this failure?
I can reproduce it sometimes, but it's relatively rare. Ping me if there's anything in particular you want me to check.
Assignee | ||
Comment 10•4 years ago
|
||
I cannot reproduce at all. So if you can find anything out or fix it that would be pretty helpful. Otherwise I would have to start with try builds tomorrow, which certainly will take longer.
Updated•4 years ago
|
Updated•4 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•4 years ago
|
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 14•4 years ago
|
||
So here some thoughts... The current code we make use of can be found here:
https://searchfox.org/mozilla-central/rev/3d53187b90605ccef321c9cadbba762ad06a6381/testing/marionette/browser.js#278-287
The problem might be the wait for the unload
event, which is fired way too early while lots of other clean-up stuff is still going on. A better approach here should be the xul-window-destroyed
observer notification. I will push a try build to see if that makes a difference.
Assignee | ||
Comment 15•4 years ago
|
||
That was not enough:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1e44e292a9d2186aa7fb77604aebfe5097f64c82
After speaking to Olli I was informed that browsing contexts are getting discarded asynchronously. As such they will still continue to live a certain amount of time before they are getting gc'ed. As such we certainly will have to nullify the internal browsing context properties. Similar to what we actually already do for WebDriver:close
.
Nevertheless I will keep the xul-window-destroyed
changes from the last try build to ensure we don't run into races with the closing window.
Here a new try build:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e143356208b8e30be522ca87c4c532b5f91b0118
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 16•4 years ago
|
||
Similar to closing a tab the internal browsing contexts
need to be nullified. This is necessary because browsing
contexts are asynchronously discarded and garbage collected.
Also the "unload" event as currently used to wait for the
chrome window to be closed fires too early. Instead the
"xul-window-destroyed" observer notification needs to be used.
Comment 17•4 years ago
|
||
Tracking marionette-fission-mvp bugs for Fission M7 Beta milestone. We would like Marionette tests to work with Fission before we ride the trains to Beta.
Comment 18•4 years ago
|
||
Pushed by hskupin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/531bfeef68a1 [marionette] Fix race between "WebDriver:CloseChromeWindow" and next browsing context check. r=marionette-reviewers,maja_zf
Comment 19•4 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 21•4 years ago
|
||
Comment on attachment 9177661 [details]
Bug 1665437 - [marionette] Fix race between "WebDriver:CloseChromeWindow" and next browsing context check.
Beta/Release Uplift Approval Request
- User impact if declined: Using geckodriver in chrome scope certain commands can fail when a chrome window gets closed, and the appropriate browsing context hasn't been garbage collected yet.
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): To ensure the browsing context is discarded the patch explicitly sets it to null.
- String changes made/needed: no
Comment 22•4 years ago
|
||
Comment on attachment 9177661 [details]
Bug 1665437 - [marionette] Fix race between "WebDriver:CloseChromeWindow" and next browsing context check.
approved for 82.0b4
Updated•4 years ago
|
Comment 23•4 years ago
|
||
bugherder uplift |
Comment hidden (Intermittent Failures Robot) |
Updated•1 year ago
|
Comment 25•1 year ago
|
||
Moving bug to Testing::Marionette Client and Harness component per bug 1815831.
Updated•1 year ago
|
Description
•