Closed Bug 859417 Opened 10 years ago Closed 7 years ago

[Tracking bug] Marionette socket.timeout errors


(Testing :: Marionette, defect)

Windows 7
Not set


(Not tracked)



(Reporter: jgriffin, Unassigned)



This is a tracking bug that will attempt to make sense out of all the socket.timeout errors we're seeing.
bug 855458:  this looks like a transport problem; socket.timeout occurred during finish() even though the actor had sent the correct data to the client.  A little later in the log we also see:

12:11:48  WARNING -  E/GeckoConsole(  237): [JavaScript Error: "this._actorPool is null" {file: "chrome://global/content/devtools/dbg-server.js" line: 582}]
Depends on: 855458
bug 845291:  this is caused by a B2G crash; hopefully crash detection will help us with that soon.
bug 839842:  another case in which it looks like the actor is behaving correctly, but the client isn't receiving some data.
bug 830622:  a case on desktop Firefox in which we may not be waiting long enough after the browser starts before running the test.
bug 852709:  another case in which it looks like the actor is sending the correct data, but shortly after we see:

E/GeckoConsole(  247): [JavaScript Error: "this._actorPool is null" {file: "chrome://global/content/devtools/dbg-server.js" line: 589}]
bug 843262: another case in which it seems the actor is doing the right thing.  Here, though, we have an actorpool error showing up before the test failure:

14:17:39  WARNING -  E/GeckoConsole(  277): [JavaScript Error: "this._actorPool is null" {file: "chrome://global/content/devtools/dbg-server.js" line: 589}]
Depends on: 845291
Depends on: 839842, 830622, 852709, 843262
bug 842543: another apparent transport problem near an actorpool error.
Depends on: 842543
(In reply to Jonathan Griffin (:jgriffin) from comment #8)
> bug 842294: same transport problem + actorPool error:
> php?id=19840908&full=1&branch=mozilla-central

That should have been bug 842297.
bug 835540:  similar to 855458 in that it looks like a transport error during finish(), but in this case there is no actorPool error in the log.
Depends on: 835540
bug 823076: transport problem + actorPool error:

09:55:02  WARNING -  E/GeckoConsole(  276): [JavaScript Error: "this._actorPool is null" {file: "chrome://global/content/devtools/dbg-server.js" line: 589}]
Depends on: 823076
bug 842274: this is unlike any of the others.  We get a socket.timeout during newSession(); no actorPool error in the logs.  Possibly a (now-fixed) sync issue?
Depends on: 842274
Depends on: 844416
Zac pointed out a socket.timeout error that occurred recently during a Gaia-UI-test on v1-train (with mozilla-b2g18 gecko):

Traceback (most recent call last):
  File "/var/jenkins/workspace/b2g.unagi.gaia.v1-train.ui.xfail/gaia-ui-tests/gaiatest/tests/dialer/", line 27, in test_dialer_airplane_mode
  File "/var/jenkins/workspace/b2g.unagi.gaia.v1-train.ui.xfail/gaia-ui-tests/gaiatest/apps/phone/regions/", line 40, in call_number
    return self.tap_call_button()
  File "/var/jenkins/workspace/b2g.unagi.gaia.v1-train.ui.xfail/gaia-ui-tests/gaiatest/apps/phone/regions/", line 45, in tap_call_button
    return CallScreen(self.marionette)
  File "/var/jenkins/workspace/b2g.unagi.gaia.v1-train.ui.xfail/gaia-ui-tests/gaiatest/apps/phone/regions/", line 25, in __init__
  File "/var/jenkins/workspace/b2g.unagi.gaia.v1-train.ui.xfail/.env/local/lib/python2.7/site-packages/marionette_client-0.5.23-py2.7.egg/marionette/", line 475, in switch_to_frame
    response = self._send_message('switchToFrame', 'ok',, focus=focus)
  File "/var/jenkins/workspace/b2g.unagi.gaia.v1-train.ui.xfail/.env/local/lib/python2.7/site-packages/marionette_client-0.5.23-py2.7.egg/marionette/", line 300, in _send_message
    raise TimeoutException(message='socket.timeout', status=ErrorCodes.TIMEOUT, stacktrace=None)
TimeoutException: socket.timeout

This does not look similar to any of the cases I've already listed above.
I am seeing a similar issue with the gaia-ui add_contact endurance test (Inari with b2g18_v1_0_1):

Traceback (most recent call last):
  File "/home/rwood/gaia-ui-tests/gaiatest/tests/endurance/", line 22, in test_endurance_add_contact, app='contacts')
  File "/home/rwood/gaia-ui-tests/gaiatest/", line 701, in drive
  File "/home/rwood/gaia-ui-tests/gaiatest/tests/endurance/", line 29, in add_contact
    new_contact_form = self.contacts.tap_new_contact()
  File "/home/rwood/gaia-ui-tests/gaiatest/apps/contacts/", line 37, in tap_new_contact
  File "/usr/local/lib/python2.7/dist-packages/marionette_client-0.5.27-py2.7.egg/marionette/", line 31, in tap
    self.execute_script("%s.tap(arguments[0], null, null, null, null, arguments[1]);" % self.library_name, [element, send_all])
  File "/usr/local/lib/python2.7/dist-packages/marionette_client-0.5.27-py2.7.egg/marionette/", line 605, in execute_script
  File "/usr/local/lib/python2.7/dist-packages/marionette_client-0.5.27-py2.7.egg/marionette/", line 334, in _send_message
    raise TimeoutException(message='socket.timeout', status=ErrorCodes.TIMEOUT, stacktrace=None)
TEST-UNEXPECTED-FAIL | TestEnduranceAddContact.test_endurance_add_contact | TimeoutException: socket.timeout
Depends on: 830149
Depends on: 832662
Depends on: 837828
Depends on: 837912
Depends on: 838353
See also bug 898074
Depends on: 967252
Depends on: 967021
Bug 871475 hits a perm-orange that the some test pages loading get stuck in calling syscall epoll_wait.  The main functionality in that pull request is actually not taking effect during the process.  Actually we can reproduce the same error without that pull request but by appending "-net nic -net nic -net user" as qemu tail args when running "./".  Adb shell is still working at the time and test process continues after timed out.  This is happening on all emulator versions -- ics, jb, and kk.  Have cherry-picked some smc91c11x fixes from upstream kernel but still in vain.  Don't know if that's related to this bug.
All dependent bugs are closed
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.