Closed
Bug 550029
Opened 14 years ago
Closed 14 years ago
Random mochitest failure due to test_tree_view.xul
Categories
(Core :: XUL, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: roc, Assigned: roc)
Details
Attachments
(1 file)
1.02 KB,
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
Running mochitests under record-and-replay I got 162519 INFO Running /tests/toolkit/content/tests/widgets/test_videocontrols.html... 162520 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - netscape is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:50 162521 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 162522 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 162523 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 162524 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 162525 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 162526 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 162527 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 162528 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://localhost:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 It looks like we're calling back into the tree-view JS after we've already moved on to the next test, which doesn't work and also somehow triggers an error report to the window for test_videocontrols.html. That's quite disturbing actually since test_tree_view's JS should not be running in the context of the other page...
Comment 1•14 years ago
|
||
Huh. That onerror handler triggering there is indeed very weird. We should probably have some checks about globals there or something to prevent that event from going to the new inner window due to the error on the old inner.
Assignee | ||
Comment 2•14 years ago
|
||
I'll try to get more details, but unfortunately the VMWare Visual Studio plugin crashed and somehow uninstalled itself... This is probably a good time to update to VMWare 7.0.1.
Assignee | ||
Comment 3•14 years ago
|
||
Unsurprisingly perhaps, this error occurs while we're painting the window. I guess this is a situation where the old document is a zombie and the content viewer for the new document hasn't been shown yet because not enough of the new document has loaded.
Assignee | ||
Comment 4•14 years ago
|
||
I think this will fix it. I hope it makes sense. It does mean that when the document enters the zombie state, trees will paint differently from before, so in theory we should invalidate any trees... but who cares, really.
Attachment #432493 -
Flags: review?(bzbarsky)
Comment 5•14 years ago
|
||
Roc, bz is out for at least a week, could someone else (dbaron?) review here?
Assignee | ||
Updated•14 years ago
|
Attachment #432493 -
Flags: review?(bzbarsky) → review?(Olli.Pettay)
Comment 6•14 years ago
|
||
Comment on attachment 432493 [details] [diff] [review] fix Could we bail out earlier when building display list? Probably when stepping into a new presshell?
Assignee | ||
Comment 7•14 years ago
|
||
We still want to paint these zombie documents. The new document isn't ready to paint yet.
Comment 8•14 years ago
|
||
So is the problem that error event from previous page is fired in the next page? What about preventing error event in this case. I wonder if the problem happens because of the async error event. ScriptErrorEvent::Run could check that the current inner window is the same as what it was when creating the object.
Assignee | ||
Comment 9•14 years ago
|
||
That is a problem, yes. However, I don't think we should be calling into script that can't possibly run correctly.
Assignee | ||
Comment 10•14 years ago
|
||
I don't think the problem is because of the async error event. By the time we run the old script, the current inner window is already the new window.
Assignee | ||
Comment 12•14 years ago
|
||
I don't have a copy of the stack, and I think I deleted the VM recording, but it was very simple. It's a regular asynchronous paint, which goes into nsTreeBodyFrame::PaintColumn, which calls mView->GetColumnProperties, which runs page script, which raises an error because all the properties of its global object are gone. I'm not sure how that error ends up firing on the window of the new doc, though.
Updated•14 years ago
|
Attachment #432493 -
Flags: review?(Olli.Pettay) → review+
Comment 13•14 years ago
|
||
Comment on attachment 432493 [details] [diff] [review] fix Ok, let's try this.
Assignee | ||
Updated•14 years ago
|
Whiteboard: [needs landing]
Assignee | ||
Comment 14•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/6a398023b956
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing]
Comment 15•14 years ago
|
||
I think I saw another instance of this on try server http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTry/1277260471.1277261468.18111.gz 17564 ERROR TEST-UNEXPECTED-FAIL | /tests/toolkit/content/tests/widgets/test_videocontrols.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - treeData is not defined at http://mochi.test:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul:27 JavaScript error: http://mochi.test:8888/tests/toolkit/content/tests/widgets/test_tree_view.xul, line 27: treeData is not defined and a bunch of ###!!! ASSERTION: XPConnect is being called on a scope without a 'Components' property!: 'Error', file /builds/slave/tryserver-macosx-debug/build/js/src/xpconnect/src/xpcwrappednativescope.cpp, line 784
You need to log in
before you can comment on or make changes to this bug.
Description
•