--- type: Journal status: ACTIVE owner: DevOps Engineer last_update: 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. 2. **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.