Hi folks,

Some users are reporting a crash that I can't reproduce, and in an attempt to 
gain additional diagnostics from a user, I wrapped the affected line in a 
try/catch block.  For two users it resolve the crash, but for a third, it's 
still crashing at the same point!

The crash occurs when a user attempts to open the "About" window from my app's 
main menu item. I'm not using the standard about panel as there's a few 
additional items I need to display, one of which is an NSTextView which I 
populate with the contents of an RTF file from within the app bundle.

I've symbolicated the crash log to find it's happening when populating that 
TextView. The line in question now reads as follows:

        @try {
                [self.aboutBox.creditsTextView readRTFDFromFile:[[NSBundle 
mainBundle] pathForResource:@"Credits" ofType:@"rtf"]];
        } @catch (NSException *exception) {
                NSLog(@"Error loading the contents of the text file for the 
About Box. %@", exception);
                //Check we have a file at the expected path 
                if([[NSFileManager defaultManager] fileExistsAtPath:[[NSBundle 
mainBundle] pathForResource:@"Credits" ofType:@"rtf"]]){
                        NSLog(@"Yes. Found the RTF credits file");
                        // check the attributes in case somehow there's no 
permission to read the file
                        NSDictionary *fileAttributes = [[NSFileManager 
defaultManager] attributesOfItemAtPath:[[NSBundle mainBundle] 
pathForResource:@"Credits" ofType:@"rtf"] error:nil];
                        NSLog(@"RTF file has following attributes %@", 
fileAttributes);
                }
                else {
                        NSLog(@"Nope, file not found");
                }
        }

This is the crash log from the newest build (with the try/catch around that 
line):

> Performing @selector(showAboutBox:) from sender NSMenuItem 0x600000634540
> *** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
> reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
> terminating with uncaught exception of type NSException
> abort() called
> 
> Application Specific Backtrace 1:
> 0   CoreFoundation                      0x00007fff206ea6af 
> __exceptionPreprocess + 242
> 1   libobjc.A.dylib                     0x00007fff204223c9 
> objc_exception_throw + 48
> 2   CoreFoundation                      0x00007fff2079ea9a -[__NSCFString 
> characterAtIndex:].cold.1 + 0
> 3   CoreFoundation                      0x00007fff2079c953 -[__NSArrayM 
> insertObject:atIndex:].cold.2 + 0
> 4   CoreFoundation                      0x00007fff20610421 -[__NSArrayM 
> insertObject:atIndex:] + 1135
> 5   UIFoundation                        0x00007fff23c223ab 
> __defaultTabStops_block_invoke + 161
> 6   libdispatch.dylib                   0x00007fff203cd7c7 
> _dispatch_client_callout + 8
> 7   libdispatch.dylib                   0x00007fff203ce96b 
> _dispatch_once_callout + 20
> 8   UIFoundation                        0x00007fff23c229d7 
> -[NSMutableParagraphStyle setTabStops:] + 199
> 9   UIFoundation                        0x00007fff23c3c697 -[NSRTFReader 
> defaultParagraphStyle] + 75
> 10  UIFoundation                        0x00007fff23c3c5be -[NSRTFReader 
> _mutableParagraphStyle] + 112
> 11  UIFoundation                        0x00007fff23c36113 controlClass + 1757
> 12  UIFoundation                        0x00007fff23c356b4 -[NSRTFReader 
> attributedString] + 76
> 13  UIFoundation                        0x00007fff23c311a6 
> _NSReadAttributedStringFromURLOrData + 3213
> 14  UIFoundation                        0x00007fff23d46985 
> -[NSAttributedString(NSAttributedStringUIFoundationAdditions) 
> initWithURL:options:documentAttributes:error:] + 228
> 15  AppKit                              0x00007fff23677d9a -[NSTextView 
> readRTFDFromFile:] + 126
> 16  MyAppHere                             0x0000000105fa18a7 MyAppHere+ 227495
> 17  AppKit                              0x00007fff230af7fd 
> -[NSApplication(NSResponder) sendAction:to:from:] + 283
> 18  AppKit                              0x00007fff231b2611 -[NSMenuItem 
> _corePerformAction] + 413


Any ideas what's going on? Other than the file not being found, why else might 
the object at line 3 in the backtrace be nil...and more interestingly, why is 
the exception not being caught?

Thanks
Mark
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to