• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Hanging NSTextView with a paste
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • Follow-Ups:
    • Re: Hanging NSTextView with a paste
      • From: Jens Alfke <email@hidden>
    • Re: Hanging NSTextView with a paste
      • From: Douglas Davidson <email@hidden>
  • Prev by Date: Re: NSarrayController count
  • Next by Date: Re: Deployment target for a Leopard only app
  • Previous by thread: Re: NSarrayController count
  • Next by thread: Re: Hanging NSTextView with a paste
  • Index(es):
    • Date
    • Thread