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