Closed Bug 1640548 Opened 4 years ago Closed 2 years ago

"TypeError: can't access property Symbol.iterator, tabBrowser.tabs is undefined"

Categories

(Core :: Window Management, defect, P5)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: tjr, Unassigned)

References

Details

Not sure why this error happens, but I'm observing it locally in Nightly in the Browser Console.

https://searchfox.org/mozilla-central/rev/501eb4718d73870892d28f31a99b46f4783efaa0/toolkit/components/resistfingerprinting/RFPHelper.jsm#586

Any ideas on how you trigger this? I can't replicate: but I do get other RFPHelper errors (which don't seem material)

The severity field is not set for this bug.
:enndeakin, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(enndeakin)
Severity: -- → S4
Flags: needinfo?(enndeakin)
Priority: -- → P5

Problem.
I see the error in my local mochitest of C-C TB and it happens near the beginning of various tests, meaning no tests are performed at all.
To wit: There are a few locally added debug dump lines.

34:25.62 GECKO(89416) console.debug: "mPlatform is: linux"
34:25.62 GECKO(89416) console.debug: "Checking for ical data"
34:25.88 GECKO(89416) NS_NewBufferedOutputStream: outputStream (= std::move(aOutputputStream)) =0x7f2280034128
34:25.93 GECKO(89416) console.warn: SearchSettings: "get: No settings file exists, new profile?" (new Error("", "(unknown module)"))
34:26.43 GECKO(89416) console.debug: "Successfully loaded OTR library libotr.so.5 from system's standard library locations"
34:26.51 GECKO(89416) console.debug: "public keys: 0, secret keys: 0"
34:27.47 GECKO(89416) NS_NewBufferedOutputStream: outputStream (= std::move(aOutputputStream)) =0x7f22800334d8
34:28.07 GECKO(89416) NS_NewBufferedOutputStream: outputStream (= std::move(aOutputputStream)) =0x7f2280033558
34:28.25 GECKO(89416) 1608043653206	Marionette	TRACE	Received observer notification marionette-startup-requested
34:28.25 GECKO(89416) 1608043653207	Marionette	TRACE	Waiting until startup recorder finished recording startup scripts...
34:28.96 GECKO(89416) 1608043653915	Marionette	TRACE	All scripts recorded.
34:28.96 GECKO(89416) 1608043653921	Marionette	INFO	Listening on port 2828
34:28.97 GECKO(89416) 1608043653922	Marionette	DEBUG	Marionette is listening
34:29.12 GECKO(89416) 1608043654080	Marionette	DEBUG	Remote agent not available for this build and platform
34:29.13 GECKO(89416) 1608043654085	Marionette	DEBUG	Accepted connection 0 from 127.0.0.1:49838
34:29.15 GECKO(89416) 1608043654109	Marionette	DEBUG	Closed connection 0
34:29.15 GECKO(89416) 1608043654112	Marionette	DEBUG	Accepted connection 1 from 127.0.0.1:49840
34:29.19 GECKO(89416) 1608043654151	Marionette	DEBUG	1 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
34:29.22 GECKO(89416) 1608043654174	Marionette	TRACE	[8] Frame script loaded
34:29.22 GECKO(89416) 1608043654175	Marionette	ERROR	[8] No reply from Marionette:Register
34:29.22 GECKO(89416) 1608043654179	Marionette	TRACE	[10] Frame script loaded
34:29.22 GECKO(89416) 1608043654180	Marionette	ERROR	[10] No reply from Marionette:Register
34:29.23 GECKO(89416) 1608043654184	Marionette	TRACE	[15] Frame script loaded
34:29.23 GECKO(89416) 1608043654185	Marionette	ERROR	[15] No reply from Marionette:Register
34:29.23 GECKO(89416) 1608043654189	Marionette	DEBUG	1 <- [1,1,{"error":"unknown error","message":"TypeError: can't access property Symbol.iterator, tabBrowser.tabs is undefined","sta ... t@chrome://marionette/content/server.js:241:9\n_onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20\n"},null]
34:29.23 GECKO(89416) Marionette threw an error: TypeError: can't access property Symbol.iterator, tabBrowser.tabs is undefined
34:29.23 GECKO(89416) GeckoDriver.prototype.newSession@chrome://marionette/content/driver.js:885:25
34:29.23 GECKO(89416) despatch@chrome://marionette/content/server.js:297:40
34:29.24 GECKO(89416) execute@chrome://marionette/content/server.js:267:16
34:29.24 GECKO(89416) onPacket/<@chrome://marionette/content/server.js:240:20
34:29.24 GECKO(89416) onPacket@chrome://marionette/content/server.js:241:9
34:29.24 GECKO(89416) _onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20
Traceback (most recent call last):
  File "/NEW-SSD/NREF-COMM-CENTRAL/mozilla/testing/marionette/client/marionette_driver/marionette.py", line 1179, in start_session
    resp = self._send_message("WebDriver:NewSession", capabilities)
  File "/NEW-SSD/NREF-COMM-CENTRAL/mozilla/testing/marionette/client/marionette_driver/decorators.py", line 27, in _
    return func(*args, **kwargs)
  File "/NEW-SSD/NREF-COMM-CENTRAL/mozilla/testing/marionette/client/marionette_driver/marionette.py", line 625, in _send_message
    self._handle_error(err)
  File "/NEW-SSD/NREF-COMM-CENTRAL/mozilla/testing/marionette/client/marionette_driver/marionette.py", line 647, in _handle_error
    raise errors.lookup(error)(message, stacktrace=stacktrace)
marionette_driver.errors.UnknownException: TypeError: can't access property Symbol.iterator, tabBrowser.tabs is undefined
stacktrace:
	GeckoDriver.prototype.newSession@chrome://marionette/content/driver.js:885:25
	despatch@chrome://marionette/content/server.js:297:40
	execute@chrome://marionette/content/server.js:267:16
	onPacket/<@chrome://marionette/content/server.js:240:20
	onPacket@chrome://marionette/content/server.js:241:9
	_onJSONObjectReady/<@chrome://marionette/content/transport.js:504:20

Compared with the earlier mochitest runs, it seems that mozrunner (?) is not responding.
Something seems to be amiss, but not sure what exactly.

I refreshed the source trees M-C, C-C and build C-C TB using gcc-10.
Now mochitest runs without this error. The log from the successul run where previously the error occurred is like this.

 1:24.56 GECKO(141291) 1608093486720	Marionette	ERROR	[8] No reply from Marionette:Register
 1:24.56 GECKO(141291) 1608093486724	Marionette	TRACE	[10] Frame script loaded
 1:24.56 GECKO(141291) 1608093486725	Marionette	ERROR	[10] No reply from Marionette:Register
 1:24.57 GECKO(141291) 1608093486730	Marionette	TRACE	[15] Frame script loaded
 1:24.57 GECKO(141291) 1608093486730	Marionette	ERROR	[15] No reply from Marionette:Register
 1:24.58 GECKO(141291) 1608093486744	Marionette	DEBUG	1 <- [1,1,null,{"sessionId":"388c21f9-126f-4e55-9edc-906ddc3d89dc","capabilities":{"browserName":"thunderbird","browserVersion":"8 ... /tmplnushoaa.mozrunner","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true}}]
 1:24.60 GECKO(141291) 1608093486766	Marionette	DEBUG	1 -> [0,2,"Addon:Install",{"path":"/COMM-CENTRAL/TMP-DIR/tmp9vrcfhjb.zip","temporary":false}]
 1:25.07 GECKO(141291) NS_NewBufferedOutputStream: outputStream (= std::move(aOutputputStream)) =0x7f39c4020a68
 1:25.77 GECKO(141291) Chrome file doesn't exist: /NEW-SSD/moz-obj-dir/objdir-tb3/dist/bin/chrome/en-US/locale/en-US/global/app-extension-fields.properties
 1:25.83 GECKO(141291) NS_NewBufferedOutputStream: outputStream (= std::move(aOutputputStream)) =0x7f39c4020ae8
 1:25.91 GECKO(141291) 1608093488068	Marionette	DEBUG	1 <- [1,2,null,{"value":"special-powers@mozilla.org"}]
 1:25.94 GECKO(141291) 1608093488099	Marionette	DEBUG	1 -> [0,3,"Addon:Install",{"path":"/COMM-CENTRAL/TMP-DIR/tmpilabr1v4.zip","temporary":false}]
 1:26.06 GECKO(141291) 1608093488218	Marionette	DEBUG	1 <- [1,3,null,{"value":"mochikit@mozilla.org"}]
 1:26.06 GECKO(141291) 1608093488229	Marionette	DEBUG	1 -> [0,4,"Marionette:GetContext",{}]
 1:26.07 GECKO(141291) 1608093488231	Marionette	DEBUG	1 <- [1,4,null,{"value":"content"}]
 1:26.07 GECKO(141291) 1608093488234	Marionette	DEBUG	1 -> [0,5,"Marionette:SetContext",{"value":"chrome"}]
 1:26.07 GECKO(141291) 1608093488236	Marionette	DEBUG	1 <- [1,5,null,{"value":null}]
 1:26.08 GECKO(141291) 1608093488240	Marionette	DEBUG	1 -> [0,6,"WebDriver:ExecuteScript",{"script":"/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, ... estUrl":"about:blank"}],"newSandbox":true,"sandbox":"default","line":1963,"filename":"_tests/testing/mochitest/runtests.py"}]
 1:26.09 GECKO(141291) 1608093488249	Marionette	TRACE	[3] MarionetteCommands actor created for window id 4

Either it is a timing-dependent issue or there can be a logical flow that is triggered under certain unknown conditions.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.