Closed Bug 478219 Opened 14 years ago Closed 13 years ago

[FIX]Crash [@ nsTypedSelection::Collapse] with binding, contenteditable, alert and input type=image

Categories

(Core :: Layout: Form Controls, defect)

x86
Windows XP
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: martijn.martijn, Assigned: bzbarsky)

References

Details

(Keywords: crash, regression, testcase)

Crash Data

Attachments

(5 files)

Attached file testcase
See testcase, which crashes current trunk build.
This regressed between 2009-01-29 and 2009-01-30:
http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2009-01-29+04%3A00%3A00&enddate=2009-01-30+06%3A00%3A00
I think a regression from bug 335615.

http://crash-stats.mozilla.com/report/index/607e6897-647c-471a-b760-a34c02090212?p=1
0  	ntdll.dll  	KiFastSystemCallRet  	
1 	ntdll.dll 	NtReleaseSemaphore 	
2 	kernel32.dll 	ReleaseSemaphore 	
3 	xul.dll 	google_breakpad::ExceptionHandler::WriteMinidumpOnHandlerThread 	toolkit/crashreporter/google-breakpad/src/client/windows/handler/exception_handler.cc:562
4 	xul.dll 	xul.dll@0x8eba77 	
5 	mozcrt19.dll 	_purecall 	obj-firefox/memory/jemalloc/src/purevirt.c:47
6 	xul.dll 	nsGenericElement::QueryInterface 	content/base/src/nsGenericElement.cpp:4115
7 	xul.dll 	xul.dll@0x8eba77 	
8 	xul.dll 	nsTypedSelection::Collapse 	layout/generic/nsSelection.cpp:5518
9 	xul.dll 	nsTextEditRules::CreateBogusNodeIfNeeded 	editor/libeditor/text/nsTextEditRules.cpp:1266
10 	xul.dll 	nsTextEditRules::Init 	editor/libeditor/text/nsTextEditRules.cpp:141
11 	xul.dll 	nsPlaintextEditor::InitRules 	editor/libeditor/text/nsPlaintextEditor.cpp:344
12 	xul.dll 	nsPlaintextEditor::EndEditorInit 	editor/libeditor/text/nsPlaintextEditor.cpp:180
13 	xul.dll 	nsPlaintextEditor::Init 	editor/libeditor/text/nsPlaintextEditor.cpp:146
14 	xul.dll 	nsTextControlFrame::InitEditor 	layout/forms/nsTextControlFrame.cpp:1455
15 	xul.dll 	nsRunnable::Release 	obj-firefox/xpcom/build/nsThreadUtils.cpp:51
16 	xul.dll 	nsTextControlFrame::DelayedEditorInit 	layout/forms/nsTextControlFrame.cpp:1389
17 	xul.dll 	nsTextControlFrame::EditorInitializer::Run 	layout/forms/nsTextControlFrame.h:226
18 	xul.dll 	xul.dll@0x39f4a6
The testcase doesn't seem to crash online, so you have to test it locally or 'work offline'.
#5  0x02238f2c in InsertElementTxn::DoTransaction (this=0xfc2ef90) at /Users/bzbarsky/mozilla/vanilla/mozilla/editor/libeditor/base/InsertElementTxn.cpp:117
117       mEditor->ShouldTxnSetSelection(&bAdjustSelection);
(gdb) p mEditor
$6 = (nsFrameSelection *) 0xfc2ee80

Um.  Yeah.
Attached patch Possible fixSplinter Review
Jonas, what do you think?  This just makes sure we don't do the XBL binding reconstruct while initing the editor...

The other option is to sprinkle nsWeakFrame checks all through the editor setup in the nsTextControlFrame, or at the very least hold a deathgrip to the editor on the stack....
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Attachment #362269 - Flags: superreview?(jonas)
Attachment #362269 - Flags: review?(jonas)
Summary: Crash [@ nsTypedSelection::Collapse] with binding, contenteditable, alert and input type=image → [FIX]Crash [@ nsTypedSelection::Collapse] with binding, contenteditable, alert and input type=image
Comment on attachment 362269 [details] [diff] [review]
Possible fix

I'd really like to fix the problem that a BeginUpdate/EndUpdate pair causes us to run 'unrelated' xbl stuff though. We really should fix that.
Attachment #362269 - Flags: superreview?(jonas)
Attachment #362269 - Flags: superreview+
Attachment #362269 - Flags: review?(jonas)
Attachment #362269 - Flags: review+
Pushed fix: http://hg.mozilla.org/mozilla-central/rev/12e163f4f272

And test: http://hg.mozilla.org/mozilla-central/rev/1101f18b56f8
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
backed out the fix and the test...

REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/forms/crashtests/478219-1.xhtml | timed out waiting for onload to fire
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/225868-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/307979-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/324318-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/334105-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/337883-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/337883-2.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/342322-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/343206-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/345139-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/366021-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/369038-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/369150-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/369150-2.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/369547-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/371348-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/372376-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/379917-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/380012-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/382131-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/383089-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/388175-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/394818-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/394818-2.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/397187-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/397844-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/397844-2.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/generic/crashtests/399843-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/307826-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/336074-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/348492-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/366012-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/366564-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/370791-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/370862-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/mathml/crashtests/375562-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/style/crashtests/386939-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/style/crashtests/448161-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/308917-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/310436-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/343221-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/344887-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/344898-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/344904-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/359516-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/361015-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/361587-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/364688-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/366956-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/366956-2.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/367111-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/369233-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/369438-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/369438-2.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/371563-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/375775-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/385852-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/386566-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/402408-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/svg/crashtests/458453.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/237421-2.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/331446-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/331690-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/341227-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/347725-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/358679-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/366556-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/367673-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/370876-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/379687-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/416845-3.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/tables/crashtests/423514-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/crashtests/344228-1.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/crashtests/360642-1.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/crashtests/369942-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/crashtests/377592-1.svg | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/crashtests/434458-1.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/tree/src/crashtests/309732-1.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/tree/src/crashtests/309732-2.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/tree/src/crashtests/366583-1.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/tree/src/crashtests/391178-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/tree/src/crashtests/391178-2.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/tree/src/crashtests/399227-1.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/layout/xul/base/src/tree/src/crashtests/399227-2.xul | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/gfx/thebes/crashtests/369688-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/gfx/thebes/crashtests/372094-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/gfx/thebes/crashtests/385423-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/gfx/thebes/crashtests/385423-2.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/gfx/thebes/crashtests/393822-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/gfx/thebes/crashtests/394384-1.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/gfx/thebes/crashtests/394246-2.html | timed out waiting for reftest-wait to be removed (after onload fired)
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/moz2_slave/mozilla-central-macosx-unittest/build/widget/src/cocoa/crashtests/403296-1.xhtml | timed out waiting for reftest-wait to be removed (after onload fired)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I relanded the patch as http://hg.mozilla.org/mozilla-central/rev/29a714ae9d11 since that cycles green.

I bet the fails were due to the alert() in the test, so leaving the test out for now.  Martijn, do you think you can put together a reasonable crashtest for this?
Status: REOPENED → RESOLVED
Closed: 13 years ago13 years ago
Flags: in-testsuite+ → in-testsuite?
Resolution: --- → FIXED
I'll try again, but iirc, I didn't succeed in that last time I tried.
Does replacing the alert() with a sync xhr done in a loop until the binding is fully applied work?
I tried using sync xmlhttprequest, but that doesn't seem to crash
This testcase also crashes, but I guess crashtests are running under a profile that has the popup blocker enabled.
That can be temporarily disabled... (in Mochitests at least, not sure about crashtests).
Crashtests run under a normal browsing profile, yes.  Unlike mochitest, you are NOT allowed to enablePrivilege in crashtests.

If you want to just write a mochitest for this, that's fine too.  If it crashes, we fail mochitest, which is the key here.
Attached patch mochitestSplinter Review
Ok, this is a mochitest that crashes nicely in a regular trunk build without the patch, but doesn't crash in my debug buld, which already contained the patch.
The mochitest profile apparently allows popups, so I didn't need to tinker with any prefs.
Flags: in-testsuite? → in-testsuite+
Attached file testcase3
It turns out this crash was also fixed by the patch. This would probably have been a better crashtest, because no alert/window opening is involved.
Crash Signature: [@ nsTypedSelection::Collapse]
You need to log in before you can comment on or make changes to this bug.