Closed Bug 415746 Opened 16 years ago Closed 16 years ago

test_collection.js crashes xpcshell on windows

Categories

(MailNews Core :: Address Book, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Callek, Unassigned)

Details

Attachments

(1 file, 1 obsolete file)

test_collector.js crashes xpcshell on windows, when running "make check".

Call Stack:

mork!morkRowObject::CloseRowObject+0x2a [c:\programming\sources\mozilla\mozilla\db\mork\src\morkrowobject.cpp @ 606]
mork!morkRowObject::CloseMorkNode+0x16 [c:\programming\sources\mozilla\mozilla\db\mork\src\morkrowobject.cpp @ 86]
mork!morkRowObject::~morkRowObject+0x1f [c:\programming\sources\mozilla\mozilla\db\mork\src\morkrowobject.cpp @ 94]
mork!morkRowObject::`scalar deleting destructor'+0x8
mork!morkObject::Release+0x1c [c:\programming\sources\mozilla\mozilla\db\mork\src\morkobject.cpp @ 67]
xpcom_core!nsCOMPtr_base::~nsCOMPtr_base+0xc [c:\programming\objectdirs\mozilla\trunk\suiterunner\xpcom\build\nscomptr.cpp @ 82]
mail!nsAddrDBEnumerator::~nsAddrDBEnumerator+0xf
mail!nsAddrDBEnumerator::Release+0x1b [c:\programming\sources\mozilla\mozilla\mailnews\addrbook\src\nsaddrdatabase.cpp @ 2971]
xpc3250!XPCJSRuntime::GCCallback+0x310 [c:\programming\sources\mozilla\mozilla\js\src\xpconnect\src\xpcjsruntime.cpp @ 817]
js3250!js_GC+0x977 [c:\programming\sources\mozilla\mozilla\js\src\jsgc.c @ 2946]
js3250!JS_GC+0x2d [c:\programming\sources\mozilla\mozilla\js\src\jsapi.c @ 2386]
xpcshell!main+0x360 [c:\programming\sources\mozilla\mozilla\js\src\xpconnect\shell\xpcshell.cpp @ 1467]
xpcshell!__tmainCRTStartup+0x10f [f:\sp\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 597]
WARNING: Stack unwind information not available. Following frames may be wrong.
kernel32!RegisterWaitForInputIdle+0x49


I will be attaching a bandaid fix (disable the section of test that triggers this)...
Summary: test_collector.js crashes xpcshell on windows → test_collection.js crashes xpcshell on windows
Attached patch bandaid fix (obsolete) — Splinter Review
Attachment #301464 - Flags: superreview?
Attachment #301464 - Flags: review?(bugzilla)
Attachment #301464 - Flags: superreview? → superreview?(neil)
(In reply to comment #1)
> Created an attachment (id=301464) [details]
> bandaid fix

I don't want us to do this. Firstly, this is supposedly running fine on Linux (as per SeaMonkey tinderbox), and AFAIK there shouldn't be any platform differences in that part of the code (and if I remember correctly, Neil would have done the review on this file and tested it on Windows at the same time). Secondly, we should be finding the cause of the problem and fixing that.

Can you try and find out which line its crashing on in the test file?

319     ++testnum; // Test 5 - Do all emails at the same time.
 320 
 321     // First delete all existing cards
 322     var childCards = CAB.childCards;
 323     var cardsToDelete = Components.classes["@mozilla.org/array;1"]
 324                                   .createInstance(Components.interfaces.nsIMutableArray);
 325     while (childCards.hasMoreElements()) {
 326       cardsToDelete.appendElement(childCards.getNext(), false);
 327     }
 328 
 329     CAB.deleteCards(cardsToDelete);
 330 
 331     // Address book should have no cards present.
 332     do_check_false(CAB.childCards.hasMoreElements());
 333 
 334     do_check_eq(collectChecker.AB.cardForEmailAddress(addEmailChecks[0].emailHeader), null);
 335 
 336     // Now do all emails at the same time.

I'm thinking maybe line 332, or potentially later if it is not until the var childCards (as opposed to the CAB.childCards) to be destroyed. Maybe you could try putting childCards = null; on line 328
See my stack, it is *literally* on GC, and dealing with mork.

It doesn't happen until I call "quit();" in the interactive run for this test.

make SOLO_FILE="test_collection.js" check-interactive

Neil did experience the crash as well on IRC.

setting childCards to null did not fix this. (when I leave everything up to 328 in it crashes, regardless if the deleteCards//checks are in or not)
Attached patch Better fix.Splinter Review
Attachment #301464 - Attachment is obsolete: true
Attachment #301512 - Flags: superreview?
Attachment #301512 - Flags: review?(bugzilla)
Attachment #301464 - Flags: superreview?(neil)
Attachment #301464 - Flags: review?(bugzilla)
Attachment #301512 - Flags: superreview? → superreview?(jag)
Comment on attachment 301512 [details] [diff] [review]
Better fix.

this patch was actually made by jag over IRC (I just typed and tested locally).

r+=me then.
Attachment #301512 - Flags: superreview?(neil)
Attachment #301512 - Flags: superreview?(jag)
Attachment #301512 - Flags: review?(bugzilla)
Attachment #301512 - Flags: review+
Attachment #301512 - Flags: superreview?(neil) → superreview+
Thanks to karsten for checking in. Verified that the one boxen that runs this test did not break.

RESO/FIXED
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: