Lately I been getting OOM error when trying to bui...
# compose-ios
s
Lately I been getting OOM error when trying to build Compose iOS release artifact on GitHub Actions. Anyone else having the same issue? https://github.com/msasikanth/twine/actions/runs/20548908243/job/59023754747#step:9:3653
Copy code
error: Compilation failed: Java heap space

 * Source files: 
 * Compiler version: 2.3.0
 * Output kind: FRAMEWORK

error: java.lang.OutOfMemoryError: Java heap space
	at org.jetbrains.kotlin.backend.konan.util.LongHashSet.grow(LongHashSet.kt:66)
	at org.jetbrains.kotlin.backend.konan.util.LongHashSet.add(LongHashSet.kt:49)
	at org.jetbrains.kotlin.backend.konan.optimizations.DevirtualizationAnalysis$DevirtualizationAnalysisImpl$CondensationBuilder.mergeEdges(DevirtualizationAnalysis.kt:388)
	at org.jetbrains.kotlin.backend.konan.optimizations.DevirtualizationAnalysis$DevirtualizationAnalysisImpl$CondensationBuilder.build(DevirtualizationAnalysis.kt:458)
	at org.jetbrains.kotlin.backend.konan.optimizations.DevirtualizationAnalysis$DevirtualizationAnalysisImpl.analyze(DevirtualizationAnalysis.kt:526)
	at org.jetbrains.kotlin.backend.konan.optimizations.DevirtualizationAnalysis.run(DevirtualizationAnalysis.kt:1345)
	at org.jetbrains.kotlin.backend.konan.driver.phases.LTOKt.DevirtualizationAnalysisPhase$lambda$0(LTO.kt:57)
	at org.jetbrains.kotlin.backend.konan.driver.phases.LTOKt$$Lambda/0x00000070032a6370.invoke(Unknown Source)
	at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$createSimpleNamedCompilerPhase$3.phaseBody(PhaseBuilders.kt:78)
	at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$createSimpleNamedCompilerPhase$3.phaseBody(PhaseBuilders.kt:67)
	at org.jetbrains.kotlin.config.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:102)
	at org.jetbrains.kotlin.backend.common.phaser.PhaseEngine.runPhase(PhaseEngine.kt:64)
	at org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runAndMeasurePhase(TopLevelPhases.kt:510)
	at org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runCodegen(TopLevelPhases.kt:536)
	at org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runBackendCodegen(TopLevelPhases.kt:477)
	at org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.compileModule(TopLevelPhases.kt:393)
	at org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runBackend$lambda$0$runAfterLowerings(TopLevelPhases.kt:218)
	at org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runBackend(TopLevelPhases.kt:248)
	at org.jetbrains.kotlin.backend.konan.driver.NativeCompilerDriver.produceObjCFramework(NativeCompilerDriver.kt:83)
	at org.jetbrains.kotlin.backend.konan.driver.NativeCompilerDriver.run$lambda$0$0$0(NativeCompilerDriver.kt:45)
	at org.jetbrains.kotlin.backend.konan.driver.NativeCompilerDriver$$Lambda/0x0000007002587b28.invoke(Unknown Source)
	at org.jetbrains.kotlin.backend.konan.driver.MachineryKt$startTopLevel$topLevelPhase$1.phaseBody(Machinery.kt:69)
	at org.jetbrains.kotlin.backend.konan.driver.MachineryKt$startTopLevel$topLevelPhase$1.phaseBody(Machinery.kt:66)
	at org.jetbrains.kotlin.config.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:102)
	at org.jetbrains.kotlin.backend.konan.driver.MachineryKt.startTopLevel(Machinery.kt:76)
	at org.jetbrains.kotlin.backend.konan.driver.NativeCompilerDriver.run(NativeCompilerDriver.kt:39)
	at org.jetbrains.kotlin.backend.konan.KonanDriver.run(KonanDriver.kt:145)
	at org.jetbrains.kotlin.cli.bc.K2Native.runKonanDriver(K2Native.kt:177)
	at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:74)
	at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:36)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:122)
	at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.kt:359)
l
Try increasing memory for Kotlin daemon (and Gradle) in
gradle.properties
:
org.gradle.jvmargs=-Xmx11g -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options\="-Xmx6g" -XX:+UseParallelGC
s
I previously had it at 6GB and it was still failing. Let me increase to 8GB and also add the
kotlin.daemon.jvm.options
. Hopefully it will work in CI 🤞🏾
fwiw, the standard MacOS runner in GH Actions has 7GB ram only. So I had to keep it under 7GB before
Great, it works. Thanks
👍 1