My GC app has two NSTextViews in two windows. Distinct attributed text can loaded into both NSTextView instances.
The problem test text data size is 2MB. The problem does not manifest itself for smaller data sizes. The 2MB test data can be loaded repeatedly into a single NSTextView instance without issue. When the same test data is loaded into the second NSTextView instance the crash occurs. Obviously NSLayoutManager has initiated deferred layout. Do I have to be aware of any particular layout manager issues in this case? I am not doing any manipulation of the NSTextView contents. The content is established using the following binding. [_textView bind:NSAttributedStringBinding toObject:self withKeyPath:@"resultString" options:[NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:YES], NSConditionallySetsEditableBindingOption, nil]]; Crash details follow. Thanks Jonathan Date/Time: 2010-01-08 11:11:32.074 +0000 OS Version: Mac OS X 10.6.2 (10C540) Report Version: 6 Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x000000000000017c Crashed Thread: 0 Dispatch queue: com.apple.main-thread Application Specific Information: objc[653]: garbage collection is ON Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 com.apple.AppKit 0x92eadd3e -[NSATSGlyphStorage setAbsorbedCount:forIndex:] + 84 1 com.apple.CoreText 0x95cbf9e3 TObjCGlyphStorage::SetAttachmentCount(long, long) + 51 2 com.apple.CoreText 0x95cbf8b0 long TRun::SetAttachmentsLeftToRight<true>(long, long const*, long) + 402 3 com.apple.CoreText 0x95cbf6a8 TRun::DeleteGlyphs(long, long const*, long) + 60 4 com.apple.CoreText 0x95cbf5c1 TLine::DeleteGlyphs(long, long, long const*) + 243 5 com.apple.CoreText 0x95cab05f TShapingEngine::ShapeGlyphs(TLine&, TCharStream const&) + 647 6 com.apple.CoreText 0x95cbba47 TTypesetterRunArray::TTypesetterRunArray(__CFArray const*, __CFString const*, void const* (*)(__CTRun const*, __CFString const*, void*), void*) + 209 7 com.apple.CoreText 0x95cbb962 CTTypesetterCreateWithRunArray + 90 8 com.apple.AppKit 0x92dae76f -[NSATSGlyphStorage createCTTypesetter] + 1585 9 com.apple.AppKit 0x92daa8bc -[NSATSTypesetter _ctTypesetter] + 323 10 com.apple.AppKit 0x92da994b -[NSATSLineFragment layoutForStartingGlyphAtIndex:characterIndex:minPosition:maxPosition:lineFragmentRect:] + 72 11 com.apple.AppKit 0x92da84a4 -[NSATSTypesetter _layoutLineFragmentStartingWithGlyphAtIndex:characterIndex:atPoint:renderingContext:] + 2760 12 com.apple.AppKit 0x92e1addf -[NSATSTypesetter layoutParagraphAtPoint:] + 155 13 com.apple.AppKit 0x9331ecf0 -[NSTypesetter _layoutGlyphsInLayoutManager:startingAtGlyphIndex:maxNumberOfLineFragments:maxCharacterIndex:nextGlyphIndex:nextCharacterIndex:] + 2935 14 com.apple.AppKit 0x92e19fbe -[NSTypesetter layoutCharactersInRange:forLayoutManager:maximumNumberOfLineFragments:] + 218 15 com.apple.AppKit 0x92e19ea2 -[NSATSTypesetter layoutCharactersInRange:forLayoutManager:maximumNumberOfLineFragments:] + 1316 16 com.apple.AppKit 0x92e17eb4 -[NSLayoutManager(NSPrivate) _fillLayoutHoleForCharacterRange:desiredNumberOfLines:isSoft:] + 1020 17 com.apple.AppKit 0x92e8a509 -[NSLayoutManager(NSPrivate) _fillLayoutHoleAtIndex:desiredNumberOfLines:] + 261 18 com.apple.AppKit 0x92e8cf9c +[NSLayoutManager(NSPrivate) _doSomeBackgroundLayout] + 927 19 com.apple.AppKit 0x92e51af4 _NSPostBackgroundLayout + 562 20 com.apple.CoreFoundation 0x95f8b892 __CFRunLoopDoObservers + 1186 21 com.apple.CoreFoundation 0x95f483e2 __CFRunLoopRun + 1154 22 com.apple.CoreFoundation 0x95f47864 CFRunLoopRunSpecific + 452 23 com.apple.CoreFoundation 0x95f47691 CFRunLoopRunInMode + 97 24 com.apple.HIToolbox 0x96589f0c RunCurrentEventLoopInMode + 392 25 com.apple.HIToolbox 0x96589cc3 ReceiveNextEventCommon + 354 26 com.apple.HIToolbox 0x96589b48 BlockUntilNextEventMatchingListInMode + 81 27 com.apple.AppKit 0x92ceeac5 _DPSNextEvent + 847 28 com.apple.AppKit 0x92cee306 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156 29 com.apple.AppKit 0x92cb049f -[NSApplication run] + 821 30 com.apple.AppKit 0x92ca8535 NSApplicationMain + 574 31 com.boo.myapp 0x00006bf1 main + 376 (main.m:32) 32 com.boo.myapp 0x00002a51 start + 53 Thread 1: Dispatch queue: com.apple.libdispatch-manager 0 libSystem.B.dylib 0x94a3a0ea kevent + 10 1 libSystem.B.dylib 0x94a3a804 _dispatch_mgr_invoke + 215 2 libSystem.B.dylib 0x94a39cc3 _dispatch_queue_invoke + 163 3 libSystem.B.dylib 0x94a39a68 _dispatch_worker_thread2 + 234 4 libSystem.B.dylib 0x94a394f1 _pthread_wqthread + 390 5 libSystem.B.dylib 0x94a39336 start_wqthread + 30 Thread 2: 0 libSystem.B.dylib 0x94a32856 select$DARWIN_EXTSN + 10 1 com.apple.CoreFoundation 0x95f87ddd __CFSocketManager + 1085 2 libSystem.B.dylib 0x94a40fbd _pthread_start + 345 3 libSystem.B.dylib 0x94a40e42 thread_start + 34 Thread 3: 0 libSystem.B.dylib 0x94a39182 __workq_kernreturn + 10 1 libSystem.B.dylib 0x94a39718 _pthread_wqthread + 941 2 libSystem.B.dylib 0x94a39336 start_wqthread + 30 Thread 4: Dispatch queue: Garbage Collection Work Queue 0 libauto.dylib 0x927fc707 Auto::MemoryScanner::scan_range(Auto::Range const&, Auto::WriteBarrier*) + 919 1 libauto.dylib 0x927fcb24 Auto::MemoryScanner::scan_for_unmarked_blocks(Auto::Subzone*, unsigned long, void*) + 148 2 libauto.dylib 0x927fcd53 Auto::MemoryScanner::scan_pending_until_done() + 339 3 libauto.dylib 0x927fced9 Auto::MemoryScanner::scan() + 41 4 libauto.dylib 0x927f2f98 Auto::Zone::collect(bool, void*, unsigned long long*) + 152 5 libauto.dylib 0x927dca37 auto_collect_internal(Auto::Zone*, int) + 407 6 libauto.dylib 0x927dd36c auto_collection_work(Auto::Zone*) + 140 7 libSystem.B.dylib 0x94a47828 _dispatch_call_block_and_release + 16 8 libSystem.B.dylib 0x94a3a1f4 _dispatch_queue_drain + 249 9 libSystem.B.dylib 0x94a39c52 _dispatch_queue_invoke + 50 10 libSystem.B.dylib 0x94a39a68 _dispatch_worker_thread2 + 234 11 libSystem.B.dylib 0x94a394f1 _pthread_wqthread + 390 12 libSystem.B.dylib 0x94a39336 start_wqthread + 30 Thread 5: 0 libSystem.B.dylib 0x94a39182 __workq_kernreturn + 10 1 libSystem.B.dylib 0x94a39718 _pthread_wqthread + 941 2 libSystem.B.dylib 0x94a39336 start_wqthread + 30 Thread 0 crashed with X86 Thread State (32-bit): eax: 0x0000005f ebx: 0x92eadcfe ecx: 0x00000000 edx: 0x00000001 edi: 0x01422250 esi: 0x0021d400 ebp: 0xbfffcf18 esp: 0xbfffcef0 ss: 0x0000001f efl: 0x00010246 eip: 0x92eadd3e cs: 0x00000017 ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037 cr2: 0x0000017c Regards Jonathan Mitchell Developer http://www.mugginsoft.com _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com