Closed Bug 1766314 Opened 3 years ago Closed 3 years ago

Perma [tier 2] Android mozilla/tests/webdriver/cdp/debugger_address.py | test_debugger_address_true_fission_disabled[capabilities0] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Categories

(Remote Protocol :: Marionette, defect, P5)

All
Android
defect

Tracking

(firefox-esr91 unaffected, firefox99 unaffected, firefox100 unaffected, firefox101 disabled, firefox102 fixed)

RESOLVED FIXED
102 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox99 --- unaffected
firefox100 --- unaffected
firefox101 --- disabled
firefox102 --- fixed

People

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

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: intermittent-failure, regression, test-disabled, Whiteboard: [stockwell disabled])

Attachments

(1 file)

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


[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO - TEST-PASS | /_mozilla/webdriver/cdp/debugger_address.py | test_debugger_address_false[capabilities0] 
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO - TEST-UNEXPECTED-FAIL | /_mozilla/webdriver/cdp/debugger_address.py | test_debugger_address_true_fission_disabled[capabilities0] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO - session = <Session c6841a07-9afa-4ade-a564-c40d1f6c3b2f>
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO -     @pytest.mark.capabilities({"moz:debuggerAddress": True})
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO -     def test_debugger_address_true_fission_disabled(session):
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO -         debugger_address = session.capabilities.get("moz:debuggerAddress")
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO -         assert debugger_address is not None
[task 2022-04-25T19:03:37.382Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO -         host, port = debugger_address.split(":")
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO -         assert host == "localhost"
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO -         assert port.isnumeric()
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO -         # Fetch the browser version via the debugger address
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO -         http = HTTPRequest(host, int(port))
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO -         with http.get("/json/version") as response:
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - >           data = json.loads(response.read())
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - debugger_address = 'localhost:9222'
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - host       = 'localhost'
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - http       = <tests.support.http_request.HTTPRequest object at 0x7fdfcc3c2518>
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - port       = '9222'
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - response   = <http.client.HTTPResponse object at 0x7fdfcc3c2c88>
[task 2022-04-25T19:03:37.383Z] 19:03:37     INFO - session    = <Session c6841a07-9afa-4ade-a564-c40d1f6c3b2f>
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO - tests/web-platform/mozilla/tests/webdriver/cdp/debugger_address.py:32: 
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO - /usr/lib/python3.6/json/__init__.py:354: in loads
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO -     return _default_decoder.decode(s)
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO -         cls        = None
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO -         encoding   = None
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO -         kw         = {}
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO -         object_hook = None
[task 2022-04-25T19:03:37.384Z] 19:03:37     INFO -         object_pairs_hook = None
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -         parse_constant = None
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -         parse_float = None
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -         parse_int  = None
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -         s          = ('<html>                    <head><title>404 Not '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  'Found</title></head>                    <body>                      <h1>404 '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  'Not Found</h1>                      <p>                        <span '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  "style='font-family: "
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  "monospace;'>&#47;&#106;&#115;&#111;&#110;&#47;&#118;&#101;&#114;&#115;&#105;&#111;&#110;</span> "
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  'was not found.                      </p>                    '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  '</body>                  </html>')
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO - /usr/lib/python3.6/json/decoder.py:339: in decode
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -         _w         = <built-in method match of _sre.SRE_Pattern object at 0x7fdfd26f9570>
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -         s          = ('<html>                    <head><title>404 Not '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  'Found</title></head>                    <body>                      <h1>404 '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  'Not Found</h1>                      <p>                        <span '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  "style='font-family: "
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  "monospace;'>&#47;&#106;&#115;&#111;&#110;&#47;&#118;&#101;&#114;&#115;&#105;&#111;&#110;</span> "
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  'was not found.                      </p>                    '
[task 2022-04-25T19:03:37.385Z] 19:03:37     INFO -  '</body>                  </html>')
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO -         self       = <json.decoder.JSONDecoder object at 0x7fdfd24dc1d0>
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO - self = <json.decoder.JSONDecoder object at 0x7fdfd24dc1d0>
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO - s = '<html>                    <head><title>404 Not Found</title></head>                    <body>                      <h...&#105;&#111;&#110;</span> was not found.                      </p>                    </body>                  </html>'
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO - idx = 0
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO -     def raw_decode(self, s, idx=0):
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO -         """Decode a JSON document from ``s`` (a ``str`` beginning with
[task 2022-04-25T19:03:37.386Z] 19:03:37     INFO -         a JSON document) and return a 2-tuple of the Python
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -         representation and the index in ``s`` where the document ended.
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -         This can be used to decode a JSON document from a string that may
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -         have extraneous data at the end.
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -         """
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -         try:
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -             obj, end = self.scan_once(s, idx)
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO -         except StopIteration as err:
[task 2022-04-25T19:03:37.387Z] 19:03:37     INFO - >           raise JSONDecodeError("Expecting value", s, err.value) from None
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO - E           json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO - idx        = 0
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO - s          = ('<html>                    <head><title>404 Not '
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO -  'Found</title></head>                    <body>                      <h1>404 '
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO -  'Not Found</h1>                      <p>                        <span '
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO -  "style='font-family: "
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO -  "monospace;'>&#47;&#106;&#115;&#111;&#110;&#47;&#118;&#101;&#114;&#115;&#105;&#111;&#110;</span> "
[task 2022-04-25T19:03:37.388Z] 19:03:37     INFO -  'was not found.                      </p>                    '
[task 2022-04-25T19:03:37.389Z] 19:03:37     INFO -  '</body>                  </html>')
[task 2022-04-25T19:03:37.389Z] 19:03:37     INFO - self       = <json.decoder.JSONDecoder object at 0x7fdfd24dc1d0>
[task 2022-04-25T19:03:37.389Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.389Z] 19:03:37     INFO - /usr/lib/python3.6/json/decoder.py:357: JSONDecodeError
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO - TEST-UNEXPECTED-FAIL | /_mozilla/webdriver/cdp/debugger_address.py | test_debugger_address_true_fission_override[capabilities0] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO - session = <Session 65f53ad8-80e1-4ad3-b85b-2168c832248c>
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -     @pytest.mark.capabilities(
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -         {
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -             "moz:debuggerAddress": True,
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -             "moz:firefoxOptions": {
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -                 "prefs": {
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -                     "fission.autostart": True,
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -                 }
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -             },
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -         }
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -     )
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -     def test_debugger_address_true_fission_override(session):
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -         debugger_address = session.capabilities.get("moz:debuggerAddress")
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -         assert debugger_address is not None
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.397Z] 19:03:37     INFO -         host, port = debugger_address.split(":")
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         assert host == "localhost"
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         assert port.isnumeric()
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         # Fetch the browser version via the debugger address
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         http = HTTPRequest(host, int(port))
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         with http.get("/json/version") as response:
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - >           data = json.loads(response.read())
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - debugger_address = 'localhost:9222'
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - host       = 'localhost'
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - http       = <tests.support.http_request.HTTPRequest object at 0x7fdfcc0edb38>
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - port       = '9222'
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - response   = <http.client.HTTPResponse object at 0x7fdfcc0ed198>
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - session    = <Session 65f53ad8-80e1-4ad3-b85b-2168c832248c>
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - tests/web-platform/mozilla/tests/webdriver/cdp/debugger_address.py:64: 
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO - /usr/lib/python3.6/json/__init__.py:354: in loads
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -     return _default_decoder.decode(s)
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         cls        = None
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         encoding   = None
[task 2022-04-25T19:03:37.398Z] 19:03:37     INFO -         kw         = {}
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         object_hook = None
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         object_pairs_hook = None
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         parse_constant = None
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         parse_float = None
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         parse_int  = None
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         s          = ('<html>                    <head><title>404 Not '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  'Found</title></head>                    <body>                      <h1>404 '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  'Not Found</h1>                      <p>                        <span '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  "style='font-family: "
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  "monospace;'>&#47;&#106;&#115;&#111;&#110;&#47;&#118;&#101;&#114;&#115;&#105;&#111;&#110;</span> "
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  'was not found.                      </p>                    '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  '</body>                  </html>')
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO - /usr/lib/python3.6/json/decoder.py:339: in decode
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         _w         = <built-in method match of _sre.SRE_Pattern object at 0x7fdfd26f9570>
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -         s          = ('<html>                    <head><title>404 Not '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  'Found</title></head>                    <body>                      <h1>404 '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  'Not Found</h1>                      <p>                        <span '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  "style='font-family: "
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  "monospace;'>&#47;&#106;&#115;&#111;&#110;&#47;&#118;&#101;&#114;&#115;&#105;&#111;&#110;</span> "
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  'was not found.                      </p>                    '
[task 2022-04-25T19:03:37.399Z] 19:03:37     INFO -  '</body>                  </html>')
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         self       = <json.decoder.JSONDecoder object at 0x7fdfd24dc1d0>
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - self = <json.decoder.JSONDecoder object at 0x7fdfd24dc1d0>
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - s = '<html>                    <head><title>404 Not Found</title></head>                    <body>                      <h...&#105;&#111;&#110;</span> was not found.                      </p>                    </body>                  </html>'
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - idx = 0
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -     def raw_decode(self, s, idx=0):
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         """Decode a JSON document from ``s`` (a ``str`` beginning with
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         a JSON document) and return a 2-tuple of the Python
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         representation and the index in ``s`` where the document ended.
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         This can be used to decode a JSON document from a string that may
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         have extraneous data at the end.
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -     
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         """
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         try:
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -             obj, end = self.scan_once(s, idx)
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO -         except StopIteration as err:
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - >           raise JSONDecodeError("Expecting value", s, err.value) from None
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - E           json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.400Z] 19:03:37     INFO - idx        = 0
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO - s          = ('<html>                    <head><title>404 Not '
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO -  'Found</title></head>                    <body>                      <h1>404 '
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO -  'Not Found</h1>                      <p>                        <span '
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO -  "style='font-family: "
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO -  "monospace;'>&#47;&#106;&#115;&#111;&#110;&#47;&#118;&#101;&#114;&#115;&#105;&#111;&#110;</span> "
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO -  'was not found.                      </p>                    '
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO -  '</body>                  </html>')
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO - self       = <json.decoder.JSONDecoder object at 0x7fdfd24dc1d0>
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO - 
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO - /usr/lib/python3.6/json/decoder.py:357: JSONDecodeError
[task 2022-04-25T19:03:37.401Z] 19:03:37     INFO - TEST-OK | /_mozilla/webdriver/cdp/debugger_address.py | took 26256ms

Hello Henrik, I think this might be caused by Bug 1759169, can you please take a look at this?

Flags: needinfo?(hskupin)

This is actually Android only. And I cannot explain that out of the box. The try builds that I run for Android when working on the patches for bug 1759169 were all fine. I'll try to see if I can reproduce the failure locally.

Component: General → geckodriver
Flags: needinfo?(hskupin)
OS: Unspecified → Android
Hardware: Unspecified → All
Summary: Perma [tier 2] mozilla/tests/webdriver/cdp/debugger_address.py | test_debugger_address_true_fission_disabled[capabilities0] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) → Perma [tier 2] Android mozilla/tests/webdriver/cdp/debugger_address.py | test_debugger_address_true_fission_disabled[capabilities0] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

There is a Javascript Error on Android which causes the browser to crash when Fission is enabled. I filed that as bug 1766322. But that regressed already for Firefox 100. So that doesn't seem to be the real underlying issue.

I didn't figure out the problem. For now we decided to mark this test as expected fail and we will continue investigation the next days.

Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Blocks: 1729409
Keywords: leave-open
Regressed by: 1729409
No longer regressed by: 1759169
Regressed by: 1759169
No longer regressed by: 1729409
Pushed by hskupin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bc6e0a6f3cbc [wdspec] Mark failing debugger_address.py tests on Android as expected fail. r=webdriver-reviewers,jdescottes
Has Regression Range: --- → yes

The problem here might actually be that with the patch on bug 1759169 the CDP protocol is started later than Marionette now. This would be related to the sessionstore-windows-restored notification. Given that the failing tests are written to use a WebDriver session, the time when it's created and the HTTP request for /json/version is sent the related CDP code for this JSON handler isn't available yet.

Best option for us should be to actually change these affected test or all the tests in that file to make use of the browser fixture instead.

Whiteboard: [stockwell disabled]

I would like to see thes failing tests investigated and probably fixed before continuing on bug 1726465.

Blocks: 1726465

The problem here is actually that the Remote Agent now awaits the sessionstore-windows-restored notification before it enables the CDP and WebDriver BiDi protocols. This works actually fine on desktop but fails on mobile because that event doesn't seem to be available.

Agi, is mobile using sessionstore to some extend? I assume so given that I can see some usage of it here:
https://searchfox.org/mozilla-central/search?q=sessionstore&path=mobile&case=false&regexp=false

But I assume it's kinda limited and this specific event cannot be supported? If that it true we might have to go back to toplevel-window-ready and hope that we don't run into shutdown hangs due to the CrashReporter again.

Flags: needinfo?(agi)

Copying from matrix:

From what I can see the only place we fire sessionstore-windows-restored is in browser: https://searchfox.org/mozilla-central/source/browser/components/sessionstore/SessionStore.jsm#5644 so no, I don't think we fire that event on Android
In general we do support session restore, but our architecture is very different
(the prefs at browser.sessionstore look like leftover from Fennec that we should cleanup)
If this event is important to you we can figure out the appropriate time to fire it, I think it would be somewhere around: https://searchfox.org/mozilla-central/source/mobile/android/actors/GeckoViewContentParent.jsm#23 but we don't really keep track of all tabs (each tab is restored individually)
I guess, why do you need to know about this event? the way mobile works is that at startup all tabs are unloaded and we restore tabs as the user taps on them, so in general a global sessionstore-windows-restored might not be interesting for you
(general reminder that one window = one tab on android)

Flags: needinfo?(agi)

Thanks Agi! I filed bug 1767387 to get the underlying issue fixed. We want to use the browser-idle-startup-tasks-finished and mail-idle-startup-tasks-finished notifications so that we rely on platform specific notifications.

Fixed by the patch on bug 1767387.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch
Moving bug to Remote Protocol::Marionette component per bug 1815831.
Component: geckodriver → Marionette
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: