Closed Bug 1265124 Opened 10 years ago Closed 10 years ago

"mach reftest" no longer works with --debugger=valgrind

Categories

(Testing :: Reftest, defect)

defect
Not set
normal

Tracking

(firefox48 affected, firefox49 fixed)

RESOLVED FIXED
mozilla49
Tracking Status
firefox48 --- affected
firefox49 --- fixed

People

(Reporter: dbaron, Assigned: ahal)

References

Details

Attachments

(1 file)

./mach reftest no longer works for me with --debugger=valgrind -- there's an error from marionnette. I can't even find the bug where we converted reftest to use this stuff to make this block that bug, although I vaguely remember reviewing patches in it. It looks like stuff is timing out because we assume Firefox starts up within a certain time, but there isn't a way to change those assumptions. I get: Error running mach: ['reftest', '--debugger', 'valgrind', '--debugger-args=--tool=memcheck --leak-check=no --trace-children=yes --num-callers=50 --smc-check=all-non-file --vex-iropt-register-updates=allregs-at-mem-access --error-limit=no --fullpath-after=', 'layout/reftests/table-bordercollapse/borderhandling-rules-border-groups-strict.html'] The error occurred in code that was called by the mach command. This is either a bug in the called code itself or in the way that mach is calling it. You should consider filing a bug for this issue. If filing a bug, please include the full output of mach, including this error message. The details of the failure are as follows: error: [Errno 111] Connection refused File "/home/dbaron/builds/ssd/mozilla-central/mozilla/layout/tools/reftest/mach_commands.py", line 326, in run_reftest return self._run_reftest(**kwargs) File "/home/dbaron/builds/ssd/mozilla-central/mozilla/layout/tools/reftest/mach_commands.py", line 374, in _run_reftest return reftest.run_desktop_test(**kwargs) File "/home/dbaron/builds/ssd/mozilla-central/mozilla/layout/tools/reftest/mach_commands.py", line 208, in run_desktop_test rv = runreftest.run(**kwargs) File "/home/dbaron/builds/ssd/mozilla-central/mozilla/layout/tools/reftest/runreftest.py", line 717, in run return reftest.runTests(options.tests, options) File "/home/dbaron/builds/ssd/mozilla-central/mozilla/layout/tools/reftest/runreftest.py", line 420, in runTests return self.runSerialTests(manifests, options, cmdargs) File "/home/dbaron/builds/ssd/mozilla-central/mozilla/layout/tools/reftest/runreftest.py", line 671, in runSerialTests debuggerInfo=debuggerInfo) File "/home/dbaron/builds/ssd/mozilla-central/mozilla/layout/tools/reftest/runreftest.py", line 612, in runApp marionette.start_session() File "/home/dbaron/builds/ssd/mozilla-central/mozilla/testing/marionette/client/marionette_driver/marionette.py", line 1166, in start_session self.protocol, _ = self.client.connect() File "/home/dbaron/builds/ssd/mozilla-central/mozilla/testing/marionette/client/marionette_driver/transport.py", line 226, in connect self.sock.connect((self.addr, self.port)) File "/usr/lib/python2.7/socket.py", line 228, in meth return getattr(self._sock,name)(*args)
Flags: needinfo?(ahalberstadt)
Sorry for late reply, just got back from PTO. This is similar to bug 1248056 which was filed for mochitest, the fix here should be the same.
Assignee: nobody → ahalberstadt
Status: NEW → ASSIGNED
Flags: needinfo?(ahalberstadt)
Blocks: 1245092
As of bug 1245092, reftest depends on marionette. Normally marionette client has an internal timeout of around 60 seconds where it waits for the server to become available. But when using debuggers (and especially valgrind), it can take much much longer than a minute for Firefox to start. This patch adds a couple hidden command line args to reftest to tweak the marionette timeouts. Review commit: https://reviewboard.mozilla.org/r/49805/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/49805/
Attachment #8747278 - Flags: review?(cmanchester)
Attachment #8747278 - Flags: review?(cmanchester) → review+
Comment on attachment 8747278 [details] MozReview Request: Bug 1265124 - [reftest] Make sure marionette waits long enough when attaching a debugger, r?chmanchester https://reviewboard.mozilla.org/r/49805/#review46549 ::: layout/tools/reftest/reftestcommandline.py:355 (Diff revision 1) > + options.marionette_port_timeout = 900 > + options.marionette_socket_timeout = 540 Is it necessary to bump both of these? It looks like we're hitting the port timeout, and the socket timeout is already pretty high. Anyway, this is safe.
https://reviewboard.mozilla.org/r/49805/#review46549 > Is it necessary to bump both of these? It looks like we're hitting the port timeout, and the socket timeout is already pretty high. Anyway, this is safe. These are the numbers jseward needed when testing the same problem for mochitest. I think he was actually able to hit the socket timeout on his machine as well as the port timeout. Could be mistaken, but better safe than sorry I guess.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: