Zusammenfassung
Ich erlebe reproduzierbare OOM-Abstürze auf n8n Cloud Starter bei sehr kleinen Payloads (~1-2 MB binär). Der Absturzpunkt schwankt zwischen Code-Node und AI Agent zwischen Durchläufen mit derselben Eingabe, was stark auf Ressourcenfluktuationen von gemeinsamen Workern statt auf einen Benutzercode-Bug hindeutet.
Derselbe Workflow-JSON läuft perfekt auf selbstgehostet (Docker, 8 GB Host) — 30+ Ausführungen ohne Abstürze.
Umgebung
- Plan: Cloud Starter
- Instance:
verma-digital.app.n8n.cloud - n8n Version: 2.20.7 (Cloud)
- Node:
@n8n/n8n-nodes-langchain.agentv1.8 - Modell:
gpt-4-1-mini
Reproduzierbarer Test — minimaler 8-Node-Workflow
Manuel Trigger
→ Code „Testdaten vorbereiten"
(hole jede URL über helpers.httpRequest({encoding:'arraybuffer'})
+ helpers.prepareBinaryData, emit 1 Element pro Datei mit binär)
→ Switch nach MIME (PDF / Bild / Fallback)
→ Aus PDF extrahieren (nur PDF-Branch) → Zusammenführen (anfügen, 3 Eingaben)
→ Code „Aggregieren"
(sammle Elemente in einzelne Ausgabe: json.text + binary.data_0,
data_1, ... für AI Agent)
→ AI Agent (passthroughBinaryImages: true)
→ OpenAI Chat Model
Kein Postgres-Speicher, keine Tools, keine gespeicherten Subworkflows. So minimal wie möglich, während das Problem noch reproduziert wird.
Ich kann gerne die vollständige Workflow-JSON teilen.
Testergebnisse
| Eingabe | Gesamtgröße binär | Ergebnis |
|---|---|---|
| 2 kleine Icons (webp) | ~40 KB | |
| 2 kleine PDFs (176 + 63 KB) | ~240 KB | |
| 1 PDF (2,6 MB, 5 Seiten) | ~2,6 MB | |
| 2 Bilder (1,56 MB + 810 KB webp) | ~2,4 MB |
Der Schwellenwert liegt irgendwo zwischen ~240 KB und ~2,4 MB gesamtes Binär in einer einzelnen Ausführung. Der Absturz passiert sogar mit einem einzelnen 2,6-MB-Binär (nur ein helpers.httpRequest-Aufruf), daher ist dies nicht ein kumulatives Multi-Fetch-Speicherleck.
Der interessante Teil — nicht-deterministischer Absturzpunkt
Dieselbe exakte Eingabe, derselbe Workflow, derselbe Ausführungspfad:
- Durchlauf 1: Absturz bei Code-Node „Testdaten vorbereiten