Closed Bug 598203 Opened 9 years ago Closed 9 years ago

Intermittent crashtest timeout in content/xul/document/crashtests/583230.xul | timed out waiting for reftest-wait to be removed (after onload fired)

Categories

(Core :: XUL, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: zpao, Assigned: jruderman)

References

Details

(Keywords: intermittent-failure)

Attachments

(2 files)

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1285024826.1285025371.11515.gz

s: talos-r3-leopard-034
REFTEST TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/mozilla-central_leopard_test-crashtest/build/reftest/tests/content/xul/document/crashtests/583230.xul | timed out waiting for reftest-wait to be removed (after onload fired)
Summary: REFTEST TEST-UNEXPECTED-FAIL | 583230.xul | timed out waiting for reftest-wait to be removed (after onload fired) → Intermittent crashtest timeout in content/xul/document/crashtests/583230.xul | timed out waiting for reftest-wait to be removed (after onload fired)
Assignee: nobody → jruderman
There are two things wrong with content/xul/document/crashtests/583230.xul:

1. document.documentElement is null by the time we get to
     document.documentElement.removeAttribute("class");
   so that line throws rather than doing anything useful.

2. "setTimeout(doe, 0);" races with onload, so the crashtest doesn't always test the same thing, and #1 is an intermittent failure rather than a consistent failure.
Blocks: 583230
Both bug 446483 and this bug were intermittent oranges due to incorrect conversions of Martijn's testcases into crashtests :(

Martijn, it would be great if you could use the reftest format in future bug reports.  In particular, try to start the test from onload rather than an inline script, even if "starting the test" is starting a timer.  It's also helpful to include the reftest-wait magic (if it's needed due to the test using timers).
Attached patch conservative fixSplinter Review
This fixes problem #1 but not problem #2.
Attached patch complete fixSplinter Review
This switches from a timer to onload, guaranteeing that doe() runs after all the document's nodes are in place (and perhaps that the relevant XBL and datasources are loaded).

Hopefully those races were not relevant to the original bug!

Since the test no longer uses a timer, reftest-wait is unnecessary.
Pushed "complete fix": http://hg.mozilla.org/mozilla-central/rev/23ac8c47c8c9
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Whiteboard: [orange]
You need to log in before you can comment on or make changes to this bug.