Re: App crashes when voice over is turned on
Re: App crashes when voice over is turned on
- Subject: Re: App crashes when voice over is turned on
- From: Mike Engber <email@hidden>
- Date: Thu, 7 Sep 2006 10:33:16 -0700
Use NSAccessibilityDebugLogLevel 1
Whenever you run into a problem. That's the first thing to try. But
in this case it's not of much
help because it's dying trying to create the error message.
It's attempting to spew:
Encountered nil cell/child of single celled control: <attempt to
print control's description here>
Something is going wrong trying to print the control's description.
-ME
On Sep 5, 2006, at 4:11 PM, Gideon King wrote:
Hi James, thanks for the suggestion, but I don't have an exception
handler - just a crash reporter. And I haven't changed that since
the last release of the program.
I may need to put an exception handler in to discard these
exceptions, but I think that I am screwing something up in the
application internally and would really like to get to the bottom
of the issue.
po $r3 gave me the following:
"AXSubrole" attribute unsupported by: <NMApplication: 0x447a70>
...but I think that this is just the first one that is thrown,
which would normally be ignored, and then later I get actual crash.
And actually if I remove my breakpoint on [NSException raise], I
get an exception like:
1 com.omnigroup.OmniAppKit 0x018350a4 -[NSView(OAExtensions)
descriptionWithLocale:indent:] + 56
2 com.apple.Foundation 0x929355fc
_NSDescriptionWithLocaleFunc + 116
3 com.apple.CoreFoundation 0x907c1ad0
_CFStringAppendFormatAndArgumentsAux + 4096
4 com.apple.CoreFoundation 0x907c0988
_CFStringCreateWithFormatAndArgumentsAux + 144
5 com.apple.Foundation 0x9292aabc -[NSPlaceholderString
initWithFormat:locale:arguments:] + 140
6 com.apple.Foundation 0x9292aa10 +[NSString
stringWithFormat:] + 72
7 com.apple.AppKit 0x93a0651c LogNilCellMessage + 56
8 com.apple.AppKit 0x9371f094 -[NSControl
(NSControlAccessibility) accessibilityChildrenAttribute] + 112
9 com.apple.AppKit 0x9371eef0
NSAccessibilityAttributeValue + 108
10 com.apple.AppKit 0x9371eb64
NSAccessibilityChildrenOrEmptyArray + 44
11 com.apple.AppKit 0x9371f1f4
NSAccessibilityUnignoredChildren + 140
12 com.apple.AppKit 0x9371eef0
NSAccessibilityAttributeValue + 108
13 com.apple.AppKit 0x9371eb64
NSAccessibilityChildrenOrEmptyArray + 44
14 com.apple.AppKit 0x9371f1f4
NSAccessibilityUnignoredChildren + 140
15 com.apple.AppKit 0x9371eef0
NSAccessibilityAttributeValue + 108
16 com.apple.AppKit 0x9371eb64
NSAccessibilityChildrenOrEmptyArray + 44
17 com.apple.AppKit 0x9371f1f4
NSAccessibilityUnignoredChildren + 140
18 com.apple.AppKit 0x9371eef0
NSAccessibilityAttributeValue + 108
19 com.apple.AppKit 0x9371eb64
NSAccessibilityChildrenOrEmptyArray + 44
20 com.apple.AppKit 0x9371f1f4
NSAccessibilityUnignoredChildren + 140
21 com.apple.AppKit 0x9371eef0
NSAccessibilityAttributeValue + 108
22 com.apple.AppKit 0x9371eb64
NSAccessibilityChildrenOrEmptyArray + 44
23 com.apple.AppKit 0x9371f1f4
NSAccessibilityUnignoredChildren + 140
24 com.apple.AppKit 0x9371eef0
NSAccessibilityAttributeValue + 108
25 com.apple.AppKit 0x9371eb64
NSAccessibilityChildrenOrEmptyArray + 44
26 com.apple.AppKit 0x9371f1f4
NSAccessibilityUnignoredChildren + 140
27 com.apple.AppKit 0x9371eef0
NSAccessibilityAttributeValue + 108
28 com.apple.AppKit 0x939b2198
CopyAppKitUIElementAttributeValueNoCatch + 80
29 com.apple.AppKit 0x939b23ec CopyAttributeValue + 216
30 com.apple.HIServices 0x918698d8 _AXXMIGCopyAttributeValue
+ 268
31 com.apple.HIServices 0x91870284 _XCopyAttributeValue + 240
32 com.apple.HIServices 0x9183c404 mshMIGPerform + 308
33 com.apple.CoreFoundation 0x907e9734 __CFRunLoopDoSource1 + 152
34 com.apple.CoreFoundation 0x907dbe4c __CFRunLoopRun + 1556
35 com.apple.CoreFoundation 0x907db47c CFRunLoopRunSpecific + 268
36 com.apple.HIToolbox 0x931eb740 RunCurrentEventLoopInMode
+ 264
37 com.apple.HIToolbox 0x931eadd4 ReceiveNextEventCommon + 380
38 com.apple.HIToolbox 0x931eac40
BlockUntilNextEventMatchingListInMode + 96
39 com.apple.AppKit 0x936eeae4 _DPSNextEvent + 384
40 com.apple.AppKit 0x936ee7a8 -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
41 com.apple.AppKit 0x936eacec -[NSApplication run] + 472
42 com.apple.AppKit 0x937db87c NSApplicationMain + 452
43 com.novamind.app.NovaMind 0x000023d4 _start + 340 (crt.c:272)
44 com.novamind.app.NovaMind 0x0000227c start + 60
...and by then everything is gone.
So I guess my previous post was pointing in the wrong direction,
and I need to look at my view hierarchies to make sure I'm removing
everything from its superview before adding it to another subview
etc - that's my gut feel about the cause of the issue...
Gideon King
NovaMind Software
Mind Mapping Software
<www.nova-mind.com>
On 06/09/2006, at 2:36 AM, James Dempsey wrote:
I am guessing that you probably have written some sort of
exception handler that overrides the standard AppKit behavior.
The accessibility infrastructure in AppKit uses exceptions
internally, and therefore if you are doing something special with
every exception raised in your Cocoa app, you will encounter the
issue you are seeing with users that turn on VoiceOver or other
applications that use accessibility (AppleScript GUI Scripting is
another example).
If you have some sort of custom exception handler, you should
check the exception for the prefix "NSAccessibility..." and allow
those exceptions to proceed in the default manner.
-James
On Sep 5, 2006, at 1:09 AM, Gideon King wrote:
I have an application I have developed which crashes when
customers have voice over turned on (and I think it also crashes
with some other assistive settings turned on too).
The stack trace goes
NSAccessibilityAttributeValue
CopyAppKitUIElementAttributeValueNoCatch
CopyAttributeValue
_AXXMIGCopyAttributeValue
_XCopyAttributeValue
mshMIGPerform
__CFRunLoopDoSource1
__CFRunLoopRun
CFRunLoopRunSpecific
RunCurrentEventLoopInMode
ReceiveNextEventCommon
BlockUntilNextEventMatchingListInMode
_DPSNextEvent
-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
-[NSApplication run]
NSApplicationMain
main
----------------
I can't see any way of getting at any useful data about the
issue, so would really appreciate any help with debugging this.
My guess is that something I am doing is screwing up some view
hierarchy or something.
Sorry if this question has been asked before, but Apple's mailing
list search seems to be broken.
Thanks
Gideon King
NovaMind Software
Mind Mapping Software
<www.nova-mind.com>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (Accessibility-
email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
--------------------------------------------------
James Dempsey
AppKit Engineering
Apple
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (Accessibility-
email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden