Closed Bug 547898 Opened 14 years ago Closed 10 years ago

crash [@ -[ABChangedMonitor ABChanged:] ]

Categories

(Thunderbird :: Address Book, defect)

All
macOS
defect
Not set
critical

Tracking

(thunderbird_esr2430+ fixed)

RESOLVED FIXED
Thunderbird 27.0
Tracking Status
thunderbird_esr24 30+ fixed

People

(Reporter: mike001, Assigned: jsbruner)

Details

(Keywords: crash, Whiteboard: [Mac topcrash])

Crash Data

Attachments

(1 file)

crash [@ -[ABChangedMonitor ABChanged:] ]

#10 crash for Macs, not in top 100 overall
  (total 146, all Mac, Jan26-Feb22)

3.0b3 - 1 occurrence, MacOS 10.6.2 (10C540) - [Eudora 8.0b7]
3.0b4 - 2 occurrences, MacOS 10.6.2 (10C540)
3.0 - 7 occurrences, 6 MacOS 10.6.2 (10C540), 1 MacOS 10.4.11 (8S2167)
3.0.1 - 136 occurrences:
  2 MacOS 10.4.11 (8S165)
  4 MacOS 10.4.11 (8S2167)
  6 MacOS 10.5.8 (9L30)
  5 MacOS 10.5.8 (9L31a)
  8 MacOS 10.6.0 (10A432)
  1 MacOS 10.6.1 (10A2047)
  14 MacOS 10.6.2 (10C2234)
  96 MacOS 10.6.2 (10C540)
(no occurrences for 1.9.2 or 1.9.3 branches)

bp-4a79f5a6-cab4-4d77-b6d1-afd3c2100205  v3.0.1  Build20100111130305
comment: My previous saved search folders are duplicated many times. 
    When I tried to delete one the system crashed
0	thunderbird-bin	-[ABChangedMonitor ABChanged:]	mailnews/addrbook/src/nsAbOSXDirectory.mm:125
1	Foundation	_nsnote_callback	
2	CoreFoundation	__CFXNotificationPost	
3	CoreFoundation	_CFXNotificationPostNotification	
4	Foundation	-[NSNotificationCenter postNotification:]	
5	Foundation	__NSThreadPerformPerform	
6	CoreFoundation	__CFRunLoopDoSources0	
7	CoreFoundation	__CFRunLoopRun	
8	CoreFoundation	CFRunLoopRunSpecific	
9	CoreFoundation	CFRunLoopRunInMode	
10	HIToolbox	RunCurrentEventLoopInMode	
11	HIToolbox	ReceiveNextEventCommon	
12	HIToolbox	BlockUntilNextEventMatchingListInMode	
13	AppKit	_DPSNextEvent	
14	AppKit	-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]	
15	thunderbird-bin	nsAppShell::ProcessNextNativeEvent	widget/src/cocoa/nsAppShell.mm:665
16	thunderbird-bin	nsBaseAppShell::DoProcessNextNativeEvent	widget/src/xpwidgets/nsBaseAppShell.cpp:151
17	thunderbird-bin	nsBaseAppShell::OnProcessNextEvent	widget/src/xpwidgets/nsBaseAppShell.cpp:278
18	thunderbird-bin	nsAppShell::OnProcessNextEvent	widget/src/cocoa/nsAppShell.mm:844
19	libxpcom_core.dylib	nsThread::ProcessNextEvent	xpcom/threads/nsThread.cpp:508
20	libxpcom_core.dylib	NS_ProcessPendingEvents_P	 nsThreadUtils.cpp:200

bp-4067814c-3f00-488e-8147-5e0fc2100202  v3.0.1  Build20100111130305
comment: [Spanish] I was working with the Calendar and simply closed [the calendar ?]
0	thunderbird-bin	-[ABChangedMonitor ABChanged:]	mailnews/addrbook/src/nsAbOSXDirectory.mm:125
1	Foundation	_nsnote_callback	
2	CoreFoundation	__CFXNotificationPost	
3	CoreFoundation	_CFXNotificationPostNotification	
4	Foundation	-[NSNotificationCenter postNotification:]	
5	Foundation	__NSThreadPerformPerform	
6	CoreFoundation	CFRunLoopRunSpecific	
7	CoreFoundation	CFRunLoopRunInMode	
8	HIToolbox	RunCurrentEventLoopInMode	
9	HIToolbox	ReceiveNextEventCommon	
10	HIToolbox	BlockUntilNextEventMatchingListInMode	
11	AppKit	_DPSNextEvent	
12	AppKit	-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]	
13	AppKit	-[NSApplication run]	
14	thunderbird-bin	nsAppShell::Run	widget/src/cocoa/nsAppShell.mm:759
15	thunderbird-bin	nsAppStartup::Run	toolkit/components/startup/src/nsAppStartup.cpp:193
16	thunderbird-bin	XRE_main	toolkit/xre/nsAppRunner.cpp:3321
17	thunderbird-bin	main	mail/app/nsMailApp.cpp:103
18	thunderbird-bin	thunderbird-bin@0x1c91	
19	thunderbird-bin	thunderbird-bin@0x1bb8	
20		@0x1
Severity: normal → critical
Component: General → Address Book
QA Contact: general → address-book
a more recent example, from v3.1.1pre ... bp-ce0d03c6-3c78-4c8f-a525-c3fd52100602

#16 Mac crash for v3.0.4
121 nsCOMPtr<nsIAbCard> abCard;
122 ConvertToCard(aRDFService, card, getter_AddRefs(abCard));
123 nsCOMPtr<nsIAbOSXCard> osxCard = do_QueryInterface(abCard);
125 osxCard->Update(PR_TRUE); 

osxCard is null
Josh so doing something like
if(osxcard)
 osxcard->Update(PR_TRUE);

would work, is there a macro to achieve this in mozilla's code ?
nope, and you'd probably be better served by rv checking ConvertCard (everyone else does).

typically we bubble out failure, but you should figure out if that's the correct thing to do... I guess in this case, it probably isn't.
Crash Signature: [@ -[ABChangedMonitor ABChanged:] ]
Nomis, would you be able to take this?

#1 crash for Mac currently.
98% are OS X 10.7 

bp-636c6cd7-f790-4ff1-8b5e-e7d232120520 (sheri)

bp-70ff7886-cbce-4a79-85d1-427372120524 (gfe) - reporter (who is not necessarily representative example) writes "if i drag and drop a contact from my Mac Address Book (local address book) onto my exchange based address book Thunderbird crashes 9 times out of 10."
Whiteboard: [Mac topcrash]
(In reply to Wayne Mery (:wsmwk) from comment #5)
> Nomis, would you be able to take this?

Maybe, if someone gets me an idea what is to do here, than I'm willing to try to make a patch. But as you can see on bugzilla, there are a few unfinished bugs, where I started with a patch and than get stucked. Could happen the same here, could.^^
hopefully standard8 can jump in with some advice
(finished the original MAC AB patch started by peterv)
My analysis:

According to https://crash-stats.mozilla.com/report/index/70ff7886-cbce-4a79-85d1-427372120524, the crash is happening here:

http://hg.mozilla.org/releases/comm-release/annotate/97368066a50f/mailnews/addrbook/src/nsAbOSXDirectory.mm#l151

If I had to guess, I'd say that we're crashing because we're not checking the return value of GetOrCreateGroup.
I'm completely unfamiliar with the code where these crashes happen.  But the problem seems pretty obvious, as Mike has already found.

All the crashes are null dereferences.  Someone should write a patch that null-checks osxDirectory.
Attached patch Patch.Splinter Review
This patch should be enough to stop the crashing. Even if it doesn't there is no harm taking it.
Assignee: nobody → josiah
Attachment #822408 - Flags: review?(smichaud)
Comment on attachment 822408 [details] [diff] [review]
Patch.

This looks fine to me.

Other problems may happen in place of the crashes, and people will need to be on the lookout for them.  But at least we'll be rid of the #1 Mac Thunderbird topcrasher.
Attachment #822408 - Flags: review?(smichaud) → review+
Thanks Steven!

https://hg.mozilla.org/comm-central/rev/cf5cc2cc6e2c
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 26.0
Version: 26 → unspecified
Hey Wayne,

This did not land in Thunderbird 26. Looking at that crash stat, I can see that my change isn't shown in that code, and indeed, mxr shows it isn't currently in comm-beta. However, it is found in comm-aurora (where no crashes are seen). Therefore resolving and changing Target Milestone.

Probably my fault, I forgot to set the Target milestone when landing. Sorry.
Status: REOPENED → RESOLVED
Closed: 11 years ago10 years ago
Resolution: --- → FIXED
Target Milestone: Thunderbird 26.0 → Thunderbird 27.0
Comment on attachment 822408 [details] [diff] [review]
Patch.

[Approval Request Comment]
Regression caused by (bug #): N/A
User impact if declined: Users on the ESR 24 branch will be plagued with periodic crashes. Especially those on OS X 10.9.
Testing completed (on c-c, etc.): On TB 27.
Risk to taking this patch (and alternatives if risky): Low risk, only null checks.
Attachment #822408 - Flags: approval-comm-esr24?
Attachment #822408 - Flags: approval-comm-esr24? → approval-comm-esr24+
You need to log in before you can comment on or make changes to this bug.