Skip to content

crash: Abort during deepseek-v4-pro "thinking" #410

@dthyresson

Description

@dthyresson

Summary

Command Code session aborted during thinking.

Expected Behavior

Not to crash/abort

Actual Behavior

<--- Last few GCs --->

[91747:0x74b40c000] 8710206 ms: Mark-Compact 4051.4 (4105.0) -> 4044.5 (4104.2) MB, pooled: 5.0 MB, 448.65 / 0.05 ms (average mu = 0.159, current mu = 0.017) task; scavenge might not succeed
[91747:0x74b40c000] 8710669 ms: Mark-Compact 4052.7 (4105.5) -> 4045.5 (4106.5) MB, pooled: 3.0 MB, 421.81 / 0.07 ms (average mu = 0.125, current mu = 0.089) allocation failure; scavenge might not succeed

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

1: 0x1004c7f34 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
2: 0x1006e9c20 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
3: 0x100935978 v8::internal::Heap::stack() [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
4: 0x100938ea4 v8::internal::Heap::HasLowYoungGenerationAllocationRate() [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
5: 0x100949d94 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags, v8::internal::PerformHeapLimitCheck)::$_1::operator()() const [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
6: 0x100949658 void heap::base::Stack::SetMarkerAndCallbackImpl<v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags, v8::internal::PerformHeapLimitCheck)::$_1>(heap::base::Stack*, void*, void const*) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
7: 0x101293f08 PushAllRegistersAndIterateStack [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
8: 0x10093372c v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags, v8::internal::PerformHeapLimitCheck) [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
9: 0x100928844 std::__1::invoke_result<v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint)::$_0&>::type v8::internal::HeapAllocator::CollectGarbageAndRetryAllocation<v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint)::$_0&>(v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint)::$_0&, v8::internal::AllocationType) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
10: 0x100926730 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
11: 0x10090732c v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
12: 0x100d6422c v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
13: 0x101385734 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
14: 0x10136c6f8 Builtins_SetOrSetIteratorToList [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
15: 0x101349d00 Builtins_IterableToListWithSymbolLookup [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
16: 0x129f71088
17: 0x129903b3c
18: 0x1013b4204 Builtins_ArrayMap [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
19: 0x1297739d8
20: 0x1299abf78
21: 0x129d14dcc
22: 0x129adfc18
23: 0x12a6ec968
24: 0x12a6cf50c
25: 0x12a4e8c5c
26: 0x1012e296c Builtins_JSEntryTrampoline [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
27: 0x1012e2610 Builtins_JSEntry [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
28: 0x10086553c v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
29: 0x100864ec0 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::DirectHandlev8::internal::Object, v8::internal::DirectHandlev8::internal::Object, v8::base::Vector<v8::internal::DirectHandlev8::internal::Object const>) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
30: 0x1006fa29c v8::Function::Call(v8::Isolate*, v8::Localv8::Context, v8::Localv8::Value, int, v8::Localv8::Value) [/Users/dthyresson/.nvm/versions/node/v25.9.0/bin/node]
31: 0x100454558 node::Environment::RunTimers(uv_timer_s
) [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
32: 0x1012be43c uv__run_timers [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
33: 0x1012c1e24 uv_run [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
34: 0x1003d4594 node::SpinEventLoopInternal(node::Environment*) [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
35: 0x1026df2a4 node::NodeMainInstance::Run() (.cold.1) [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
36: 0x10050be94 node::NodeMainInstance::Run() [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
37: 0x100485968 node::Start(int, char**) [/Users/dt/.nvm/versions/node/v25.9.0/bin/node]
38: 0x18be65d54 start [/usr/lib/dyld]
zsh: abort cmd

Steps to reproduce the issue

Not sure. Last output was:

⠶ Now I have all the context. Here's the plan: labels, artists, and years already have counts in each row from SQL — the Maps are pure JS overhead. I'll remove
  the Maps from queries and access data directly from items in page components.

 TODOS  [6 items]
☐ Remove Maps from labels query, use item properties directly
☐ Update labels page to use label.releaseCount/ownedCount
☐ Remove Maps from artists query, use item properties directly
☐ Update artists page to use artist.releaseCount/ownedCount
☐ Remove Maps from years query, embed count/coverImage in items
☐ Update years page to use year.count/coverImage

✻ Thought for 1 second [ctrl+o to expand]

⠶ Starting with labels.

 TODOS  [6 items]
☐ Remove Maps from labels query, use item properties directly
☐ Update labels page to use label.releaseCount/ownedCount
☐ Remove Maps from artists query, use item properties directly
☐ Update artists page to use artist.releaseCount/ownedCount
☐ Remove Maps from years query, embed count/coverImage in items
☐ Update years page to use year.count/coverImage

✻ Thinking… (1625 lines) [ctrl+o to expand]

 ⌘ Channeling…  esc to interrupt • 5m 48s • ↓ 30.9k

Command Code Version

0.27.0

Operating System

macOS

Terminal/IDE

ghostty

Shell

zsh

Additional context

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions