Files
meldestelle/docs/99_Journal/_archive/2026-04-14_DevOps_Billing-Feature-Wasm-OOM-Fix.md
T
2026-05-05 21:23:02 +02:00

1.5 KiB

type, status, owner, last_update
type status owner last_update
Journal ACTIVE DevOps Engineer 2026-04-14

Session Log: Fix Kotlin Wasm JS Compilation OOM

Problem

Die Kompilierung des Moduls :frontend:features:billing-feature für wasmJs schlug mit einem java.lang.OutOfMemoryError: GC overhead limit exceeded fehl.

Ursache war die Verwendung von material-icons-extended in Kombination mit den bisherigen JVM-Speichereinstellungen ( 6GB). Da material-icons-extended tausende generierte Icon-Dateien enthält, stößt der Kotlin/Wasm-Compiler bei der IR-Lowering-Phase an seine Grenzen.

Lösung

  1. Speichererhöhung: Die JVM-Heap-Einstellungen in gradle.properties wurden von 6GB auf 8GB erhöht.
  • kotlin.daemon.jvmargs wurde auf -Xmx8g gesetzt.
  • org.gradle.jvmargs wurde auf -Xmx8g gesetzt, wobei die Optionen für den Kotlin-Daemon ( -Dkotlin.daemon.jvm.options) auf -Xmx6g erhöht wurden.
  1. Verifizierung: Die Kompilierung von :frontend:features:billing-feature:compileProductionLibraryKotlinWasmJs wurde nach einem Daemon-Restart erfolgreich durchgeführt.

Betroffene Dateien

  • gradle.properties: Erhöhung der Speicherlimits.
  • frontend/features/billing-feature/build.gradle.kts: (Kurzzeitig getestet ohne materialIconsExtended, aber wieder aktiviert, da Icons daraus benötigt werden).

Handover

  • Zukünftig sollte bei weiteren OOM-Problemen im Wasm-Bereich geprüft werden, ob material-icons-extended durch eine selektive Icon-Einbindung (z.B. als Ressourcen) ersetzt werden kann, um den Compiler zu entlasten.