Re: HELP! My app crashes on startup, with a very weird stack trace.
Re: HELP! My app crashes on startup, with a very weird stack trace.
- Subject: Re: HELP! My app crashes on startup, with a very weird stack trace.
- From: Oleg Krupnov <email@hidden>
- Date: Tue, 2 Feb 2010 22:18:06 +0200
Fixed now, it worked like a charm! :)
Indeed, I was intercepting exceptions from the AX framework in my -
(BOOL)exceptionHandler:(NSExceptionHandler*)sender
shouldHandleException:(NSException*)exception mask:(unsigned int)mask
delegate method. This only occurs on Snow Leopard but not on Leopard.
I was able to reproduce the bug using the Accessibility Inspector
utility. And I have fixed it as advised.
Thanks a ton to everybody who responded!!!
On Tue, Feb 2, 2010 at 9:09 PM, Jesper Storm Bache <email@hidden> wrote:
> Are you sure you are seeing "unhandled exceptions", or simply "NSExceptions" that are handled somewhere inside the Ax framework.
> If it is the latter, then you'll need to allow NSExceptions from inside the Ax framework to propagate to their handlers (also inside the Ax framework).
> Note: Apple does *not* guarantee that their implementation is NSException free; you just should not see such exceptions being thrown back to your code.
>
> For this reason I only enable NSException detection logic in my debug builds, and the current version of my debug handler is:
>
> void ExceptionCallback(id exceptionObject)
> {
> bool doBreak = true;
> if ([exceptionObject isKindOfClass:[NSException class]])
> {
> NSString* name = [exceptionObject name];
>
> // Ignore exceptions from the accessibility framework because it uses
> // exceptions for flow control
> doBreak = ![name isEqualToString:NSAccessibilityException];
> }
>
> if (doBreak)
> {
> report_problem(...)
> }
> }
>
> Jesper Storm Bache
>
> On Feb 2, 2010, at 10:58 AM, Oleg Krupnov wrote:
>
>> Thanks Ken,
>>
>> I don't quite understand your response though. What do you mean by
>> "unexceptional exceptions"? How should I handle those exceptions, and
>> why should I, if I don't make any calls to accessibility frameworks at
>> all?
>>
>> The report I have included in the first post is all I have so far.
>>
>>
>>
>> On Tue, Feb 2, 2010 at 8:51 PM, Ken Ferry <email@hidden> wrote:
>>> Hi Oleg,
>>> Unfortunately, the accessibility mechanism uses unexceptional exceptions
>>> under the hood. These are a normal part of operation. They shouldn't be
>>> unhandled though… are you sure you're reporting what you think you are?
>>> -Ken
>>> On Tue, Feb 2, 2010 at 6:41 PM, Oleg Krupnov <email@hidden> wrote:
>>>>
>>>> Hi Corbin,
>>>>
>>>> Thanks for your quick response. You are right, I should have been more
>>>> specific. This is not a "crash" in precise meaning. This is an
>>>> unhandled exception raised by appkit's accessibility and caught by my
>>>> crash reporter facility that prints the stack trace and sends it to me
>>>> by e-mail. There is no real, severe crash like that one when you see
>>>> the Apple's crash report dialog.
>>>>
>>>> The question is -- why this exception is raised? I don't even mention
>>>> anything related to AX anywhere in my app. I must confess I have never
>>>> even read the accessibility section of the docs and don't know what it
>>>> is.
>>>>
>>>>> From the stack trace it appears that the exception occurs even before
>>>> any of my own code is entered, somewhere in system frameworks.
>>>>
>>>> And it happens only on selected Macs.
>>>>
>>>> Do you have any idea?
>>>>
>>>> Thanks.
>>>>
>>>> On Tue, Feb 2, 2010 at 8:34 PM, Corbin Dunn <email@hidden> wrote:
>>>>> Oleg,
>>>>>
>>>>> I think you are misinterpreting an exception being raised as a crash of
>>>>> your application. The bt's below are not crashes; they are exceptions being
>>>>> raised (and caught) by appkit's accessibility.
>>>>>
>>>>> I understand that you have a problem with your app crashing -- do you
>>>>> have some actual crash reports? If so, reply with those to the list and we
>>>>> may be able to help you.
>>>>>
>>>>> -corbin
>>>>>
>>>>> On Feb 2, 2010, at 10:04 AM, Oleg Krupnov wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> After publishing an update of my app, I have received quite a few
>>>>>> crash dumps with very weird stack traces that I cannot understand and
>>>>>> fix.
>>>>>>
>>>>>> Namely, the exception message says that AXTitle, or AXWindow or
>>>>>> AXValue or AXDocument etc. is unsupported by NSWindow, NSOpenPanel,
>>>>>> NSApplication and others. Does it have something to do with
>>>>>> accessibility? In what way?
>>>>>>
>>>>>> If someone knows what's that supposed to mean, a quick response would
>>>>>> be very much appreciated. This is an emergency for me.
>>>>>>
>>>>>> Here's one of those logs (All those users are running Snow Leopard
>>>>>> 10.6.2):
>>>>>>
>>>>>> MESSAGE:
>>>>>> "AXTitle" attribute unsupported by: <NSOpenPanel: 0x5bb190>
>>>>>>
>>>>>> STACK TRACE:
>>>>>> #0 0x98b80d24 NSExceptionHandlerExceptionRaiser()
>>>>>>
>>>>>> (/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling)
>>>>>> #1 0x94bc5509 objc_exception_throw() (/usr/lib/libobjc.A.dylib)
>>>>>> #2 0x97a91a21 +[NSException raise]
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #3 0x91d9a55c NSAccessibilityAttributeValue()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #4 0x91fb243f CopyAppKitUIElementAttributeValueNoCatch()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #5 0x91fb49d7 CopyAttributeValue()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #6 0x9476bad3 _AXXMIGCopyAttributeValue()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #7 0x94775b96 _XCopyAttributeValue()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #8 0x94747c39 mshMIGPerform()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #9 0x979b28db __CFRunLoopRun()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #10 0x979b0864 CFRunLoopRunSpecific()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #11 0x979b0691 CFRunLoopRunInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #12 0x973c9f0c RunCurrentEventLoopInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #13 0x973c9cc3 ReceiveNextEventCommon()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #14 0x973c9b48 BlockUntilNextEventMatchingListInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #15 0x91d4eac5 _DPSNextEvent()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #16 0x91d4e306 -[NSApplication
>>>>>> nextEventMatchingMask:untilDate:inMode:dequeue:]()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #17 0x13a2754b +[NSApplication
>>>>>> nextEventMatchingMask:untilDate:inMode:dequeue:]
>>>>>> (/Library/PreferencePanes/Smart Scroll.prefPane/Contents/MacOS/Smart
>>>>>> Scroll.bundle/Contents/MacOS/Smart Scroll)
>>>>>> #18 0x91d1049f +[NSApplication run]
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #19 0x91d08535 NSApplicationMain()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #20 0x0022ca start()
>>>>>> (/Applications/DaisyDisk.app/Contents/MacOS/DaisyDisk)
>>>>>> #21 0x000002 ??() (??)
>>>>>>
>>>>>> Here is another:
>>>>>>
>>>>>> MESSAGE:
>>>>>> "AXValue" attribute unsupported by: <NSButtonCell: 0x5cd0d0>
>>>>>>
>>>>>> STACK TRACE:
>>>>>> #0 0x95d86d24 NSExceptionHandlerExceptionRaiser()
>>>>>>
>>>>>> (/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling)
>>>>>> #1 0x9212d509 objc_exception_throw() (/usr/lib/libobjc.A.dylib)
>>>>>> #2 0x94dcba21 +[NSException raise]
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #3 0x938de55c NSAccessibilityAttributeValue()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #4 0x93af643f CopyAppKitUIElementAttributeValueNoCatch()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #5 0x93af89d7 CopyAttributeValue()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #6 0x90b34ad3 _AXXMIGCopyAttributeValue()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #7 0x90b3eb96 _XCopyAttributeValue()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #8 0x90b10c39 mshMIGPerform()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #9 0x94cec8db __CFRunLoopRun()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #10 0x94cea864 CFRunLoopRunSpecific()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #11 0x94cea691 CFRunLoopRunInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #12 0x98525f0c RunCurrentEventLoopInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #13 0x98525bff ReceiveNextEventCommon()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #14 0x98525b48 BlockUntilNextEventMatchingListInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #15 0x93892ac5 _DPSNextEvent()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #16 0x93892306 +[NSApplication
>>>>>> nextEventMatchingMask:untilDate:inMode:dequeue:]
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #17 0x9385449f +[NSApplication run]
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #18 0x9384c535 NSApplicationMain()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #19 0x0022ca start()
>>>>>> (/Applications/DaisyDisk.app/Contents/MacOS/DaisyDisk)
>>>>>> #20 0x000002 ??() (??)
>>>>>>
>>>>>> Here's yet another:
>>>>>>
>>>>>> MESSAGE:
>>>>>> "AXValue" attribute unsupported by: <MainWindow: 0x227270>
>>>>>>
>>>>>> STACK TRACE:
>>>>>> #0 0x95d86d24 NSExceptionHandlerExceptionRaiser()
>>>>>>
>>>>>> (/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling)
>>>>>> #1 0x9212d509 objc_exception_throw() (/usr/lib/libobjc.A.dylib)
>>>>>> #2 0x94dcba21 +[NSException raise]
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #3 0x938de55c NSAccessibilityAttributeValue()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #4 0x93af643f CopyAppKitUIElementAttributeValueNoCatch()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #5 0x93af89d7 CopyAttributeValue()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #6 0x90b34ad3 _AXXMIGCopyAttributeValue()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #7 0x90b3eb96 _XCopyAttributeValue()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #8 0x90b10c39 mshMIGPerform()
>>>>>>
>>>>>> (/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices)
>>>>>> #9 0x94cec8db __CFRunLoopRun()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #10 0x94cea864 CFRunLoopRunSpecific()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #11 0x94cea691 CFRunLoopRunInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation)
>>>>>> #12 0x98525f0c RunCurrentEventLoopInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #13 0x98525cc3 ReceiveNextEventCommon()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #14 0x98525b48 BlockUntilNextEventMatchingListInMode()
>>>>>>
>>>>>> (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox)
>>>>>> #15 0x93892ac5 _DPSNextEvent()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #16 0x93892306 +[NSApplication
>>>>>> nextEventMatchingMask:untilDate:inMode:dequeue:]
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #17 0x9385449f +[NSApplication run]
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #18 0x9384c535 NSApplicationMain()
>>>>>> (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit)
>>>>>> #19 0x0022ca start()
>>>>>> (/Applications/DaisyDisk.app/Contents/MacOS/DaisyDisk)
>>>>>> #20 0x000002 ??() (??)
>>>>>>
>>>>>> Thanks!
>>>>>
>>>>>
>>>> _______________________________________________
>>>>
>>>> Cocoa-dev mailing list (email@hidden)
>>>>
>>>> Please do not post admin requests or moderator comments to the list.
>>>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>>>
>>>> Help/Unsubscribe/Update your Subscription:
>>>>
>>>> This email sent to email@hidden
>>>
>>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden