Ticket #20591

High CPU usage of cabos.exe even when idle.

Eröffnet am: 2010-02-08 02:22 Letztes Update: 2010-02-08 02:22

Auswertung:
(Anonym)
Verantwortlicher:
(Keine)
Typ:
Status:
Offen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine

Details

Even when idle, cabos.exe has high CPU usage (~20% - too much for a background task). Cabos is uploading and downloading just fine and java.exe consumes less than 1%. According to ProcessExplorer it spends a lot of time in kernel mode while having low IO, so I thought it may be that Cabos is continually repainting its UI even when nothing changes or the window is not visible. That would also explain why the selection border flickers sometimes. I've also used WinDbg and wt to get some statistics on what it's doing, which I'll add below. Note that there are a lot of GDI and USP calls in there, maybe confirming my suspicion? Maybe EnableAutoWaitCursor triggers a repaint somehow? The total field was calculated by multiplying Invocations with AvgInst, and therefore includes instructions executed by user mode(!) child functions. Running 0.8.2-Debug on WinXP (fully patched). System calls executed: 1440 FunctionName Invocations MinInst MaxInst AvgInst Total CabosEnableAutoWaitCursor 5042 5 541315 438 2208396 USP10ScriptApplyDigitSubstitution 6690 3 2986 79 528510 USP10UspFreeMem 5900 3 1247 38 224200 CabosFolderItemCopyCtor 3115 12 405 45 140175 Cabos!getMoviePlayerController 2321 10 132 28 64988 USP10ScriptGetCMap 125 54 1238 340 42500 GDI32CreateCompatibleBitmap 1595 2 82 26 41470 USP10ScriptJustify 3600 11 11 11 39600 USP10ScriptStringFree 181 186 188 186 33666 GDI32CreateCompatibleDC 1259 1 78 25 31475 GDI32DeleteObject 1628 1 118 18 29304 LPKLpkTabbedTextOut 362 51 383 80 28960 USP10ScriptShape 391 65 73 65 25415 USP10ScriptStringAnalyse 181 119 147 138 24978 USER32DrawTextExW 1377 1 103 17 23409 USP10ScriptPlace 391 54 63 54 21114 GDI32CreateRectRgn 387 7 66 50 19350 GDI32CombineRgn 578 1 90 33 19074 ntdllRtlEnterCriticalSection 1724 11 12 11 18964 GDI32SelectObject 419 1 97 45 18855 GDI32SetRectRgn 570 13 48 30 17100 GDI32GetLayout 428 33 33 33 14124 Cabos 629 22 22 22 13838 CabosRuntimeUnlockObject 1861 6 17 7 13027 GDI32ExtSelectClipRgn 502 1 104 25 12550 ntdllRtlLeaveCriticalSection 1723 6 8 7 12061 kernel32FindActCtxSectionGuid 102 8 1783 109 11118 USP10ScriptItemize 181 61 61 61 11041 GDI32GetViewportExtEx 206 5 47 43 8858 CabosRuntimeLockObject 519 6 202 16 8304 CabosInitMessageDialogClasses 314 16 76 26 8164 GDI32GdiRealizationInfo 153 53 53 53 8109 GDI32GetTextMetricsW 142 55 55 55 7810 GDI32GetObjectType 256 6 44 27 6912 GDI32MoveToEx 486 1 60 14 6804 Cabos!debugDumpObjects 285 14 25 23 6555 ntdll!wcsncpy 140 2 184 41 5740 USER32 300 1 58 19 5700 GDI32CreateFontA 25 106 232 226 5650 GDI32CreateFontIndirectA 75 24 153 75 5625 GDI32GetCharWidthW 180 9 175 31 5580 CabosRuntimeLookupClass 166 13 220 33 5478 Cabos!databaseSQLExecute 260 5 56 21 5460 GDI32!GetETM 153 33 50 35 5355 Cabos!styledPrinterWidthSetter 68 43 282 78 5304 uxthemeDrawThemeBackgroundEx 114 7 396 45 5130 GDI32GetTextExtentExPointWPri 366 14 14 14 5124 GDI32ExtTextOutW 628 1 20 8 5024 GDI32PolyPatBlt 66 74 74 74 4884 GDI32GetTextAlign 228 12 26 21 4788 GDI32GdiProcessSetup 154 18 40 29 4466 CabosGetSpecialFolderFromCode 276 4 68 16 4416 USER32DrawTextW 617 2 19 7 4319 GDI32GetMapMode 125 33 33 33 4125 USP10ScriptLayout 125 33 33 33 4125 GDI32SetTextAlign 90 45 45 45 4050 GDI32SetBkMode 448 1 44 9 4032 ntdllRtlFreeHeap 116 2 79 34 3944 USP10UspAllocTemp 181 21 21 21 3801 USER32DeregisterShellHookWindow 621 2 37 6 3726 LPKLpkDrawTextEx 181 14 23 20 3620 USP10ScriptTextOut 68 51 51 51 3468 ntdll!strchr 232 9 19 14 3248 ntdllRtlAllocateHeap 86 2 73 37 3182 CabosRuntimeNewObject 55 57 57 57 3135 CabosRuntimeStackCheck 129 24 24 24 3096 GDI32GetTextExtentPointA 420 2 33 7 2940 ntdllKiFastSystemCall 1440 2 2 2 2880 USP10ScriptCacheGetHeight 125 23 23 23 2875 GDI32!DeleteDC 110 3 57 25 2750 kernel32MulDiv 144 19 19 19 2736 GDI32GetTextMetricsA 68 10 65 37 2516 CabosRuntimeUnlockString 400 6 8 6 2400 USP10ScriptGetProperties 181 13 13 13 2353 GDI32!SetDIBitsToDevice 19 121 121 121 2299 ntdllRtlUnicodeToMultiByteN 48 13 110 46 2208 CabosVariantCompare 44 50 50 50 2200 CabosRuntimeLookupInterfaceVtable 109 18 26 20 2180 USER32FillRect 66 33 33 33 2178 kernel32InterlockedExchange 362 6 6 6 2172 ntdllRtlMultiByteToUnicodeN 49 30 58 44 2156 CabosRuntimeRegisterFileType 88 24 24 24 2112 GDI32!CreateDIBSection 57 1 106 36 2052 GDI32CreateFontIndirectExW 100 1 42 19 1900 kernel32InterlockedCompareExchange 367 5 5 5 1835 GDI32SetTextColor 34 51 53 52 1768 ntdll!wcslen 14 68 128 119 1666 GDI32GdiFlush 63 26 26 26 1638 GDI32EnumFontFamiliesExW 108 1 86 15 1620 GDI32GetBrushOrgEx 76 2 42 21 1596 GDI32GetTextCharsetInfo 75 12 32 21 1575 Cabos!graphicsPixelSetter 97 12 20 16 1552 GDI32SelectClipRgn 170 9 9 9 1530 GDI32GetTextFaceW 305 3 400 5 1525 GDI32!Ellipse 732 1 3 2 1464 CabosRuntimeGraphicsDrawPicture 13 104 113 112 1456 CabosRuntimeNewVtable 110 9 18 13 1430 CabosRuntimeGraphicsDrawString 26 22 70 53 1378 CabosSoundVolumeGetter 28 11 53 47 1316 CabosLookupObjectDefinition 52 25 25 25 1300 GDI32DdEntry19 211 2 16 6 1266 Cabos!serialClearBreak 24 8 184 52 1248 Cabos!objectToVariant 89 8 30 14 1246 USP10ScriptBreak 56 22 22 22 1232 GDI32GetDeviceCaps 24 49 54 51 1224 CabosRandomConstructor 34 35 35 35 1190 GDI32ExcludeClipRect 35 18 74 33 1155 GDI32BitBlt 75 1 41 15 1125 Cabos!notePlayerInstrumentSetter 55 20 20 20 1100 kernel32GetStringTypeW 28 14 65 39 1092 uxtheme 72 1 109 15 1080 GDI32GdiReleaseDC 26 41 41 41 1066 CabosRuntimeCheckCast 32 28 36 33 1056 kernel32SetUnhandledExceptionFilter 39 21 40 27 1053 Cabos!graphicsForeColorSetter 36 29 29 29 1044 GDI32GetWindowExtEx 29 36 36 36 1044 GDI32GetRgnBox 77 12 12 12 924 LPK!ftsWordBreak 874 1 5 1 874 GDI32GetCurrentPositionEx 27 6 56 31 837 Cabos!pictureGraphicsGetter 24 26 60 34 816 CabosRuntimeGraphicsFillRect 18 44 44 44 792 GDI32TextOutW 264 1 5 3 792 ntdll!tan 60 13 14 13 780 CabosEnableCoreGraphicsTextOnOSX 41 9 83 19 779 CabosThreadSetStackSize 129 6 6 6 774 GDI32CreateRectRgnIndirect 86 1 25 9 774 GDI32CreateSolidBrush 64 12 12 12 768 CabosRuntimeUnlockArray 109 6 11 7 763 USER32GetSysColor 63 12 12 12 756 CabosConvertObjectToString 15 50 50 50 750 Cabos!colorToVariant 20 37 37 37 740 kernel32!lstrlen 15 44 48 47 705 CabosCreateInstance 52 13 13 13 676 GDI32RectVisible 84 8 8 8 672 GDI32GetTextExtentPoint32W 332 1 5 2 664 USP10ScriptStringOut 17 39 39 39 663 USER32GetClassNameA 15 44 45 44 660 kernel32ReleaseMutex 46 9 19 14 644 uxthemeGetThemeBackgroundRegion 20 5 79 32 640 Cabos!enableMenuItems 29 4 111 22 638 GDI32GetCurrentObject 156 1 18 4 624 CabosIsNull 88 7 7 7 616 Cabos!listGetSelected 32 18 18 18 576 Cabos!pictureMaskGetter 12 34 91 48 576 GDI32GetObjectA 48 6 18 12 576 GDI32GdiGetCodePage 35 1 33 16 560 USER32SetRect 31 18 18 18 558 USER32!GetDC 79 1 63 7 553 kernel32NlsGetCacheUpdateCount 181 3 3 3 543 kernel32MultiByteToWideChar 42 6 19 12 504 USP10UspAllocCache 24 21 21 21 504 USP10ScriptGetFontProperties 12 41 41 41 492 uxthemeOpenThemeData 12 2 181 41 492 CabosVariantHash 44 11 13 11 484 USER32GetParent 24 16 25 20 480 USER32GetSubMenu 91 5 5 5 455 LPKLpkInitialize 14 27 58 32 448 GDI32!GetHFONT 17 26 26 26 442 Cabos!variantToString 33 10 18 13 429 CabosRuntimeLockUnlockObjects 35 7 13 12 420 USER32GetWindowThreadProcessId 25 5 25 16 400 GDI32GetClipRgn 20 19 19 19 380 USER32CharNextW 16 15 25 23 368 GDI32GetSystemPaletteUse 60 1 14 6 360 USER32ClientToScreen 24 14 17 15 360 USP10ScriptFreeCache 12 30 30 30 360 USER32GetAppCompatFlags2 25 14 14 14 350 GDI32!DPtoLP 9 38 38 38 342 msvcrt!strerror 24 9 19 14 336 GDI32GetOutlineTextMetricsW 36 2 13 9 324 GDI32SetBkColor 6 51 53 52 312 ntdllRtlNtStatusToDosErrorNoTeb 24 13 13 13 312 USER32!ReleaseDC 26 12 12 12 312 msvcrt!free 18 12 19 16 288 CabosConvertObjectToInt 5 56 56 56 280 USER32IsWindow 20 2 31 14 280 USER32OffsetRect 12 16 31 23 276 Cabos!graphicsWidthGetter 34 8 8 8 272 CabosRuntimeLockArray 34 8 8 8 272 kernel32WideCharToMultiByte 6 29 62 45 270 uxthemeGetThemeAppProperties 2 133 133 133 266 GDI32GetStockObject 17 14 14 14 238 GDI32GdiDllInitialize 47 3 9 5 235 Cabos!graphicsTextSizeSetter 18 13 13 13 234 GDI32GetBkMode 9 26 26 26 234 GDI32GetRandomRgn 114 2 2 2 228 CabosRuntimeGraphicsStringWidth 13 13 29 17 221 CabosPictureDepthGetter 6 33 39 36 216 kernel32IsBadStringPtrW 2 108 108 108 216 USER32AlignRects 10 21 26 21 210 USER32GetWindowRect 12 14 20 17 204 GDI32RoundRect 7 27 27 27 189 MSCTF!TF_UninitSystem 6 29 33 31 186 CabosRuntimeGraphicsFillRoundRect 4 46 46 46 184 USER32GetMessageTime 9 3 29 20 180 USER32GetWindowLongW 8 2 43 22 176 ntdllRtlGetNtGlobalFlags 43 4 4 4 172 LPKLpkExtTextOut 10 17 17 17 170 CabosRuntimeLockString 21 8 8 8 168 GDI32CreatePen 21 1 20 8 168 GDI32SetViewportOrgEx 3 55 55 55 165 USER32DefWindowProcW 19 2 26 8 152 Cabos!intToVariant 15 10 10 10 150 Cabos!graphicsHeightGetter 18 8 8 8 144 GDI32GetCharABCWidthsI 12 12 12 12 144 Cabos!RuntimeCMY 4 35 35 35 140 CabosRuntimeGraphicsDrawRoundRect 3 46 46 46 138 USER32MoveWindow 12 2 21 11 132 CabosPictureConstructor 3 43 43 43 129 USER32GetWindowLongA 16 2 15 8 128 uxthemeCloseThemeData 4 17 46 31 124 uxthemeDrawThemeBackground 4 9 52 30 120 uxthemeGetThemePartSize 10 2 25 12 120 USER32GetMessageA 3 39 39 39 117 GDI32!Rectangle 29 4 4 4 116 kernel32SetWaitableTimer 21 5 5 5 105 USER32CallWindowProcA 3 34 34 34 102 GDI32GetGlyphIndicesW 50 1 3 2 100 GDI32SetStretchBltMode 2 46 46 46 92 LPKLpkUseGDIWidthCache 4 23 23 23 92 Cabos!variantToInt 5 18 18 18 90 CabosServerSocketFireErrorEvent 4 5 37 21 84 MSCTF 6 9 19 14 84 USER32GetClientRect 6 14 14 14 84 USER32IsWindowVisible 6 14 14 14 84 GDI32GetClipBox 40 1 3 2 80 ntdllCsrClientCallServer 2 39 39 39 78 kernel32InterlockedIncrement 15 5 5 5 75 GDI32StretchBlt 6 1 33 12 72 USER32CallNextHookEx 3 24 24 24 72 USER32GetAppCompatFlags 12 6 6 6 72 USER32GetPropW 4 18 18 18 72 Cabos!pluginPictureGraphicsGetter 3 20 20 20 60 msvcrt!operator new 6 10 10 10 60 ntdllRtlActivateActivationContextUnsafeFast 3 20 20 20 60 USER32GetWindowTextLengthW 3 20 20 20 60 kernel32IsBadReadPtr 2 29 29 29 58 GDI32SelectPalette 9 1 16 6 54 GDI32GetBkColor 2 26 26 26 52 kernel32MoveFileExW 25 2 3 2 50 USER32RemovePropW 2 25 25 25 50 GDI32GetCharABCWidthsW 24 1 3 2 48 GDI32RealizePalette 3 16 16 16 48 USER32EnableWindow 12 1 8 4 48 USER32SetPropW 2 24 24 24 48 uxthemeDrawThemeText 2 24 24 24 48 GDI32GetTextExtentPointW 4 11 11 11 44 USER32GetThreadDesktop 2 21 21 21 42 USER32TranslateMessage 3 13 13 13 39 USER32TranslateMessageEx 3 12 12 12 36 CabosRangeEndPosGetter 2 17 17 17 34 USER32GetDlgItem 17 2 2 2 34 GDI32 8 3 5 4 32 ntdllRtlRestoreLastWin32Error 4 8 8 8 32 Cabos!linePosSetter 5 6 6 6 30 msvcrt!operator delete 6 5 5 5 30 ntdllKiUserCallbackDispatcher 6 5 5 5 30 ntdllRtlDeactivateActivationContextUnsafeFast 2 15 15 15 30 GDI32GdiQueryFonts 14 1 3 2 28 USER32SendMessageW 4 7 7 7 28 MSCTFDllCanUnloadNow 3 9 9 9 27 CabosLineStateSetter 2 12 12 12 24 CabosRunFireSerial 2 12 12 12 24 kernel32LocalAlloc 1 24 24 24 24 kernel32!lstrlenW 2 12 12 12 24 USER32GetCursorPos 3 8 8 8 24 USER32PostMessageA 3 8 8 8 24 USER32UserLpkPSMTextOut 12 1 3 2 24 USER32UserRealizePalette 3 8 8 8 24 0x00cc1018 22 1 1 1 22 ... 0x00cc149e 22 1 1 1 22 uxtheme!Ordinal25 2 11 11 11 22 Cabos!graphicsBoldSetter 1 21 21 21 21 USER32DispatchMessageA 3 6 8 7 21 USER32GetWindowWord 3 7 7 7 21 0x00ce2aea 19 1 1 1 19 ... 0x00ce5475 18 1 1 1 18 kernel32LocalFree 1 17 17 17 17 USER32WindowFromDC 2 8 8 8 16 0x00ce3578 15 1 1 1 15 ... 0x00ce3820 12 1 1 1 12 GDI32QueryFontAssocStatus 12 1 1 1 12 GDI32SetMapMode 2 6 6 6 12 USER32BeginPaint 6 1 3 2 12 USER32GetProcessWindowStation 6 1 3 2 12 kernel32GetTickCount 2 5 5 5 10 kernel32InterlockedDecrement 2 5 5 5 10 0x00cbfe33 9 1 1 1 9 ... 0x00ce3dc2 9 1 1 1 9 USER32GetMessagePos 3 3 3 3 9 ntdllNtRequestWaitReplyPort 4 1 3 2 8 USER32EndPaint 4 1 3 2 8 USER32GetUserObjectInformationW 4 1 3 2 8 USER32IsChild 4 1 3 2 8 USER32WindowFromPoint 4 1 3 2 8 0x00ce2bfc 7 1 1 1 7 ... 0x00ce4a21 6 1 1 1 6 GDI32UnrealizeObject 2 3 3 3 6 USER32GetOpenClipboardWindow 3 2 2 2 6 0x00cbffbb 5 1 1 1 5 ... 0x00cdc4a6 1 1 1 1 1

Ticket-Verlauf (2/2 Historien)

2010-02-08 02:22 Aktualisiert von: None
  • New Ticket "High CPU usage of cabos.exe even when idle." created
2010-02-08 02:30 Aktualisiert von: None
Kommentar

My apologies for the letter soup, it seems the tracker ate all my line breaks. Which means that it also isn't immediately obvious that I sorted the rows by the Total column in descending order.

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden