No tail‑call optimization: why deep recursion in Go blows up the stack
Go’s runtime expands the stack in 2 KB steps and lacks tail‑call optimization, so a single deep‑recursive call chain can quickly hit system limits and crash. This stack exhaustion underlies recent Go denial‑of‑service CVEs, forcing developers to replace recursion with iterative patterns or explicit stack checks.