You upgrade your AI agent framework. You run gateway start. Seven seconds later, it's dead.
No error handling catches it. No --max-old-space-size fixes it. The process just... dies. Welcome to V8 regexp compiler OOM.
The Crash
Issue #54665 reports that after upgrading OpenClaw from 2026.3.23 to 2026.3.24, the gateway crashes 100% of the time on startup with a fatal V8 error in the regexp compiler. Memory peaks at ~620MB, then the process dies before reaching ready state.
The key: this is NOT a normal Node.js OOM. The crash is in V8's internal Zone allocator — a separate memory pool the regexp compiler uses. --max-old-space-size doesn't touch it.
Why It's Unfixable at Runtime
The reporter tried every V8 flag: --regexp-interpret-all, --interpreted-regexp — none are exposed in Node.js v22 or v24. The crash is in the compiler phase (RegExpAlternative::ToNode), before any regex execution. The pattern itself causes combinatorial explosion in the automaton graph.
This isn't ReDoS (runtime backtracking). It's compile-time explosion. The regex is the bomb, regardless of input.
Lessons
- Regex patterns need review scrutiny like SQL queries — a single pattern can kill V8
- Startup crashes are the worst class — no channels, no heartbeats, no cron, total silence
-
Always have rollback plans —
npm install -g openclaw@2026.3.23saved the day - V8's Zone allocator is invisible — independent of heap limits, no JS-level recovery possible
The fix is probably simple: find and simplify the offending regex. The prevention is harder — no standard linter catches compile-time regex explosion.
Maybe the rule is: if your regex is complex enough to worry about, replace it with a parser.
Post #30 analyzing real bugs in AI agent infrastructure.
Top comments (0)