Closed Bug 593144 Opened 9 years ago Closed 9 years ago

debug test mochitests-2/5: Intermittent timeout in docshell/test/test_bug590573.html

Categories

(Core :: Document Navigation, defect)

defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: ehsan, Assigned: justin.lebar+bug)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file, 1 obsolete file)

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1283458028.1283459875.11190.gz&fulltext=1
Rev3 MacOSX Snow Leopard 10.6.2 mozilla-central debug test mochitests-2/5 on 2010/09/02 13:07:08

555 INFO TEST-START | /tests/docshell/test/test_bug590573.html
++DOMWINDOW == 41 (0x11c8d9028) [serial = 1025] [outer = 0x111141fb0]
++DOCSHELL 0x10a382110 == 14
++DOMWINDOW == 42 (0x11dc8e458) [serial = 1026] [outer = 0x0]
WARNING: NS_ENSURE_TRUE(shell) failed: file /builds/slave/mozilla-central-macosx64-debug/build/docshell/base/nsDocShell.cpp, line 10565
WARNING: NS_ENSURE_TRUE(sf) failed: file /builds/slave/mozilla-central-macosx64-debug/build/docshell/base/nsDocShell.cpp, line 4882
WARNING: NS_ENSURE_TRUE(shell) failed: file /builds/slave/mozilla-central-macosx64-debug/build/docshell/base/nsDocShell.cpp, line 10565
WARNING: NS_ENSURE_TRUE(sf) failed: file /builds/slave/mozilla-central-macosx64-debug/build/docshell/base/nsDocShell.cpp, line 4882
WARNING: Context has no global.: file /builds/slave/mozilla-central-macosx64-debug/build/dom/base/nsJSEnvironment.cpp, line 2518
++DOMWINDOW == 43 (0x119ec8778) [serial = 1027] [outer = 0x11dc8e3f0]
Got iframe1 popstate.
iframeLoad(loads=1)
556 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 1 - 0 should equal 0
557 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 2 - 100 should equal 100
Ignoring iframe1 popstate.
558 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 3 - 100 should equal 100
Ignoring iframe1 popstate.
559 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 4 - 200 should equal 200
Ignoring iframe1 popstate.
560 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 5 - 150 should equal 150
Ignoring iframe1 popstate.
561 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 6 - 200 should equal 200
iframeLoad(loads=2)
++DOMWINDOW == 44 (0x11c9a0ce8) [serial = 1028] [outer = 0x11dc8e3f0]
Got iframe2 popstate.
iframeLoad(loads=3)
562 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | Location was http://mochi.test:8888/tests/docshell/test/file_bug590573_2.html but should end with file_bug590573_2.html
563 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 7 - 0 should equal 0
iframeLoad(loads=4)
Ignoring iframe2 popstate.
--DOMWINDOW == 43 (0x118167cf8) [serial = 1004] [outer = 0x11c8ccc20] [url = about:neterror?e=dnsNotFound&u=http%3A//some-nonexistent-domain-27489274c892748217cn2384.com/&c=ISO-8859-1&d=Firefox%20can%27t%20find%20the%20server%20at%20some-nonexistent-domain-27489274c892748217cn2384.com.]
--DOMWINDOW == 42 (0x11c873f18) [serial = 1003] [outer = 0x11c8ccc20] [url = about:neterror?e=dnsNotFound&u=http%3A//some-nonexistent-domain-27489274c892748217cn2384.com/&c=ISO-8859-1&d=Firefox%20can%27t%20find%20the%20server%20at%20some-nonexistent-domain-27489274c892748217cn2384.com.]
--DOMWINDOW == 41 (0x11c8ccc88) [serial = 1001] [outer = 0x0] [url = about:neterror?e=dnsNotFound&u=http%3A//some-nonexistent-domain-27489274c892748217cn2384.com/&c=ISO-8859-1&d=Firefox%20can%27t%20find%20the%20server%20at%20some-nonexistent-domain-27489274c892748217cn2384.com.]
--DOMWINDOW == 40 (0x11c88ee48) [serial = 955] [outer = 0x1186950e0] [url = about:blank]
--DOMWINDOW == 39 (0x118695148) [serial = 954] [outer = 0x0] [url = chrome://browser/content/browser.xul]
--DOMWINDOW == 38 (0x11bb0fc88) [serial = 967] [outer = 0x111141fb0] [url = http://mochi.test:8888/tests/docshell/test/test_bug413310.html]
--DOMWINDOW == 37 (0x119dcbdc8) [serial = 947] [outer = 0x111141fb0] [url = http://mochi.test:8888/tests/docshell/test/test_bug387979.html]
--DOMWINDOW == 36 (0x11c8e1338) [serial = 990] [outer = 0x11cbf2c90] [url = about:blank]
--DOMWINDOW == 35 (0x11cbf2cf8) [serial = 989] [outer = 0x0] [url = chrome://browser/content/browser.xul]
--DOMWINDOW == 34 (0x119ec8778) [serial = 1027] [outer = 0x11dc8e3f0] [url = http://mochi.test:8888/tests/docshell/test/file_bug590573_1.html]
--DOMWINDOW == 33 (0x10ddc7b18) [serial = 1024] [outer = 0x11dc8ba30] [url = http://mochi.test:8888/tests/docshell/test/file_bug580069_2.sjs?replaced]
--DOMWINDOW == 32 (0x119e74ad8) [serial = 1023] [outer = 0x11dc8ba30] [url = http://mochi.test:8888/tests/docshell/test/file_bug580069_2.sjs]
--DOMWINDOW == 31 (0x11dc8ba98) [serial = 1021] [outer = 0x0] [url = http://mochi.test:8888/tests/docshell/test/file_bug580069_2.sjs?replaced]
--DOMWINDOW == 30 (0x11cc54d08) [serial = 1022] [outer = 0x0] [url = http://mochi.test:8888/tests/docshell/test/file_bug580069_1.html]
--DOCSHELL 0x11c8430d0 == 13
--DOMWINDOW == 29 (0x11dbc84c8) [serial = 1020] [outer = 0x111141fb0] [url = http://mochi.test:8888/tests/docshell/test/test_bug580069.html]
--DOMWINDOW == 28 (0x10e004208) [serial = 1019] [outer = 0x10e079a10] [url = wyciwyg://5/http://mochi.test:8888/tests/docshell/test/file_bug540462.html]
--DOMWINDOW == 27 (0x11dbd8908) [serial = 1018] [outer = 0x10e079a10] [url = http://mochi.test:8888/tests/docshell/test/file_bug540462.html]
--DOMWINDOW == 26 (0x10e0f4c68) [serial = 1013] [outer = 0x0] [url = about:blank]
--DOMWINDOW == 25 (0x10e00a318) [serial = 1017] [outer = 0x0] [url = about:blank]
--DOMWINDOW == 24 (0x11bbaaad8) [serial = 1012] [outer = 0x0] [url = about:blank]
--DOMWINDOW == 23 (0x10e098fd8) [serial = 1016] [outer = 0x0] [url = about:blank]
--DOCSHELL 0x11cc1ba30 == 12
--DOCSHELL 0x10e0ef870 == 11
--DOMWINDOW == 22 (0x10e079a78) [serial = 1014] [outer = 0x0] [url = wyciwyg://5/http://mochi.test:8888/tests/docshell/test/file_bug540462.html]
--DOMWINDOW == 21 (0x11c96c2d8) [serial = 1015] [outer = 0x0] [url = about:blank]
--DOCSHELL 0x11bbc7db0 == 10
--DOCSHELL 0x11dcf74c0 == 9
--DOMWINDOW == 20 (0x10e0dd458) [serial = 1005] [outer = 0x111141fb0] [url = http://mochi.test:8888/tests/docshell/test/test_bug529119-2.html]
--DOCSHELL 0x11cbf8880 == 8
--DOMWINDOW == 19 (0x11c8d5fd8) [serial = 1009] [outer = 0x111141fb0] [url = http://mochi.test:8888/tests/docshell/test/test_bug540462.html]
--DOMWINDOW == 18 (0x11c9ab508) [serial = 1006] [outer = 0x0] [url = http://mochi.test:8888/tests/docshell/test/bug529119-window.html]
--DOMWINDOW == 17 (0x10ddba638) [serial = 1008] [outer = 0x0] [url = about:neterror?e=dnsNotFound&u=http%3A//some-nonexistent-domain-27489274c892748217cn2384.com/&c=ISO-8859-1&d=Firefox%20can%27t%20find%20the%20server%20at%20some-nonexistent-domain-27489274c892748217cn2384.com.]
--DOMWINDOW == 16 (0x11dbe3048) [serial = 1007] [outer = 0x0] [url = about:blank]
WARNING: An event was posted to a thread that will never run it (rejected): file /builds/slave/mozilla-central-macosx64-debug/build/xpcom/threads/nsThread.cpp, line 371
WARNING: leaking reference to nsTimerImpl: file /builds/slave/mozilla-central-macosx64-debug/build/xpcom/threads/nsTimerImpl.cpp, line 491
WARNING: 1 sort operation has occurred for the SQL statement '0x11dbe3738'.  See https://developer.mozilla.org/En/Storage/Warnings details.: file /builds/slave/mozilla-central-macosx64-debug/build/storage/src/mozStoragePrivateHelpers.cpp, line 138
564 ERROR TEST-UNEXPECTED-FAIL | /tests/docshell/test/test_bug590573.html | Test timed out.
565 INFO SimpleTest finished /tests/docshell/test/test_bug590573.html in 329179ms
This is the problem:

  563 INFO TEST-PASS | /tests/docshell/test/test_bug590573.html | test 7 - 0
should equal 0
  iframeLoad(loads=4)
  Ignoring iframe2 popstate.

We're getting a popstate from iframe2, but we should be getting one from iframe1.

Why is another story...
Depends on: 590573
Since I can't reproduce this, I'm trying to cook up some debugging code that I can check in or run a bunch of times on try.

For starters, I'd like to dump out the contents of the session history for the iframe.  I'm having difficulty doing this, though.

For a top-level window, I can do

  const Ci = Components.interfaces;
  var sh = theWindow.QueryInterface(Ci.nsIInterfaceRequestor)
                    .getInterface(Ci.nsIWebNavigation)
                    .sessionHistory;

  for (var i = 0; i < sh.count; i++) {
    dump(" " + i + ": " + sh.getEntryAtIndex(i, false).URI.spec + '\n');
  }

but if theWindow is an iframe's contentWindow, sh is null.  I also tried iframe.contentWindow.history.item(i), but that still returns the top-level window's URI.

I could rewrite the test to use a popup, but who knows if we'd still see the failure.

bz or smaug, do either of you know how to get the list of URIs in an iframe's history?
Ah, I got it!  Needed to QI to nsISHContainer, then life was good.
Currently pending results from instrumented Mac64 tryserver builds.
Depends on: 593548
The instrumentation I added to the test didn't work for some reason.  I'll try to fix the test and push to try again.
Attached patch Patch v1 (obsolete) — Splinter Review
This patch changes the window we're navigating from an iframe to a popup.  This test might currently be doing weird things because the test itself is run inside an iframe.

Pushed to try.
Depends on: 594169
Comment on attachment 472703 [details] [diff] [review]
Patch v1

Well, this looks OK on try.  I could run it more times, but the test is only  failing once every few days as is, so we'd have to run it a lot to be confident that this fixes the problem.

bz, do you think this patch is worth a shot?
Attachment #472703 - Flags: review?(bzbarsky)
re the patch: I left a lot of debugging dump()s in the test.  I could take them out, but if the test goes orange again, I kind of want to know what's going on.

I'd be happy removing the dump()s after we establish that the test is no longer failing...
Comment on attachment 472703 [details] [diff] [review]
Patch v1

Jonas says he can pick up this review.
Attachment #472703 - Flags: review?(bzbarsky) → review?(jonas)
Duplicate of this bug: 593613
This has happened on all OSes, 32- and 64-bit.  But only debug builds.

I'll check in the test change here when I get a chance in the next few days.  If that doesn't help, I can try Ian's suggestion from bug 593613.
OS: Mac OS X → All
Hardware: x86_64 → All
Depends on: 565307
Summary: Intermittent timeout in docshell/test/test_bug590573.html → debug test mochitests-2/5: Intermittent timeout in docshell/test/test_bug590573.html
Attachment #472703 - Attachment is obsolete: true
I'd like to leave the bug open for a bit, since I'm not confident that the change actually fixes the orange.
Haven't seen this in almost two weeks, so I'm going to mark as fixed.
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.