Bug 8457 - Safari unresponsive bookmarks bar click
Summary: Safari unresponsive bookmarks bar click
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 417.x
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-18 07:43 PDT by Hugo Diaz
Modified: 2008-03-09 12:30 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hugo Diaz 2006-04-18 07:43:43 PDT
The first click in the bookmarks bar asking to show the bookmarks past the edge of the bar (the menu on the right edge), makes Safari unresponsive for an extended period of time 8 seconds or more with a spinning beach ball, when there are many bookmarks within folders past the edge.  The way Safari builds the submenu is extremely inefficient.
--
To test...
The bookmarks bar has many bookmarks, and a few subfolders, in particular two subfolders out-of-view with many bookmarks each:  one folder has 700+ bookmarks, another 100+ bookmarks.

9 folders total, 6 of them hidden past the edge of the bookmarks bar.
No RSS feeds in any of the folders.

Launch Safari and then click on the right edge of the bookmarks bar to show the menu with the hidden bookmarks.  Safari hangs for a long time with a spinning beach ball.


Here is the report from Spin Control:
--

2006-04-18 10:12:53 -0400: Application Safari was found unresponsive for 8.75 seconds in the  call stack shown.
Call graph:
    875 Thread_4903
      875 0x5ca94
        875 0x5cbec
          875 NSApplicationMain
            875 -[NSApplication run]
              875 0x21828
                875 -[NSApplication sendEvent:]
                  875 0x21d24
                    875 -[NSWindow sendEvent:]
                      875 0x827d0
                        875 -[NSControl mouseDown:]
                          875 0x822a4
                            875 -[NSPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]
                              875 -[NSCarbonMenuImpl popUpMenu:atLocation:width:forView:withSelectedItem:withFont:]
                                875 _NSPopUpCarbonMenu1
                                  875 _NSPopUpCarbonMenu2
                                    875 _HandlePopUpMenuSelection5
                                      875 PopUpMenuSelectCore(MenuData*, Point, double, Point, GDevice**, Rect const*, unsigned short, unsigned long, Rect const*, Rect const*, __CFString const*, OpaqueMenuRef**, unsigned short*)
                                        866 DrawFirstMenu(Point, short, MenuSelectData*)
                                          858 SendMenuOpening(MenuSelectData*, MenuData*, double, unsigned long, __CFDictionary*, unsigned char, unsigned char*)
                                            858 SendMenuPopulate(MenuData*, OpaqueEventTargetRef*, unsigned long, double)
                                              858 SendEventToEventTargetWithOptions
                                                858 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
                                                  858 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
                                                    858 AppKitMenuEventHandler
                                                      858 -[NSMenu _populate:]
                                                        852 0x82698
                                                          852 0xaa728
                                                            841 0x49448
                                                              841 0x49fd0
                                                                820 0x49484
                                                                  818 -[WebIconDatabase iconForURL:withSize:cache:]
                                                                    818 -[WebIconDatabase(WebInternal) _iconsForIconURLString:]
                                                                      802 -[WebFileDatabase objectForKey:]
                                                                        792 -[NSData initWithContentsOfFile:]
                                                                          792 _NSReadBytesFromFile
                                                                            791 _NSReadBytesFromFileOrig
                                                                              629 read
                                                                                629 read
                                                                              150 close
                                                                                150 close
                                                                              7 open
                                                                                7 open
                                                                              5 _NSReadBytesFromFileOrig
                                                                            1 -[NSString(NSPathUtilities) getFileSystemRepresentation:maxLength:]
                                                                              1 -[NSFileManager getFileSystemRepresentation:maxLength:withPath:]
                                                                                1 _CFStringGetFileSystemRepresentation
                                                                                  1 CFStringGetFileSystemRepresentation
                                                                                    1 CFUniCharDecompose
                                                                                      1 CFUniCharDecompose
                                                                        2 WebLRUFileListTouchFileWithPath
                                                                          2 CFDictionaryGetValue
                                                                            2 __CFDictionaryFindBuckets1b
                                                                              1 cStringEqual
                                                                                1 strcmp
                                                                                  1 strcmp
                                                                              1 cStringHash
                                                                                1 cuEnc64
                                                                                  1 cuEnc64
                                                                        2 _decodeObject_old
                                                                          2 _decodeClass
                                                                            1 NSClassFromString
                                                                              1 look_up_class
                                                                                1 NXHashGet
                                                                                  1 classIsEqual
                                                                                    1 classIsEqual
                                                                            1 _decodeClass
                                                                        2 snprintf$LDBL128
                                                                          1 __memcpy
                                                                            1 __memcpy
                                                                          1 __vfprintf$LDBL128
                                                                            1 __vfprintf$LDBL128
                                                                        1 -[NSObject release]
                                                                          1 NSDecrementExtraRefCountWasZero
                                                                            1 _CFDictionaryDecrementValue
                                                                              1 _CFDictionaryDecrementValue
                                                                        1 -[NSUnarchiver dealloc]
                                                                          1 _CFRelease
                                                                            1 __CFDictionaryDeallocate
                                                                              1 __CFDictionaryDeallocate
                                                                        1 NSAllocateObject
                                                                          1 _internal_class_createInstanceFromZone
                                                                            1 malloc_zone_calloc
                                                                              1 malloc_zone_calloc
                                                                        1 UniqueFilePathForKey
                                                                          1 -[NSString(NSPathUtilities) _stringByStandardizingPathUsingCache:]
                                                                            1 -[NSCFString getCharacters:range:]
                                                                              1 _CFStringCheckAndGetCharacters
                                                                                1 __CFStrConvertBytesToUnicode
                                                                                  1 __CFStrConvertBytesToUnicode
                                                                      12 -[NSImage initWithData:]
                                                                        10 +[NSBitmapImageRep imageRepsWithData:]
                                                                          8 +[NSBitmapImageRep _imagesWithData:hfsFileType:extension:zone:]
                                                                            3 CGImageSourceGetCount
                                                                              3 _CGImagePluginImageCountTIFF
                                                                                2 _cg_TIFFSetDirectory
                                                                                  2 TIFFReadDirectory
                                                                                    1 TIFFFetchStripThing
                                                                                      1 _TIFFCheckMalloc
                                                                                        1 _TIFFCheckMalloc
                                                                                    1 _cg_TIFFSetField
                                                                                      1 OkToChangeTag
                                                                                        1 OkToChangeTag
                                                                                1 _cg_TIFFClientOpen
                                                                                  1 TIFFReadDirectory
                                                                                    1 TIFFDefaultDirectory
                                                                                      1 qsort
                                                                                        1 tagCompare
                                                                                          1 tagCompare
                                                                            2 -[NSBitmapImageRep _initWithImageSource:imageNumber:properties:]
                                                                              2 -[NSBitmapImageRep _readImageInfoWithImageSource:imageNumber:properties:]
                                                                                1 -[NSBitmapImageRep setSize:]
                                                                                  1 objc_msgSendSuper
                                                                                    1 objc_msgSendSuper
                                                                                1 GetImageProperty
                                                                                  1 CGImageSourceGetPropertiesAtIndex
                                                                                    1 makeImagePlus
                                                                                      1 CGImagePlusMatchesOptions
                                                                                        1 CFDictionaryGetValue
                                                                                          1 __CFDictionaryFindBuckets1b
                                                                                            1 _CFHash
                                                                                              1 _CFHash
                                                                            1 CFStringCompare
                                                                              1 CFStringCompareWithOptions
                                                                                1 CFStringGetCharacters
                                                                                  1 __CFStrConvertBytesToUnicode
                                                                                    1 __CFStrConvertBytesToUnicode
                                                                            1 CGImageSourceGetPropertiesAtIndex
                                                                              1 makeImagePlus
                                                                                1 initImageTIFF
                                                                                  1 _cg_TIFFSetDirectory
                                                                                    1 TIFFReadDirectory
                                                                                      1 TIFFDefaultDirectory
                                                                                        1 qsort
                                                                                          1 tagCompare
                                                                                            1 tagCompare
                                                                            1 CGImageSourceGetType
                                                                              1 CGImageReadGetBytePointer
                                                                                1 CGImageReadGetBytePointer
                                                                          1 -[NSConcreteData dealloc]
                                                                            1 _internal_object_dispose
                                                                              1 object_cxxDestructFromClass
                                                                                1 object_cxxDestructFromClass
                                                                          1 setjmp
                                                                            1 sigprocmask
                                                                              1 sigprocmask
                                                                        2 -[NSImage addRepresentations:]
                                                                          2 -[NSImage _newRepresentation:]
                                                                            1 CFDictionaryRemoveValue
                                                                              1 CFDictionaryRemoveValue
                                                                            1 _NSAppKitImgLock
                                                                              1 _NSAppKitImgLock
                                                                      2 -[WebIconDatabase(WebInternal) _iconsBySplittingRepresentationsOfIcon:]
                                                                        1 +[NSDictionary allocWithZone:]
                                                                          1 +[NSDictionary allocWithZone:]
                                                                        1 -[NSImage initWithSize:]
                                                                          1 -[NSImage setBackgroundColor:]
                                                                            1 -[NSImage setBackgroundColor:]
                                                                      1 _NSRemoveHandler2
                                                                        1 free
                                                                          1 free
                                                                      1 objc_msgSend_rtp
                                                                        1 objc_msgSend_rtp
                                                                  2 -[WebIconDatabase(WebInternal) _iconFromDictionary:forSize:cache:]
                                                                    1 +[NSValue valueWithSize:]
                                                                      1 _NSNewValue
                                                                        1 -[NSValue init]
                                                                          1 objc_msgSendSuper
                                                                            1 objc_msgSendSuper
                                                                    1 CFDictionaryGetValue
                                                                      1 __CFDictionaryFindBuckets1b
                                                                        1 objc_msgSend_rtp
                                                                          1 objc_msgSend_rtp
                                                                17 0x494a0
                                                                  16 0x468e0
                                                                    16 0x46964
                                                                      15 0xa5c54
                                                                        15 0xa5c24
                                                                          7 0xa5ba0
                                                                            5 0xa5580
                                                                              5 -[NSImage drawInRect:fromRect:operation:fraction:]
                                                                                2 -[NSCachedImageRep draw]
                                                                                  1 _NSImageFromWindow
                                                                                    1 CGContextCopyWindowContentsToRect
                                                                                      1 contextCopyWindowContentsToRect
                                                                                        1 CGContextDelegateDrawWindowContents
                                                                                          1 ripc_DrawWindowContents
                                                                                            1 ripc_DrawImageObject
                                                                                              1 CGSImageDataLock
                                                                                                1 img_data_lock
                                                                                                  1 CGColorTransformConvertNeedsCMS
                                                                                                    1 resolveSource
                                                                                                      1 CGColorSpaceRetain
                                                                                                        1 _CFRetain
                                                                                                          1 dyld_stub_OSSpinLockLock
                                                                                                            1 dyld_stub_OSSpinLockLock
                                                                                  1 _NXFreeImageCache
                                                                                    1 0x1ca00
                                                                                      1 -[NSWindow dealloc]
                                                                                        1 -[NSApplication _removeWindow:]
                                                                                          1 -[NSApplication isRunning]
                                                                                            1 -[NSApplication isRunning]
                                                                                2 -[NSImage _cacheRepresentation:]
                                                                                  2 -[NSImage _cacheRepresentation:stayFocused:]
                                                                                    2 -[NSImage _focusOnCache:]
                                                                                      2 -[NSCachedImageRep _initWithSize:depth:separate:alpha:allowDeep:]
                                                                                        2 _NXAllocateImageCache
                                                                                          2 GetSharedSpaceFor
                                                                                            2 NewCacheWindowInfo
                                                                                              2 CreateCacheWindow
                                                                                                2 CreateWindowNamed
                                                                                                  2 _NXCreateWindow
                                                                                                    2 CGSNewWindow
                                                                                                      2 CGSNewWindowWithOpaqueShape
                                                                                                        2 _CGSCreateWindow
                                                                                                          2 mach_msg
                                                                                                            2 mach_msg_trap
                                                                                                              2 mach_msg_trap
                                                                                1 CGContextSaveGState
                                                                                  1 CGGStackSave
                                                                                    1 CGGStateCreateCopy
                                                                                      1 CGColorRetain
                                                                                        1 _CFRetain
                                                                                          1 dyld_stub_OSSpinLockLock
                                                                                            1 dyld_stub_OSSpinLockLock
                                                                            2 0xa540c
                                                                              2 -[NSImage lockFocus]
                                                                                2 -[NSCachedImageRep _initWithSize:depth:separate:alpha:allowDeep:]
                                                                                  2 _NXAllocateImageCache
                                                                                    2 -[NSView lockFocus]
                                                                                      2 -[NSImageCacheView lockFocusIfCanDraw]
                                                                                        2 -[NSView lockFocusIfCanDraw]
                                                                                          1 -[NSView _focusFromView:withContext:]
                                                                                            1 -[NSView _gatherFocusStateInto:upTo:withContext:]
                                                                                              1 -[NSView _gatherFocusStateInto:upTo:withContext:]
                                                                                                1 -[NSObject methodForSelector:]
                                                                                                  1 -[NSObject methodForSelector:]
                                                                                          1 objc_msgSend_rtp
                                                                                            1 objc_msgSend_rtp
                                                                          4 0xa5bbc
                                                                            4 0xa592c
                                                                              4 SetIconFamilyData
                                                                                2 _ISGetStorageByIconFamilyHandle
                                                                                  2 CreateStorageRef(unsigned long, CIconStorageEntry*, CIconFamilyLoader*, unsigned long, unsigned long*)
                                                                                    2 CCArrayAddEntry
                                                                                      1 CCSegmentIsEntryUsed(DynamicArray*, unsigned long)
                                                                                        1 CCSegmentIsEntryUsed(DynamicArray*, unsigned long)
                                                                                      1 __memcpy
                                                                                        1 __memcpy
                                                                                1 _ISReleaseStorageRef
                                                                                  1 _ISReleaseStorageRefInternal
                                                                                    1 _ISNotifyStorageEntryIsInvalid
                                                                                      1 ImageInvalidator(OpaqueISImageRef*)
                                                                                        1 dyld_stub_pthread_mutex_lock
                                                                                          1 dyld_stub_pthread_mutex_lock
                                                                                1 _ISSetIconData
                                                                                  1 CIconStorageLocalEntry::SetData(long, char*, long)
                                                                                    1 __memcpy
                                                                                      1 __memcpy
                                                                          4 0xa5bd8
                                                                            4 0xa5b34
                                                                              4 SetIconFamilyData
                                                                                3 CIconStorageEntry::MakeIconFamilyHandle()
                                                                                  2 CIconStorageEntry::GetDataWithExtraction(long, unsigned char*, long*)
                                                                                    2 CIconStorageEntry::GetData(long)
                                                                                      2 GetIconLoader(unsigned long)
                                                                                        1 pthread_mutex_lock
                                                                                          1 pthread_mutex_lock
                                                                                        1 pthread_mutex_unlock
                                                                                          1 pthread_mutex_unlock
                                                                                  1 CIconStorageEntry::AppendCompressedData(long, char**) const
                                                                                    1 CIconStorageEntry::AppendCompressedData(long, char**) const
                                                                                1 _ISGetStorageByIconFamilyHandle
                                                                                  1 CIconStorageEntry::SetIconFamilyPtr(IconFamilyResource const*, unsigned long)
                                                                                    1 CIconStorageEntry::SetIconFamilyPtr(IconFamilyResource const*, unsigned long)
                                                                      1 0xa5c74
                                                                        1 GetIconRefFromIconFamilyPtr
                                                                          1 MakeIconRefFromImageInternal(OpaqueISImageRef*, OpaqueIconRef**)
                                                                            1 CIconRefArray::FindMatchByImageLayer(OpaqueISImageRef*)
                                                                              1 CArrayIterator::FindNext(void**, unsigned long*)
                                                                                1 CArrayIterator::FindNext(void**, unsigned long*)
                                                                  1 0x46900
                                                                    1 -[NSMenuItem _setIconRef:]
                                                                      1 CFDictionaryGetValue
                                                                        1 __CFDictionaryFindBuckets1b
                                                                          1 objc_msgSend_rtp
                                                                            1 objc_msgSend_rtp
                                                                3 0x494d0
                                                                  3 -[NSMenu insertItem:atIndex:]
                                                                    1 -[NSConcreteNotification recycle]
                                                                      1 -[NSObject release]
                                                                        1 NSDecrementExtraRefCountWasZero
                                                                          1 dyld_stub_OSSpinLockUnlock
                                                                            1 dyld_stub_OSSpinLockUnlock
                                                                    1 -[NSMenuItem setMenu:]
                                                                      1 +[NSMenu(NSKeyEquivalents) _registerMenuItemForKeyEquivalentUniquing:]
                                                                        1 _topMenuForKeyEquivalentUniquing
                                                                          1 _NSTopLevelMenuForMenu
                                                                            1 objc_msgSend_rtp
                                                                              1 objc_msgSend_rtp
                                                                    1 -[NSNotificationCenter postNotificationName:object:userInfo:]
                                                                      1 +[NSConcreteNotification newTempNotificationWithName:object:userInfo:]
                                                                        1 -[NSObject retain]
                                                                          1 NSIncrementExtraRefCount
                                                                            1 _CFDictionaryIncrementValue
                                                                              1 __CFDictionaryFindBuckets2
                                                                                1 __CFDictionaryFindBuckets2
                                                                1 0x4932c
                                                                  1 objc_msgSend_rtp
                                                                    1 objc_msgSend_rtp
                                                            11 0x49484
                                                              11 -[WebIconDatabase iconForURL:withSize:cache:]
                                                                11 -[WebIconDatabase(WebInternal) _iconsForIconURLString:]
                                                                  11 -[WebFileDatabase objectForKey:]
                                                                    11 -[NSData initWithContentsOfFile:]
                                                                      11 _NSReadBytesFromFile
                                                                        11 _NSReadBytesFromFileOrig
                                                                          11 read
                                                                            11 read
                                                        3 0x8270c
                                                          3 -[NSMenuItem copyWithZone:]
                                                            3 -[NSMenu copyWithZone:]
                                                              2 -[NSMenu insertItem:atIndex:]
                                                                2 -[NSMenuItem setMenu:]
                                                                  1 +[NSMenu(NSKeyEquivalents) _addItem:toTable:]
                                                                    1 -[NSMenuItem _desiredKeyEquivalent]
                                                                      1 -[NSMenuItem userKeyEquivalent]
                                                                        1 -[NSMenuItem _cacheUserKeyEquivalentInfo]
                                                                          1 _userKEDefaultStringForItem
                                                                            1 _NSMenuPathForMenuItem
                                                                              1 -[NSCFString replaceCharactersInRange:withString:]
                                                                                1 __CFStringCheckAndReplace
                                                                                  1 __CFStringChangeSizeMultiple
                                                                                    1 __CFStrAllocateMutableContents
                                                                                      1 CFAllocatorAllocate
                                                                                        1 malloc_zone_malloc
                                                                                          1 szone_malloc
                                                                                            1 szone_malloc
                                                                  1 objc_msgSend_rtp
                                                                    1 objc_msgSend_rtp
                                                              1 -[NSObject release]
                                                                1 NSDecrementExtraRefCountWasZero
                                                                  1 _CFDictionaryDecrementValue
                                                                    1 __CFDictionaryGrow
                                                                      1 __CFDictionaryGrow
                                                        3 0x82724
                                                          3 -[NSMenu insertItem:atIndex:]
                                                            3 -[NSNotificationCenter postNotificationName:object:userInfo:]
                                                              3 _CFXNotificationPostNotification
                                                                3 __CFXNotificationPost
                                                                  3 _nsnote_callback
                                                                    2 AdjustCarbonMenuItem
                                                                      2 CreateCarbonMenu
                                                                        2 AddCarbonMenuItem
                                                                          2 AppendMenuItemTextWithCFString(MenuData*, __CFString const*, unsigned long, unsigned long, unsigned short*)
                                                                            2 MenuElement::ResolveAndSetData(long, __CFString const*, unsigned long, unsigned long, void const*)
                                                                              2 RowStore::SetData(long, __CFString const*, unsigned long, unsigned long, void const*, unsigned long)
                                                                                2 RowStore::GetRow(long, MenuElementRow**, unsigned char)
                                                                                  2 Storage::AllocateRowAtIndex(long, MenuElementRow**)
                                                                                    2 HIArray::InsertValueByPtr(unsigned long, void const*)
                                                                                      1 __bzero
                                                                                        1 __bzero
                                                                                      1 realloc
                                                                                        1 szone_realloc
                                                                                          1 szone_free
                                                                                            1 vm_deallocate
                                                                                              1 mach_msg
                                                                                                1 mach_msg_trap
                                                                                                  1 mach_msg_trap
                                                                    1 -[NSPopUpButtonCell synchronizeTitleAndSelectedItem]
                                                                      1 objc_msgSend_rtp
                                                                        1 objc_msgSend_rtp
                                          4 ShowAndCacheMenu(MenuData*, Rect const*, __CFArray*)
                                            4 CacheMenuPixelsWithTrackingData(OpaqueMenuRef*, Rect const*, MenuTrackingData const*)
                                              4 CreateCGSWindowCopy
                                                4 CGSNewWindowWithOpaqueShape
                                                  3 _CGSCreateWindow
                                                    3 mach_msg
                                                      3 mach_msg_trap
                                                        3 mach_msg_trap
                                                  1 __CFDictionaryInit
                                                    1 _CFRuntimeCreateInstance
                                                      1 CFAllocatorAllocate
                                                        1 malloc_zone_malloc
                                                          1 szone_malloc
                                                            1 szone_malloc
                                          3 DrawMDEF(MenuSelectData*, CGPoint)
                                            3 _DrawWindowContents
                                              3 PaintWindow(WindowData*, OpaqueRgnHandle*, PaintReason, bool)
                                                3 SendEvent(unsigned long, WindowData*, OpaqueRgnHandle*)
                                                  3 SendEventToEventTarget
                                                    3 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
                                                      3 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
                                                        3 WindowData::BaseHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
                                                          3 HIView::DrawComposited(short, OpaqueGrafPtr*, __HIShape const*, unsigned long, HIView*, CGContext*)
                                                            3 HIView::RecursiveDrawComposited(__HIShape const*, unsigned long, HIView*, CGContext*, unsigned char)
                                                              3 HIView::RecursiveDrawComposited(__HIShape const*, unsigned long, HIView*, CGContext*, unsigned char)
                                                                2 HIView::RecursiveDrawComposited(__HIShape const*, unsigned long, HIView*, CGContext*, unsigned char)
                                                                  2 HIView::SendDraw(short, OpaqueGrafPtr*, __HIShape const*, CGContext*)
                                                                    2 HIView::DrawCacheOrSelf(short, __HIShape const*, CGContext*)
                                                                      2 HIStandardMenuView::DrawSelf(short, __HIShape const*, CGContext*)
                                                                        2 HIStandardMenuView::DrawItem(unsigned char, CGContext*)
                                                                          2 HIStandardMenuView::DrawItemContent(CGRect const*, float, float, unsigned long, short, CGContext*)
                                                                            2 DrawItemText(__CFString const*, float, unsigned short, unsigned long, CGRect const*, unsigned char, CGContext*, TextLayout const*, CGRect*, float*)
                                                                              2 HIThemeDrawTextBox
                                                                                2 DataEngine::DrawTextBox(__CFString const*, CGRect const*, _HIThemeTextInfo*, CGContext*)
                                                                                  2 TCoreTextEngine::DrawThemeTextBox(_HIThemeTextInfo*, CGRect const&, unsigned long, CGContext*)
                                                                                    2 CTLineDraw
                                                                                      2 TLine::DrawGlyphs(CGContext*) const
                                                                                        2 CGContextShowGlyphsWithAdvances
                                                                                          2 drawGlyphs
                                                                                            2 CGContextDelegateDrawGlyphs
                                                                                              2 ripc_DrawGlyphs
                                                                                                2 CGFontLockBitmaps
                                                                                                  2 lock_bitmaps
                                                                                                    2 build_missing_bitmaps
                                                                                                      2 ats_32bit_create_glyph_bitmaps
                                                                                                        2 ats_path_builder_get_paths
                                                                                                          2 GCGetGlyphNativeOutlinePath
                                                                                                            2 _eGCGetGlyphNativeOutlinePath
                                                                                                              2 OldGlyphsCacheRun(TStrike*, int, unsigned long, unsigned short const*, void (*)(unsigned long, unsigned short const*, unsigned long, unsigned char* const*, void const*), void*)
                                                                                                                1 ProcessQuadraticOutlinePath(unsigned long, unsigned short const*, unsigned long, unsigned char* const*, void const*)
                                                                                                                  1 EndPath
                                                                                                                    1 glyph_path_end
                                                                                                                      1 path_iterator_iterate
                                                                                                                        1 path_orientation_iterate
                                                                                                                          1 path_iterator_iterate
                                                                                                                            1 path_reverse_iterate
                                                                                                                              1 path_iterator_unrollpath
                                                                                                                                1 path_dilator_iterate
                                                                                                                                  1 addCubeMonotonic
                                                                                                                                    1 path_autohinter_iterate
                                                                                                                                      1 CGSScanconverterAddCurveToPoint
                                                                                                                                        1 approximateMonotonicCube
                                                                                                                                          1 approximateMonotonicCube
                                                                                                                                            1 approximateMonotonicCube
                                                                                                                1 _eGetGlyphAddresses
                                                                                                                  1 GenerateGlyphData(GlyphVector*, unsigned short*, unsigned long, unsigned long*)
                                                                                                                    1 OFAGetGlyphDataInternal
                                                                                                                      1 SendStrikeMessage
                                                                                                                        1 SendOFAMessage
                                                                                                                          1 SendOFAStrikeMessage
                                                                                                                            1 SendOFAStrikeMessageInternal
                                                                                                                              1 SendFontManagementMessageWithMessageStatus
                                                                                                                                1 mach_msg
                                                                                                                                  1 mach_msg_trap
                                                                                                                                    1 mach_msg_trap
                                                                1 HIView::SendDraw(short, OpaqueGrafPtr*, __HIShape const*, CGContext*)
                                                                  1 HIView::DrawCacheOrSelf(short, __HIShape const*, CGContext*)
                                                                    1 HIMenuContentView::DrawSelf(short, __HIShape const*, CGContext*)
                                                                      1 HIThemeDrawMenuBackground
                                                                        1 CGContextDrawPath
                                                                          1 ripc_DrawPath
                                                                            1 ripc_Render
                                                                              1 ripc_GetColor
                                                                                1 ripc_GetPattern
                                                                                  1 CGGStateResetClip
                                                                                    1 maybeCopyClipState
                                                                                      1 clipStateCopy
                                                                                        1 CGClipStackCreateMutableCopy
                                                                                          1 calloc
                                                                                            1 szone_calloc
                                                                                              1 __bzero
                                                                                                1 __bzero
                                          1 PrepareMenuWindow
                                            1 GetMenuWindow(OpaqueMenuRef*, unsigned short, Rect const*, OpaqueRgnHandle*)
                                              1 CreateCustomWindow
                                                1 CreateNewWindowInternal(WindowDefSpec const*, unsigned long, unsigned long, Rect const*, OpaqueWindowPtr**)
                                                  1 NewWindowCommon(WindowData**, unsigned long, unsigned long, WindowDefSpec const*, Rect const*, unsigned char const*, unsigned char, OpaqueWindowPtr*, long, void*, unsigned short*, bool)
                                                    1 HIObjectCreate
                                                      1 HIObject::Create(__CFString const*, OpaqueEventRef*, HIObject**)
                                                        1 SendEventToEventTargetWithOptions
                                                          1 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)
                                                            1 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)
                                                              1 HIObject::EventHook(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
                                                                1 HIObject::HandleClassHIObjectEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)
                                                                  1 AppleWindowDef::Initialize(OpaqueEventRef*)
                                                                    1 WindowData::Initialize(OpaqueEventRef*)
                                                                      1 WindowData::FinishConstruction(unsigned long, unsigned long, Rect const*, unsigned char*, void*, OpaqueWindowPtr*, OpaqueControlRef*)
                                                                        1 CalculateWindowRegions(WindowData*, bool)
                                                                          1 ResetPlatformWindowShape
                                                                            1 SetPlatformWindowShape
                                                                              1 CGSSetWindowShapeWithWeighting
                                                                                1 _CGSSetWindowShapeInline
                                                                                  1 mach_msg
                                                                                    1 mach_msg_trap
                                                                                      1 mach_msg_trap
                                        9 TrackMenuCommon(MenuSelectData&, unsigned char*)
                                          9 IsUserStillTracking(MenuSelectData*, unsigned char*)
                                            9 AcquireNextEventInMode
                                              9 ReceiveNextEventCommon
                                                9 RunCurrentEventLoopInMode
                                                  9 CFRunLoopRunSpecific
                                                    9 __CFRunLoopRun
                                                      6 mach_msg
                                                        6 mach_msg_trap
                                                          6 mach_msg_trap
                                                      3 __CFRunLoopDoObservers
                                                        3 _handleWindowNeedsDisplay
                                                          3 0x1acb0
                                                            3 -[NSWindow displayIfNeeded]
                                                              3 -[NSView displayIfNeeded]
                                                                3 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
                                                                  3 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                                                    3 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                                                      3 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                                                        3 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                                                          3 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                                                            3 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                                                              3 -[NSView _drawRect:clip:]
                                                                                3 0x828ac
                                                                                  3 -[NSControl drawRect:]
                                                                                    3 -[NSPopUpButtonCell drawWithFrame:inView:]
                                                                                      3 -[NSMenuItemCell calcSize]
                                                                                        3 -[NSImage size]
                                                                                          3 -[NSImage _expand]
                                                                                            3 -[NSImage _expandRep:]
                                                                                              2 +[NSImageRep imageRepsWithContentsOfFile:]
                                                                                                2 +[NSBitmapImageRep _imageRepsWithData:hfsFileType:extension:]
                                                                                                  2 +[NSBitmapImageRep _imagesWithData:hfsFileType:extension:zone:]
                                                                                                    2 CGImageSourceGetType
                                                                                                      2 0x4
                                                                                                        2 _CGImagePluginIdentifyJPEG
                                                                                                          2 _CGImagePluginIdentifyJPEG
                                                                                              1 NSHFSTypeOfFile
                                                                                                1 FSGetCatalogInfo
                                                                                                  1 PBGetCatalogInfoSync
                                                                                                    1 GetFSRefAttributes(FSMount*, FSRefPrivate const*, unsigned long, FSAttributeInfo*, unsigned long, char*)
                                                                                                      1 FSMount::getattrs(unsigned long, char const*, unsigned long, unsigned long, FSAttributeInfo*, unsigned long, unsigned char*)
                                                                                                        1 VolFSMount::_getattrs(unsigned long, char const*, unsigned long, unsigned long, FSAttributeInfo*, unsigned long, unsigned char*)
                                                                                                          1 GetVolFSAttributes(VolumeInfo*, unsigned long, char const*, unsigned long, unsigned long, FSAttributeInfo*, unsigned long, unsigned long, FSVolAttributeInfo*, unsigned char*)
                                                                                                            1 getattrlist_retry(unsigned, unsigned long, char const*, unsigned long, attrlist*, void*, unsigned long, unsigned long)
                                                                                                              1 getattrlist
                                                                                                                1 getattrlist
    875 Thread_4a03
      875 _pthread_body
        875 forkThreadForFunction
          875 +[WebFileDatabase _syncLoop:]
            875 -[NSRunLoop run]
              875 -[NSRunLoop runMode:beforeDate:]
                875 CFRunLoopRunSpecific
                  875 __CFRunLoopRun
                    875 mach_msg
                      875 mach_msg_trap
                        875 mach_msg_trap
    875 Thread_4b03
      875 _pthread_body
        875 forkThreadForFunction
          875 +[NSURLConnection(NSURLConnectionInternal) _resourceLoadLoop:]
            875 CFRunLoopRunSpecific
              875 __CFRunLoopRun
                875 mach_msg
                  875 mach_msg_trap
                    875 mach_msg_trap
    875 Thread_4c03
      875 _pthread_body
        875 forkThreadForFunction
          875 +[NSURLCache _diskCacheSyncLoop:]
            875 CFRunLoopRunSpecific
              875 __CFRunLoopRun
                875 mach_msg
                  875 mach_msg_trap
                    875 mach_msg_trap
    875 Thread_4d03
      875 _pthread_body
        875 forkThreadForFunction
          875 -[AsyncDB _run:]
            875 -[NSConditionLock lockWhenCondition:]
              875 pthread_cond_wait
                875 semaphore_wait_signal_trap
                  875 semaphore_wait_signal_trap
    875 Thread_4e03
      875 _pthread_body
        875 __CFSocketManager
          875 select
            875 select

Total number in stack (recursive counted multiple, when >=5):
        9       mach_msg
        9       mach_msg_trap
        8       objc_msgSend_rtp
        5       _pthread_body

Sort by top of stack, same collapsed (when >= 5):
        mach_msg_trap        2639
        select        875
        semaphore_wait_signal_trap        875
        read        640
        close        150
        objc_msgSend_rtp        8
        open        7
        _NSReadBytesFromFileOrig        5
Comment 1 Alexey Proskuryakov 2006-06-26 06:11:58 PDT
The sample shows that the time is being spent in WebIconDatabase.
Comment 2 Mark Rowe (bdash) 2006-07-02 02:44:19 PDT
This sounds similar to bug 9499, where a large number of items in the bookmark bar would lead to slowdowns when scrolling a page.
Comment 3 Robert Blaut 2008-02-12 02:57:00 PST
Hugo, is the bug still visible in the latest Webkit nightly?
Comment 4 Robert Blaut 2008-03-09 12:30:12 PDT
(In reply to comment #3)
> Hugo, is the bug still visible in the latest Webkit nightly?
> 

Hugo without your help we are unable to confirm or deny existence of the bug in the latest Webkit. My personal tests failed to replicate the bug so I mark the bug as WORKSFORME. Feel free to reopen the bug if the problem is still replicable in the latest Webkit.