n8n - 💡(How to fix) Fix n8n 2.22.5 segfaults (SIGSEGV / exit 139) on ARM64 after ~2h uptime — not the activation crash (#26844/#26859), regression since 2.18.5

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  • No FATAL ERROR / JavaScript heap out of memory anywhere in logs.

Fix Action

Fix / Workaround

Workaround: pinned the image to 2.18.5 (stable since).

n8n version (AFFECTED / crashing): 2.22.5
Current version (rollback workaround, stable): 2.18.5
Platform: docker (self-hosted)
Node.js: 24.15.0
OS: Ubuntu 22.04 (ARM64 / aarch64), kernel 6.8.0-1040-oracle
Database: sqlite (default)
Execution mode: regular (main)
Image base: Docker Hardened Image, node 24.15.0, alpine 3.22
  (labels: com.docker.dhi.version=24.15.0-alpine3.22-dev,
           com.docker.dhi.definition=image/node/alpine-3.22/24-dev)

Code Example

container die ... execDuration=7200, exitCode=139, image=n8nio/n8n:latest, ...image.version=2.22.5

---

OOMKilled=false      (container mem limit = 0/unlimited; host had ~22 GB free)

---

<t>      Last session crashed
<t+10s>  Initializing n8n process
<t+11s>  n8n ready on ::, port 5678
<t+11s>  n8n Task Broker ready on 127.0.0.1, port 5679
<t+11s>  Registered runner "JS Task Runner" (...)
<t+13s>  Version: 2.22.5

---

n8n version (AFFECTED / crashing): 2.22.5
Current version (rollback workaround, stable): 2.18.5
Platform: docker (self-hosted)
Node.js: 24.15.0
OS: Ubuntu 22.04 (ARM64 / aarch64), kernel 6.8.0-1040-oracle
Database: sqlite (default)
Execution mode: regular (main)
Image base: Docker Hardened Image, node 24.15.0, alpine 3.22
  (labels: com.docker.dhi.version=24.15.0-alpine3.22-dev,
           com.docker.dhi.definition=image/node/alpine-3.22/24-dev)
RAW_BUFFERClick to expand / collapse

Bug Description

On ARM64 (aarch64) Alpine + Node 24, n8n 2.22.5 segfaults with SIGSEGV (exit code 139) after almost exactly 2 hours (7200s) of process uptime, then (with restart: unless-stopped) relaunches and repeats on a ~2-hour clock.

This is NOT the startup/activation crash from #26844 / #26859. The instance activates all workflows cleanly and runs normally for ~2 hours (many successful executions) before dying. The isolated-vm rebuild fix from #26869 appears to be present in 2.22.5 (activation works) — this is a different, delayed segfault. n8n's crash recovery then mislabels the in-flight execution as "n8n may have run out of memory", but it is not an OOM.

Evidence it is a native segfault — not OOM, not an external restart:

docker events (identical on every crash):

container die ... execDuration=7200, exitCode=139, image=n8nio/n8n:latest, ...image.version=2.22.5

docker inspect:

OOMKilled=false      (container mem limit = 0/unlimited; host had ~22 GB free)
  • Kernel OOM killer not triggered — journalctl -k / dmesg clean (no "killed process").
  • No FATAL ERROR / JavaScript heap out of memory anywhere in logs.
  • No external restarter: host cron only runs a weekly backup; docker ps -a shows only the n8n container (no watchtower/autoheal).
  • Logs around each death show only the clean restart sequence, with no stack trace before exit (consistent with a native SIGSEGV):
<t>      Last session crashed
<t+10s>  Initializing n8n process
<t+11s>  n8n ready on ::, port 5678
<t+11s>  n8n Task Broker ready on 127.0.0.1, port 5679
<t+11s>  Registered runner "JS Task Runner" (...)
<t+13s>  Version: 2.22.5

Regression range (bisection hint):

  • 2.22.5: segfaults at ~7200s uptime, every cycle (16 restarts seen over ~32h).
  • 2.18.5: same host, same SQLite DB, same workflows → 0 crashes, RestartCount=0, runs well past the 2-hour mark.
  • So the regression landed between 2.18.5 and 2.22.5. Secondary symptom (downstream of the crash): Code nodes that execute during the ~10–20s runner-restart window fail with Task request timed out after 60 seconds ... the task runner is currently down, or not ready, or at capacity (LocalTaskRequester.requestExpiredJsTaskRunnerSandbox.runCodeAllItems). This is a consequence of the restart, not a separate bug.

Workaround: pinned the image to 2.18.5 (stable since).

Related: #26844, #26859, #26869, and community thread: https://community.n8n.io/t/bug-segmentation-fault-on-arm64-oracle-cloud-with-n8n-v2-11-1-due-to-isolated-vm-alpine-incompatibility/275761

To Reproduce

  1. Run n8nio/n8n:latest (2.22.5) on ARM64 (aarch64) with the internal JS Task Runner enabled (default).
  2. Activate workflows that include Code (JS) nodes and a Merge node; allow normal production traffic.
  3. Instance starts fine, activates all workflows, executions succeed.
  4. After ~7200s of uptime, the process exits with 139 (SIGSEGV), then restarts and crashes again ~2h later. Note: crash time tracks process uptime, not wall clock — execDuration ≈ 7200 every cycle and the sub-second offset is preserved across restarts (e.g. …:30:07 → …:30:08 → …:30:07). This suggests an internal timer/interval rather than a specific scheduled time.

Expected behavior

The process stays up; no periodic segfault.

Debug Info

The real Help → About n8n → Copy debug information will show your CURRENT version (2.18.5, the rollback), not the crashing 2.22.5. Use this manual block instead (or paste the real one and add the "affected version" line):

n8n version (AFFECTED / crashing): 2.22.5
Current version (rollback workaround, stable): 2.18.5
Platform: docker (self-hosted)
Node.js: 24.15.0
OS: Ubuntu 22.04 (ARM64 / aarch64), kernel 6.8.0-1040-oracle
Database: sqlite (default)
Execution mode: regular (main)
Image base: Docker Hardened Image, node 24.15.0, alpine 3.22
  (labels: com.docker.dhi.version=24.15.0-alpine3.22-dev,
           com.docker.dhi.definition=image/node/alpine-3.22/24-dev)

Operating System

Ubuntu Linux 22.04 (ARM64 / aarch64)

n8n Version

2.22.5

Node.js Version

24.15.0

Database

SQLite (default)

Execution mode

main (default)

Hosting

self hosted

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The process stays up; no periodic segfault.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING