Skip to content

CPU going to 100% for a long time for a particular project #319

@gfzabarino

Description

@gfzabarino

Hi! Thanks for this awesome project!

I'm not sure what's going on, but when I open CodexMonitor and click on the project I work daily, the CPU just skies rocket for a long time. The UI becomes unusable / frozen and I have to wait until it settles down to use. I then interact with the UI and CPU spikes again. The project is a monorepo, has many files, and commit history, in case that matters. The CPU starts going wild as soon as I click on the project, and the branch / message input to create new agent page appears.

I'm not sure if it helps, here's a sample taken with activity monitor while the CPU is high:

Call graph:
    1899 Thread_68676359   DispatchQueue_1: com.apple.main-thread  (serial)
    + 1899 start  (in dyld) + 2840  [0x18e238274]
    +   1899 WebKit::XPCServiceMain(int, char const**)  (in WebKit) + 68  [0x1b431e8bc]
    +     1899 xpc_main  (in libxpc.dylib) + 64  [0x18e2d11c8]
    +       1899 _xpc_main  (in libxpc.dylib) + 276  [0x18e2e1754]
    +         1899 _xpc_objc_main  (in libxpc.dylib) + 700  [0x18e2d162c]
    +           1899 -[NSRunLoop(NSRunLoop) run]  (in Foundation) + 64  [0x18f8e6e74]
    +             1899 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]  (in Foundation) + 212  [0x18f86f518]
    +               1899 CFRunLoopRunSpecific  (in CoreFoundation) + 588  [0x18e69e734]
    +                 1899 __CFRunLoopRun  (in CoreFoundation) + 840  [0x18e69f138]
    +                   1899 __CFRunLoopDoSources0  (in CoreFoundation) + 244  [0x18e6a059c]
    +                     1899 __CFRunLoopDoSource0  (in CoreFoundation) + 176  [0x18e6a0838]
    +                       1899 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__  (in CoreFoundation) + 28  [0x18e6a08a4]
    +                         1899 WTF::RunLoop::performWork(void*)  (in JavaScriptCore) + 36  [0x1ac88dfec]
    +                           1899 WTF::RunLoop::performWork()  (in JavaScriptCore) + 204  [0x1ac88d0c4]
    +                             1899 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(WTF::UniqueRef<IPC::Decoder>)::$_2, void>::call()  (in WebKit) + 124  [0x1b4d8aa64]
    +                               1899 IPC::Connection::dispatchMessage(WTF::UniqueRef<IPC::Decoder>)  (in WebKit) + 252  [0x1b4d87254]
    +                                 1899 WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&)  (in WebKit) + 40  [0x1b4893b18]
    +                                   1899 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)  (in WebKit) + 272  [0x1b4d8cf28]
    +                                     1899 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&)  (in WebKit) + 3732  [0x1b4c73c34]
    +                                       1899 WebKit::WebPage::mouseEvent(WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::FrameIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long long>, unsigned long long, (WTF::SupportsObjectIdentifierNullState)1>>, WebKit::WebMouseEvent const&, std::optional<WTF::Vector<WebKit::SandboxExtensionHandle, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>>&&)  (in WebKit) + 544  [0x1b4c4dac4]
    +                                         1899 WebKit::WebFrame::handleMouseEvent(WebKit::WebMouseEvent const&)  (in WebKit) + 560  [0x1b4ab5e00]
    +                                           1899 WebCore::EventHandler::handleMousePressEvent(WebCore::PlatformMouseEvent const&)  (in WebCore) + 808  [0x1b09b27f4]
    +                                             1899 WebCore::Document::prepareMouseEvent(WebCore::HitTestRequest const&, WebCore::LayoutPoint const&, WebCore::PlatformMouseEvent const&)  (in WebCore) + 292  [0x1b09ae410]
    +                                               1899 WebCore::Document::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestLocation const&, WebCore::HitTestResult&)  (in WebCore) + 108  [0x1b22cf434]
    +                                                 1899 WebCore::Document::updateLayout(WTF::OptionSet<WebCore::LayoutOptions>, WebCore::Element const*)  (in WebCore) + 1540  [0x1b22a2dc4]
    +                                                   1899 WebCore::LocalFrameViewLayoutContext::layout(bool)  (in WebCore) + 56  [0x1b2a4d884]
    +                                                     1899 WebCore::LocalFrameViewLayoutContext::performLayout(bool)  (in WebCore) + 1164  [0x1b2a68f9c]
    +                                                       1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                         1899 WebCore::RenderGrid::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 56  [0x1b2f94628]
    +                                                           1899 WebCore::RenderBlock::simplifiedLayout()  (in WebCore) + 348  [0x1b08f34cc]
    +                                                             1899 WebCore::RenderBlock::simplifiedNormalFlowLayout()  (in WebCore) + 168  [0x1b09698b0]
    +                                                               1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                 1899 WebCore::RenderGrid::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 56  [0x1b2f94628]
    +                                                                   1899 WebCore::RenderBlock::simplifiedLayout()  (in WebCore) + 348  [0x1b08f34cc]
    +                                                                     1899 WebCore::RenderBlock::simplifiedNormalFlowLayout()  (in WebCore) + 168  [0x1b09698b0]
    +                                                                       1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                         1899 WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 56  [0x1b09bccc8]
    +                                                                           1899 WebCore::RenderBlock::simplifiedLayout()  (in WebCore) + 772  [0x1b08f3674]
    +                                                                             1899 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool)  (in WebCore) + 340  [0x1b2eedcb8]
    +                                                                               1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                 1899 WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 56  [0x1b09bccc8]
    +                                                                                   1899 WebCore::RenderBlock::simplifiedLayout()  (in WebCore) + 348  [0x1b08f34cc]
    +                                                                                     1899 WebCore::RenderBlock::simplifiedNormalFlowLayout()  (in WebCore) + 168  [0x1b09698b0]
    +                                                                                       1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                         1899 WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 56  [0x1b09bccc8]
    +                                                                                           1899 WebCore::RenderBlock::simplifiedLayout()  (in WebCore) + 348  [0x1b08f34cc]
    +                                                                                             1899 WebCore::RenderBlock::simplifiedNormalFlowLayout()  (in WebCore) + 168  [0x1b09698b0]
    +                                                                                               1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                                 1899 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 764  [0x1b2f04350]
    +                                                                                                   1899 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool)  (in WebCore) + 340  [0x1b2eedcb8]
    +                                                                                                     1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                                       1899 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 6636  [0x1b2f05a40]
    +                                                                                                         1899 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)  (in WebCore) + 1476  [0x1b2f0e108]
    +                                                                                                           1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                                             1899 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 6636  [0x1b2f05a40]
    +                                                                                                               1899 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)  (in WebCore) + 1476  [0x1b2f0e108]
    +                                                                                                                 1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                                                   1899 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 6636  [0x1b2f05a40]
    +                                                                                                                     1899 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)  (in WebCore) + 1476  [0x1b2f0e108]
    +                                                                                                                       1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                                                         1899 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 6636  [0x1b2f05a40]
    +                                                                                                                           1899 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)  (in WebCore) + 1476  [0x1b2f0e108]
    +                                                                                                                             1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                                                               1899 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 6636  [0x1b2f05a40]
    +                                                                                                                                 1899 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)  (in WebCore) + 1476  [0x1b2f0e108]
    +                                                                                                                                   1899 WebCore::RenderBlock::layout()  (in WebCore) + 72  [0x1b08f326c]
    +                                                                                                                                     1899 WebCore::RenderGrid::layoutBlock(bool, WebCore::LayoutUnit)  (in WebCore) + 804  [0x1b2f94914]
    +                                                                                                                                       1878 WebCore::RenderGrid::placeItemsOnGrid(std::optional<WebCore::LayoutUnit>)  (in WebCore) + 1740  [0x1b2f98034]
    +                                                                                                                                       ! 1524 WebCore::GridIterator::nextEmptyGridArea(unsigned int, unsigned int)  (in WebCore) + 200,180,...  [0x1b2e9f940,0x1b2e9f92c,...]
    +                                                                                                                                       ! 354 WebCore::GridIterator::nextEmptyGridArea(unsigned int, unsigned int)  (in WebCore) + 216  [0x1b2e9f950]
    +                                                                                                                                       !   354 WebCore::Grid::cell(unsigned int, unsigned int) const  (in WebCore) + 4,64,...  [0x1b2e9ee04,0x1b2e9ee40,...]
    +                                                                                                                                       21 WebCore::RenderGrid::placeItemsOnGrid(std::optional<WebCore::LayoutUnit>)  (in WebCore) + 1592  [0x1b2f97fa0]
    +                                                                                                                                         17 WebCore::insertIntoGrid(WebCore::Grid&, WebCore::RenderBox&, WebCore::GridArea const&)  (in WebCore) + 412  [0x1b2f9b29c]
    +                                                                                                                                         : 6 WebCore::RenderGrid::placeItems()  (in WebCore) + 44  [0x1b2f9a840]
    +                                                                                                                                         : | 3 WebCore::RenderBox::computeLogicalWidthInFragment(WebCore::RenderBox::LogicalExtentComputedValues&, WebCore::RenderFragmentContainer*) const  (in WebCore) + 1192  [0x1b2eec2ac]
    +                                                                                                                                         : | + 3 WebCore::RenderBox::computeLogicalWidthInFragmentUsing(WebCore::SizeType, WebCore::Length, WebCore::LayoutUnit, WebCore::RenderBlock const&, WebCore::RenderFragmentContainer*) const  (in WebCore) + 2888  [0x1b2f2ced4]
    +                                                                                                                                         : | +   1 WebCore::RenderBox::hasStretchedLogicalWidth(WebCore::StretchingMode) const  (in WebCore) + 200  [0x1b2f3c2b8]
    +                                                                                                                                         : | +   ! 1 WebCore::RenderObject::containingBlock() const  (in WebCore) + 180  [0x1b08f582c]
    +                                                                                                                                         : | +   1 WebCore::RenderBox::hasStretchedLogicalWidth(WebCore::StretchingMode) const  (in WebCore) + 416  [0x1b2f3c390]
    +                                                                                                                                         : | +   ! 1 WebCore::RenderGrid::isSubgridInParentDirection(WebCore::GridTrackSizingDirection) const  (in WebCore) + 92  [0x1b2f9aa9c]
    +                                                                                                                                         : | +   !   1 WebCore::RenderElement::establishesIndependentFormattingContext() const  (in WebCore) + 120  [0x1b2f72fd4]
    +                                                                                                                                         : | +   1 WebCore::RenderBox::hasStretchedLogicalWidth(WebCore::StretchingMode) const  (in WebCore) + 108  [0x1b2f3c25c]
    +                                                                                                                                         : | 2 WebCore::RenderBox::computeLogicalWidthInFragment(WebCore::RenderBox::LogicalExtentComputedValues&, WebCore::RenderFragmentContainer*) const  (in WebCore) + 3500  [0x1b2eecbb0]
    +                                                                                                                                         : | + 2 WebCore::RenderBox::overridingLogicalWidth() const  (in WebCore) + 144,176  [0x1b2f31148,0x1b2f31168]
    +                                                                                                                                         : | 1 WebCore::RenderBox::computeLogicalWidthInFragment(WebCore::RenderBox::LogicalExtentComputedValues&, WebCore::RenderFragmentContainer*) const  (in WebCore) + 396  [0x1b2eebf90]
    +                                                                                                                                         : |   1 WebCore::RenderBox::computeLogicalWidthInFragment(WebCore::RenderBox::LogicalExtentComputedValues&, WebCore::RenderFragmentContainer*) const  (in WebCore) + 404  [0x1b2eebf98]
    +                                                                                                                                         : 6 WebCore::RenderGrid::placeItemsOnGrid(std::optional<WebCore::LayoutUnit>)  (in WebCore) + 180  [0x1b2f97a1c]
    +                                                                                                                                         : | 2 WebCore::RenderGrid::populateExplicitGridAndOrderIterator()  (in WebCore) + 668  [0x1b2f9adb0]
    +                                                                                                                                         : | + 1 WebCore::GridPositionsResolver::resolveGridPositionsFromStyle(WebCore::RenderGrid const&, WebCore::RenderBox const&, WebCore::GridTrackSizingDirection)  (in WebCore) + 264  [0x1b3101a88]
    +                                                                                                                                         : | + ! 1 WebCore::resolveGridPositionFromStyle(WebCore::RenderGrid const&, WebCore::GridPosition const&, WebCore::GridPositionSide)  (in WebCore) + 48  [0x1b3101bf4]
    +                                                                                                                                         : | + 1 WebCore::GridPositionsResolver::resolveGridPositionsFromStyle(WebCore::RenderGrid const&, WebCore::RenderBox const&, WebCore::GridTrackSizingDirection)  (in WebCore) + 96  [0x1b31019e0]
    +                                                                                                                                         : | 2 WebCore::RenderGrid::populateExplicitGridAndOrderIterator()  (in WebCore) + 948  [0x1b2f9aec8]
    +                                                                                                                                         : | + 1 WTF::HashMap<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea, WTF::DefaultHash<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>, WTF::HashTraits<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>, WTF::HashTraits<WebCore::GridArea>, WTF::HashTableTraits>::inlineSet<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea&>(WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>&&, WebCore::GridArea&)  (in WebCore) + 212  [0x1b2ea3cec]
    +                                                                                                                                         : | + 1 WebCore::Grid::setGridItemArea(WebCore::RenderBox const&, WebCore::GridArea)  (in WebCore) + 76  [0x1b2e9ed7c]
    +                                                                                                                                         : | +   1 WTF::HashMap<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea, WTF::DefaultHash<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>, WTF::HashTraits<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>, WTF::HashTraits<WebCore::GridArea>, WTF::HashTableTraits>::inlineSet<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea&>(WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>&&, WebCore::GridArea&)  (in WebCore) + 356  [0x1b2ea3d7c]
    +                                                                                                                                         : | +     1 WTF::HashTable<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WTF::KeyValuePair<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea>>, WTF::DefaultHash<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>, WTF::HashMap<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea, WTF::DefaultHash<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>, WTF::HashTraits<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>, WTF::HashTraits<WebCore::GridArea>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>>>::rehash(unsigned int, WTF::KeyValuePair<WTF::WeakRef<WebCore::RenderBox const, WTF::SingleThreadWeakPtrImpl>, WebCore::GridArea>*)  (in WebCore) + 76  [0x1b2ea3f24]
    +                                                                                                                                         : | +       1 bmalloc_allocate_impl_casual_case  (in JavaScriptCore) + 676  [0x1adceb990]
    +                                                                                                                                         : | +         1 bmalloc_heap_config_specialized_local_allocator_try_allocate_small_segregated_slow  (in JavaScriptCore) + 2828  [0x1adcfa55c]
    +                                                                                                                                         : | +           1 pas_segregated_page_construct  (in JavaScriptCore) + 180  [0x1add2e93c]
    +                                                                                                                                         : | 1 WebCore::GridPositionsResolver::resolveGridPositionsFromStyle(WebCore::RenderGrid const&, WebCore::RenderBox const&, WebCore::GridTrackSizingDirection)  (in WebCore) + 240  [0x1b3101a70]
    +                                                                                                                                         : | 1 WebCore::RenderGrid::populateExplicitGridAndOrderIterator()  (in WebCore) + 160  [0x1b2f9abb4]
    +                                                                                                                                         : |   1 WebCore::Grid::ensureGridSize(unsigned int, unsigned int)  (in WebCore) + 364  [0x1b2e9e848]
    +                                                                                                                                         : |     1 bmalloc_allocate_impl_casual_case  (in JavaScriptCore) + 676  [0x1adceb990]
    +                                                                                                                                         : |       1 bmalloc_heap_config_specialized_local_allocator_try_allocate_small_segregated_slow  (in JavaScriptCore) + 2828  [0x1adcfa55c]
    +                                                                                                                                         : |         1 pas_segregated_page_construct  (in JavaScriptCore) + 180  [0x1add2e93c]
    +                                                                                                                                         : 3 WebCore::RenderGrid::placeItemsOnGrid(std::optional<WebCore::LayoutUnit>)  (in WebCore) + 256  [0x1b2f97a68]
    +                                                                                                                                         : | 3 WebCore::RenderBox::overridingContainingBlockContentLogicalWidth() const  (in WebCore) + 148  [0x1b2f31494]
    +                                                                                                                                         : 1 WebCore::RenderGrid::placeItemsOnGrid(std::optional<WebCore::LayoutUnit>)  (in WebCore) + 64  [0x

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions