Hanging NSTextView with a paste
Hanging NSTextView with a paste
- Subject: Hanging NSTextView with a paste
- From: "Mark Munz" <email@hidden>
- Date: Fri, 8 Feb 2008 07:29:32 -0800
I received a report from a customer today that my app hangs when they
paste text into a NSTextView (under 10.5.1). The customer was kind
enough to include the hang report. It does appear that this goes deep
in the bowels of the text view, although it does touch my code briefly
(readSelectionFromPasteboard:type:) -- that quickly passes it on to
the NSTextView readSelectionFromPasteboard:type: .
I recently started setting [layoutManger
setAllowsNonContiguousLayout:YES]; under Leopard. Are the two perhaps
related? Or does this sound like a different bug?
I'm trying to understand what I can do to help reproduce this bug on
my end so I can log a bug with Apple (since I know the first response
will be to get more info).
The user has sent in the hang reports to Apple, which may contain more
info -- but I don't know how those are processed or what priority they
may be given compared to developer generated bugs.
Any help or insight one can give is appreciated.
I've included the sampling that was generated:
Sampling process 326 for 3 seconds with 1 millisecond of run time
between samples
Sampling completed, processing symbols...
Analysis of sampling App (pid 326) every 1 millisecond
Call graph:
1832 Thread_2503
1832 0xffc
1832 start
1832 _start
1832 NSApplicationMain
1832 -[NSApplication run]
1832 -[NSApplication sendEvent:]
1832 -[NSApplication _handleKeyEquivalent:]
1832 -[NSMenu performKeyEquivalent:]
1832 -[NSCarbonMenuImpl
performActionWithHighlightingForItemAtIndex:]
1832 -[NSMenu performActionForItemAtIndex:]
1832 -[NSApplication sendAction:to:from:]
1832 -[NSTextView(NSPasteboard) paste:]
1832 -[NSTextView(NSPasteboard)
_readSelectionFromPasteboard:types:]
1832 -[TSTextView
readSelectionFromPasteboard:type:]
1832 -[NSTextView(NSPasteboard)
readSelectionFromPasteboard:type:]
1832 -[NSTextView(NSPasteboard)
_readRTFIntoRanges:fromPasteboard:]
1832 -[NSTextStorage endEditing]
1832 -[NSTextStorage
_notifyEdited:range:changeInLength:invalidatedRange:]
1832 -[NSLayoutManager
textStorage:edited:range:changeInLength:invalidatedRange:]
1832
-[NSLayoutManager(NSPrivate)
_invalidateLayoutForExtendedCharacterRange:isSoft:invalidateUsage:]
1832
-[NSTextView(NSSharing) updateInsertionPointStateAndRestartTimer:]
1832 -[NSLayoutManager
glyphIndexForCharacterAtIndex:]
1832
_NSFastFillAllGlyphHolesForCharacterRange
1832
-[NSLayoutManager(NSPrivate)
_fillGlyphHoleForCharacterRange:startGlyphIndex:desiredNumberOfCharacters:]
1832
-[NSGlyphGenerator(NSGlyphGenPrivate)
generateGlyphsForLayoutManager:range:desiredNumberOfCharacters:startingAtGlyphIndex:completedRange:nextGlyphIndex:]
1832
-[NSConcreteGlyphGenerator
generateGlyphsForGlyphStorage:desiredNumberOfCharacters:glyphIndex:characterIndex:]
1832
CTFontGetGlyphsForCharacters
1832
TBaseFont::GetGlyphsForCharacters(unsigned short const*, unsigned
short*, long) const
1832
TcmapTable::TcmapTable(TBaseFont const&)
1832
TBaseFont::CopyTable(unsigned int) const
1832
TTableCache::CopyTable(TBaseFont const&, unsigned int) const
1832 FOFindTableIndex
1832 _eFOFindTableIndex
1832 FOFindTableInCache
1832 FOFindTableIndexInternal
1832 FindAuxTableIndex
1832 AnnexFileGetDirectory
1832 GetCachedAnnex(AnnexFileState*, unsigned short, unsigned
long*, unsigned long*)
1832 SendGetAnnexDataMessage
1832 TSReaderToWriter
1832 TSWaitOnCondition
1832 _pthread_cond_wait
1832 __semwait_signal
1832 __semwait_signal
1832 Thread_2603
1832 _pthread_start
1832 fe_fragment_thread
1832 _pthread_cond_wait
1832 __semwait_signal
1832 __semwait_signal
1832 Thread_2703
1832 _pthread_start
1832 __NSThread__main__
1832 +[NSURLConnection(NSURLConnectionReallyInternal)
_resourceLoadLoop:]
1832 CFRunLoopRunSpecific
1832 mach_msg
1832 mach_msg_trap
1832 mach_msg_trap
1832 Thread_2803
1832 __CFSocketManager
1832 select$DARWIN_EXTSN
1832 select$DARWIN_EXTSN
1832 Thread_2903
1832 _pthread_start
1832 CFURLCacheWorkerThread(void*)
1832 CFRunLoopRunSpecific
1832 mach_msg
1832 mach_msg_trap
1832 mach_msg_trap
Total number in stack (recursive counted multiple, when >=5):
Sort by top of stack, same collapsed (when >= 5):
__semwait_signal 3664
mach_msg_trap 3664
select$DARWIN_EXTSN 1832
Sample analysis of process 326 written to file /dev/stdout
--
Mark Munz
unmarked software
http://www.unmarked.com/
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden