DA and SpeedDownload 3

For some reason, whenever DEVONagent visits a link that causes SpeedDownload 3 to add it to its download queue (for example, if I visit a URL that is really a .dmg file), from that point on DA will consistently consume 7-15% CPU time. And nothing I do will stop it, short of restarting.

Until SD3 gets involved, DA doesn’t spin the CPU at all. But once SD3 captures even a single URL for download, from then on my CPU burns.

Any idea why this would be happening? It has happened with every version of DA I’ve ever used.

John

Please…

  • launch Apple’s Activity Monitor
  • select DEVONagent
  • press the Info button
  • in the Info dialog press the “Analyze” button

…and send the analysis to cgrunenberg - at - devon-technologies.com. Then I can check what’s causing the CPU usage (although I guess it’s the fault of SD 3). Thank you!

Ok, here is the result of “Sample” (which I assume you meant for Analyze).

John

p.s. Please note that this does not ever happen with Safari, but happens constantly with DA. Whenever I hear my fan spinning up these days, 9 out of 10 times it means DA has gone haywire again. It’s forcing me to choose between using DA or using plugins, or switching back to Safari again. :frowning:

Analysis of sampling pid 5724 every 10.000000 milliseconds
Call graph:
266 Thread_0f07
266 0x221c
266 0x2518
266 NSApplicationMain
266 -[NSApplication run]
266 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
266 _DPSNextEvent
266 BlockUntilNextEventMatchingListInMode
266 ReceiveNextEventCommon
266 RunCurrentEventLoopInMode
266 CFRunLoopRunSpecific
266 __CFRunLoopRun
162 __CFRunLoopDoTimer
80 __NSFireDelayedPerform
38 -[WebBaseNetscapePluginStream _deliverData]
31 -[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:inModes:]
14 CFRunLoopAddTimer
12 __CFRunLoopTimerSchedule
5 mach_port_insert_member
5 mach_msg
5 mach_msg_trap
5 mach_msg_trap
3 mk_timer_arm
3 mk_timer_arm
2 __CFRunLoopTimerSchedule
2 mk_timer_create
2 mk_timer_create
1 CFDictionarySetValue
1 CFDictionarySetValue
1 CFSetAddValue
1 __CFSetFindBuckets2
1 __CFSetFindBuckets2
6 CFArrayAppendValue
6 _CFArrayReplaceValues
3 _CFArrayReplaceValues
2 __CFArrayRepositionDequeRegions
2 __memcpy
2 __memcpy
1 __bzero
1 __bzero
3 CFRunLoopTimerCreate
1 CFAbsoluteTimeGetCurrent
1 gettimeofday
1 __gettimeofday
1 __gettimeofday
1 _CFRuntimeCreateInstance
1 CFAllocatorAllocate
1 malloc_zone_malloc
1 szone_malloc
1 szone_malloc
1 __mach_absolute_time
1 __mach_absolute_time
2 -[NSObject retain]
2 NSIncrementExtraRefCount
1 _CFDictionaryIncrementValue
1 __CFDictionaryFindBuckets2
1 __CFDictionaryFindBuckets2
1 dyld_stub__CFDictionaryIncrementValue
1 dyld_stub__CFDictionaryIncrementValue
2 CFRelease
2 CFRelease
2 objc_msgSend_rtp
2 objc_msgSend_rtp
1 +[NSRunLoop currentRunLoop]
1 +[NSRunLoop currentRunLoop]
1 -[NSCFArray objectAtIndex:]
1 -[NSCFArray objectAtIndex:]
7 -[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:]
7 +[NSArray arrayWithObject:]
7 +[NSArray arrayWithObjects:count:]
5 CFMakeCollectable
5 CFMakeCollectable
1 +[NSArray allocWithZone:]
1 +[NSArray allocWithZone:]
1 -[NSPlaceholderArray initWithObjects:count:]
1 CFArrayCreate
1 __CFArrayInit
1 _CFRuntimeCreateInstance
1 CFAllocatorAllocate
1 malloc_zone_malloc
1 szone_malloc
1 szone_malloc
21 CFRunLoopRemoveTimer
14 __CFRunLoopTimerCancel
13 mach_port_extract_member
12 mach_msg
9 mach_msg_trap
9 mach_msg_trap
3 mach_msg
1 dyld_stub_mach_msg
1 dyld_stub_mach_msg
1 __CFRunLoopTimerCancel
4 CFSetRemoveValue
4 __CFSetGrow
4 __CFSetFindBuckets2
2 CFHash
2 CFHash
2 __CFSetFindBuckets2
3 __CFRunLoopFindMode
3 CFSetGetValue
3 CFHash
3 CFHash
5 _NSRemoveHandler2
5 _NSRemoveHandler2
5 objc_exception_try_exit
5 objc_exception_try_exit
3 NSPopAutoreleasePool
2 NSPopAutoreleasePool
1 objc_msgSend_rtp
1 objc_msgSend_rtp
3 __NSFireDelayedPerform
2 CFArrayRemoveValueAtIndex
1 CFArrayRemoveValueAtIndex
1 _CFArrayReplaceValues
1 __CFArrayReleaseValues
1 __CFArrayReleaseValues
1 CFArrayGetCount
1 CFArrayGetCount
1 CFArrayGetFirstIndexOfValue
1 CFArrayGetFirstIndexOfValue
1 CFRunLoopGetMain
1 CFRunLoopGetMain
31 __NSFireTimer
23 -[WebBaseNetscapePluginView sendNullEvent]
23 -[WebBaseNetscapePluginView sendEvent:]
17 Flash_EnforceLocalSecurity
17 Flash_EnforceLocalSecurity
17 Flash_EnforceLocalSecurity
17 Flash_EnforceLocalSecurity
17 sched_yield
17 swtch_pri
17 swtch_pri
3 -[WebBaseNetscapePluginView restorePortState:]
3 CSMemDisposeHandle
2 ReleaseHandleTypeFromPool
2 ReleaseHandleTypeFromPool
1 CSMemDisposePtr
1 free
1 free
2 -[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]
1 -[NSView visibleRect]
1 -[WebHTMLView visibleRect]
1 -[NSView visibleRect]
1 -[NSView visibleRect]
1 -[NSView isHiddenOrHasHiddenAncestor]
1 -[NSView isHiddenOrHasHiddenAncestor]
1 -[WebBaseNetscapePluginView fixWindowPort]
1 -[NSView convertRect:toView:]
1 -[NSView _convertRect:toAncestor:]
1 -[NSView _convertRectToSuperview:]
1 -[NSView _convertRectToSuperview:]
1 -[WebBaseNetscapePluginView webView]
1 -[WebBaseNetscapePluginView webView]
6 0x21c60
4 0x25248
4 -[NSControl currentEditor]
4 _NSEditedTokenFieldCurrentEditor
4 _NSEditedTokenFieldCell
4 objc_msgSend_rtp
4 objc_msgSend_rtp
2 0x252bc
2 -[IconField setStringValue:]
2 -[NSActionCell stringValue]
2 -[NSCell stringValue]
2 -[NSCell _contents]
2 objc_msgSend_rtp
2 objc_msgSend_rtp
1 -[WebImageData _nextFrame:]
1 -[NSView setNeedsDisplayInRect:]
1 -[NSView setNeedsDisplayInRect:]
1 0x21cd8
1 0x793c4
1 -[WebView(WebIBActions) canMakeTextSmaller]
1 objc_msgSend_rtp
1 objc_msgSend_rtp
28 CFRunLoopTimerInvalidate
8 CFRunLoopTimerInvalidate
6 CFRunLoopCopyAllModes
6 __CFArrayInit
6 _CFRuntimeCreateInstance
6 CFAllocatorAllocate
6 malloc_zone_malloc
6 szone_malloc
6 szone_malloc
6 __delayedPerformCleanup
3 _CFRelease
2 __CFArrayDeallocate
2 __CFArrayReleaseValues
2 __CFArrayReleaseValues
1 szone_free
1 szone_free
3 objc_msgSend_rtp
3 objc_msgSend_rtp
4 mk_timer_destroy
4 mk_timer_destroy
3 CFDictionaryRemoveValue
2 __CFDictionaryFindBuckets1a
2 __CFDictionaryFindBuckets1a
1 CFDictionaryRemoveValue
1 _CFRetain
1 dyld_stub_OSSpinLockLock
1 dyld_stub_OSSpinLockLock
18 Flash_EnforceLocalSecurity
18 Flash_EnforceLocalSecurity
18 Flash_EnforceLocalSecurity
17 sched_yield
17 swtch_pri
17 swtch_pri
1 0x1
1 Flash_EnforceLocalSecurity
1 Flash_EnforceLocalSecurity
2 -[WebBaseNetscapePluginStream _deliverData]
2 -[WebBaseNetscapePluginStream _deliverData]
1 CFRetain
1 CFRetain
1 _CFRelease
1 szone_free
1 szone_free
1 __CFRunLoopTimerRescheduleWithAllModes
1 mk_timer_arm
1 mk_timer_arm
71 __CFRunLoopDoObservers
42 _handleWindowNeedsDisplay
42 -[NSWindow displayIfNeeded]
42 -[NSView displayIfNeeded]
42 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
36 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[WebHTMLView(WebPrivate) _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
36 -[NSView _drawRect:clip:]
33 -[WebHTMLView drawRect:]
33 -[WebHTMLView drawSingleRect:]
33 -[WebCoreBridge drawRect:]
33 -[WebCoreBridge drawRect:withPainter:]
33 KWQKHTMLPart::paint(QPainter*, QRect const&)
33 khtml::RenderLayer::paintLayer(khtml::RenderLayer*, QPainter*, QRect const&, bool, bool, khtml::RenderObject*)
33 khtml::RenderLayer::paintLayer(khtml::RenderLayer*, QPainter*, QRect const&, bool, bool, khtml::RenderObject*)
24 khtml::RenderBlock::paint(khtml::RenderObject::PaintInfo&, int, int)
24 khtml::RenderBlock::paintObject(khtml::RenderObject::PaintInfo&, int, int)
24 khtml::RenderBox::paintBoxDecorations(khtml::RenderObject::PaintInfo&, int, int)
24 khtml::RenderBox::paintRootBoxDecorations(khtml::RenderObject::PaintInfo&, int, int)
24 khtml::RenderBox::paintBackground(QPainter*, QColor const&, khtml::BackgroundLayer const*, int, int, int, int, int, int)
24 khtml::RenderBox::paintBackgroundExtended(QPainter*, QColor const&, khtml::BackgroundLayer const*, int, int, int, int, int, int, int, int)
22 QPainter::drawTiledPixmap(int, int, int, int, QPixmap const&, int, int, CGContext*)
20 -[WebImageRenderer tileInRect:fromPoint:context:]
20 -[WebImageData tileInRect:fromPoint:context:]
20 CGContextFillRect
20 CGContextFillRects
20 __CGContextDrawRects
20 ripc_DrawRects
20 ripc_Render
20 ripc_GetColor
20 ripc_GetPattern
20 CGPatternFilterDelegateTilePattern
20 pattern_tile_pattern
20 pattern_replicate_pattern
20 CGContextDrawPattern
20 drawPattern
20 CGContextDrawImage
20 CGContextDelegateDrawImage
20 ripc_DrawImage
18 ripc_RenderImage
18 ripl_BltImage
18 ripl_Mark
18 ARGB32_image
18 vecCGSConvertXXXX8888Mask
18 vecCGSConvertXXXX8888Mask
2 ripc_ReleaseImage
2 ripc_ReleaseImage
2 _NSRemoveHandler2
2 _NSRemoveHandler2
2 QPainter::fillRect(int, int, int, int, QBrush const&)
2 NSRectFillUsingOperation
2 CGContextFillRect
2 CGContextFillRects
2 __CGContextDrawRects
2 ripc_DrawRects
1 ripc_GetRenderingState
1 ripc_GetClipState
1 ripc_GetClipState
1 ripc_Render
1 ripl_BltShape
1 ripd_Mark
1 ARGB32_mark
1 ARGB32_mark_constantshape
1 CGBlt_fillBytes
1 CGSFillDRAM8by1
1 vecCGSFill8by1
1 vecCGSFill8by1
9 khtml::RenderLayer::paintLayer(khtml::RenderLayer*, QPainter*, QRect const&, bool, bool, khtml::RenderObject*)
9 khtml::RenderBlock::paint(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderBlock::paintObject(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderBlock::paintChildren(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderTable::paint(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderTableSection::paint(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderBlock::paintObject(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderBlock::paintChildren(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderTable::paint(khtml::RenderObject::PaintInfo&, int, int)
9 khtml::RenderTable::paintBoxDecorations(khtml::RenderObject::PaintInfo&, int, int)
8 khtml::RenderBox::paintBackground(QPainter*, QColor const&, khtml::BackgroundLayer const*, int, int, int, int, int, int)
8 khtml::RenderBox::paintBackgroundExtended(QPainter*, QColor const&, khtml::BackgroundLayer const*, int, int, int, int, int, int, int, int)
8 QPainter::drawTiledPixmap(int, int, int, int, QPixmap const&, int, int, CGContext*)
8 -[WebImageRenderer tileInRect:fromPoint:context:]
8 -[WebImageData tileInRect:fromPoint:context:]
8 CGContextFillRect
8 CGContextFillRects
8 __CGContextDrawRects
8 ripc_DrawRects
8 ripc_Render
8 ripc_GetColor
8 ripc_GetPattern
7 ripc_FindPattern
7 ripl_release
7 szone_free
7 vm_deallocate
7 mach_msg
7 mach_msg_trap
7 mach_msg_trap
1 CGPatternFilterDelegateTilePattern
1 pattern_tile_pattern
1 pattern_replicate_pattern
1 CGContextDrawPattern
1 drawPattern
1 CGContextDrawImage
1 CGContextDelegateDrawImage
1 ripc_DrawImage
1 ripc_RenderImage
1 ripl_BltImage
1 ripl_Mark
1 0x20
1 vecCGSConvertRGB888
1 vecCGSConvertRGB888
1 khtml::RenderObject::paintBorder(QPainter*, int, int, int, int, khtml::RenderStyle const*, bool, bool)
1 khtml::RenderObject::drawBorder(QPainter*, int, int, int, int, khtml::RenderObject::BorderSide, QColor, QColor const&, khtml::EBorderStyle, int, int, bool)
1 QPainter::_drawPoints(QPointArray const&, bool, int, int, bool)
1 -[NSBezierPath fill]
1 -[NSBezierPath(NSBezierPathDevicePrimitives) _doUserPathWithOp:inContext:]
1 CGContextDrawPath
1 ripc_DrawPath
1 ripr_Path
1 dyld_stub__CG_spin_lock_try
1 dyld_stub__CG_spin_lock_try
3 _NSRemoveHandler2
3 _NSRemoveHandler2
2 -[NSWindow flushWindow]
2 ripc_Context
2 CGSDeviceSynchronize
2 _CGSFlushWindowRegion
2 _CGSFlushRegionInline
2 mach_msg
2 mach_msg_trap
2 mach_msg_trap
2 objc_msgSend_rtp
2 objc_msgSend_rtp
1 -[NSView lockFocus]
1 -[NSView lockFocusIfCanDraw]
1 -[NSView _focusFromView:withContext:]
1 -[NSFocusState flush]
1 CGContextClipToRect
1 CGGStateClipToRect
1 CGRectApplyAffineTransform
1 CGRectIsNull
1 CGRectIsNull
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
1 -[NSRegion subtractRect:]
1 -[NSRegion subtractRegion:]
1 dyld_stub_CGSGetRegionBounds
1 dyld_stub_CGSGetRegionBounds
10 CFSetApplyFunction
6 __CFRunLoopCollectObservers
6 __CFRunLoopCollectObservers
3 CFArrayAppendValue
3 _CFArrayReplaceValues
3 _CFRetain
3 dyld_stub_OSSpinLockUnlock
3 dyld_stub_OSSpinLockUnlock
1 CFSetApplyFunction
10 __NSPortDelegateTickler
5 NSPopAutoreleasePool
5 NSPopAutoreleasePool
3 +[NSConnection doQueuedWork]
3 -[NSLock unlock]
3 pthread_cond_broadcast
3 pthread_cond_broadcast
2 -[NSObject respondsToSelector:]
1 -[NSObject respondsToSelector:]
1 class_respondsToMethod
1 class_respondsToMethod
3 FlushAllWindows()
3 GetCurrentEventTime
3 Microseconds
2 Microseconds
1 AbsoluteToNanoseconds
1 __floatdidf
1 __floatdidf
2 CFRelease
2 CFRelease
2 _CFRelease
1 __spin_lock
1 __spin_lock
1 szone_free
1 szone_free
2 __CFArrayInit
1 _CFRuntimeCreateInstance
1 _CFRuntimeCreateInstance
1 __CFArrayInit
13 mach_msg
13 mach_msg_trap
13 mach_msg_trap
9 __CFRunLoopModeFindSourceForMachPort
8 CFSetApplyFunction
8 __CFRunLoopFindSource
5 __CFRunLoopFindSource
3 CFMachPortGetPort
2 CFMachPortGetPort
1 dyld_stub_getpid
1 dyld_stub_getpid
1 __CFRunLoopModeFindSourceForMachPort
3 __CFRunLoopDoSources0
3 CFSetApplyFunction
2 __CFRunLoopCollectSources0
2 __CFRunLoopCollectSources0
1 CFSetApplyFunction
3 __NSFireDelayedPerform
3 saveFP
3 saveFP
2 __CFRunLoopModeFindTimerForMachPort
2 CFDictionaryGetValue
2 __CFDictionaryFindBuckets1a
2 __CFDictionaryFindBuckets1a
1 CFRelease
1 CFRelease
1 __CFArrayInit
1 __CFArrayInit
1 __CFRunLoopRun
266 Thread_1003
266 _pthread_body
266 forkThreadForFunction
266 +[NSURLConnection(NSURLConnectionInternal) _resourceLoadLoop:]
266 CFRunLoopRunSpecific
266 __CFRunLoopRun
266 mach_msg
266 mach_msg_trap
266 mach_msg_trap
266 Thread_1103
266 _pthread_body
266 forkThreadForFunction
266 +[NSURLCache _diskCacheSyncLoop:]
266 CFRunLoopRunSpecific
266 __CFRunLoopRun
266 mach_msg
266 mach_msg_trap
266 mach_msg_trap
266 Thread_1203
266 _pthread_body
266 forkThreadForFunction
266 +[WebFileDatabase _syncLoop:]
266 -[NSRunLoop run]
266 -[NSRunLoop runMode:beforeDate:]
266 CFRunLoopRunSpecific
266 __CFRunLoopRun
266 mach_msg
266 mach_msg_trap
266 mach_msg_trap
266 Thread_1303
266 _pthread_body
266 forkThreadForFunction
266 -[NSUIHeartBeat _heartBeatThread:]
266 -[NSConditionLock lockWhenCondition:]
266 pthread_cond_wait
266 semaphore_wait_signal_trap
266 semaphore_wait_signal_trap
266 Thread_1403
266 _pthread_body
266 __CFSocketManager
266 select
266 select
266 Thread_1503
266 _pthread_body
266 native_ShockwaveFlash_TCallFrame
266 mach_msg
266 mach_msg_trap
266 mach_msg_trap

Total number in stack (recursive counted multiple, when >=5):
9 mach_msg
9 mach_msg_trap
8 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
8 -[NSView(NSInternal) _clearDirtyRectsForTreeInRect:]
8 Flash_EnforceLocalSecurity
7 objc_msgSend_rtp
6 _pthread_body

Sort by top of stack, same collapsed (when >= 5):
mach_msg_trap 1100
select 266
semaphore_wait_signal_trap 266
swtch_pri 34
vecCGSConvertXXXX8888Mask 18
objc_msgSend_rtp 15
_NSRemoveHandler2 10
CFRunLoopTimerInvalidate 8
szone_malloc 8
NSPopAutoreleasePool 7
__CFRunLoopCollectObservers 6
CFHash 5
CFMakeCollectable 5
CFRelease 5
__CFRunLoopFindSource 5
objc_exception_try_exit 5
Sample analysis of process 5724 written to file /dev/stdout
Sampling process 5724 each 10 msecs 300 times

Looks like a Flash animation is using the CPU.

Flash animation? But this happens even when all windows are closed! And I’ve checked before to ensure that nothing was changing on any of the open pages when I’ve heard the spin (you’ve told me about animations consuming CPU in the past).

Is there a way to selectively disable Flash in DA? That’s far less valuable to me than my other plugins…

Thanks again,
John

No, it’s only possible to disable all plugins (a limitation of the WebKit).

You could temporarily disable Flash by removing two Flash plugins folders (Flash Player.plugin and Flash Player Enabler.plugin) from your //Library/Plugins/ folder and restarting, I suppose. :slight_smile:

I don’t know whether that might have other unforeseen results, but at least your CPU probably won’t get loaded up.

Or disable the download enhancer before running DA searches?