Try surrounding the call with beginEditing and endEditing on the text storage. 
If it still happens, submit a feedback to Apple with the full crash log.
--
Gary L. Wade
http://www.garywade.com/

> On Mar 26, 2021, at 4:11 AM, Mark Allan via Cocoa-dev 
> <cocoa-dev@lists.apple.com> wrote:
> 
> 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