ballerina-lang
ballerina-lang copied to clipboard
[Bug]: OOM when building health.hl7v2commons with bal9
Description
https://github.com/ballerina-platform/module-ballerinax-health.hl7v2/tree/main/commons - update the ballerina version and remove those explicit dependencies from the Ballerina.toml
.
bal build
gives following error;
java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.Arrays.copyOf(Arrays.java:3537)
at java.base/java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:100)
at java.base/java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:130)
at java.base/java.io.DataOutputStream.write(DataOutputStream.java:112)
at org.wso2.ballerinalang.compiler.bir.writer.BIRBinaryWriter.serialize(BIRBinaryWriter.java:90)
at io.ballerina.projects.ModuleContext.generateBIR(ModuleContext.java:523)
at io.ballerina.projects.ModuleContext.generateCodeInternal(ModuleContext.java:472)
at io.ballerina.projects.ModuleCompilationState$4.generatePlatformSpecificCode(ModuleCompilationState.java:132)
at io.ballerina.projects.ModuleContext.generatePlatformSpecificCode(ModuleContext.java:387)
at io.ballerina.projects.JBallerinaBackend.performCodeGen(JBallerinaBackend.java:173)
at io.ballerina.projects.JBallerinaBackend.<init>(JBallerinaBackend.java:142)
at io.ballerina.projects.JBallerinaBackend.lambda$from$0(JBallerinaBackend.java:126)
at io.ballerina.projects.JBallerinaBackend$$Lambda$405/0x00000008003d57c8.apply(Unknown Source)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220)
at io.ballerina.projects.PackageCompilation.getCompilerBackend(PackageCompilation.java:179)
at io.ballerina.projects.JBallerinaBackend.from(JBallerinaBackend.java:125)
at io.ballerina.projects.JBallerinaBackend.from(JBallerinaBackend.java:113)
at io.ballerina.cli.task.CompileTask.execute(CompileTask.java:216)
at io.ballerina.cli.TaskExecutor.executeTasks(TaskExecutor.java:40)
at io.ballerina.cli.cmd.BuildCommand.execute(BuildCommand.java:300)
at io.ballerina.cli.launcher.Main$$Lambda$47/0x0000000800131210.accept(Unknown Source)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at io.ballerina.cli.launcher.Main.main(Main.java:58)
Eclipse memory analyser shows 2 problems;
The thread java.lang.Thread @ 0x7c0749a70 main keeps local variables with total size 136,159,096 (12.67%) bytes.
The memory is accumulated in one instance of java.lang.Thread, loaded by <system class loader>, which occupies 136,159,096 (12.67%) bytes.
main
at java.lang.OutOfMemoryError.<init>()V (OutOfMemoryError.java:48)
at java.util.Arrays.copyOf([BI)[B (Arrays.java:3537)
at java.io.ByteArrayOutputStream.ensureCapacity(I)V (ByteArrayOutputStream.java:100)
at java.io.ByteArrayOutputStream.write([BII)V (ByteArrayOutputStream.java:130)
at java.io.DataOutputStream.write([BII)V (DataOutputStream.java:112)
at org.wso2.ballerinalang.compiler.bir.writer.BIRBinaryWriter.serialize()[B (BIRBinaryWriter.java:90)
at io.ballerina.projects.ModuleContext.generateBIR(Lio/ballerina/projects/ModuleContext;Lorg/wso2/ballerinalang/compiler/util/CompilerContext;)Ljava/io/ByteArrayOutputStream; (ModuleContext.java:523)
at io.ballerina.projects.ModuleContext.generateCodeInternal(Lio/ballerina/projects/ModuleContext;Lio/ballerina/projects/CompilerBackend;Lorg/wso2/ballerinalang/compiler/util/CompilerContext;)V (ModuleContext.java:472)
at io.ballerina.projects.ModuleCompilationState$4.generatePlatformSpecificCode(Lio/ballerina/projects/ModuleContext;Lorg/wso2/ballerinalang/compiler/util/CompilerContext;Lio/ballerina/projects/CompilerBackend;)V (ModuleCompilationState.java:132)
at io.ballerina.projects.ModuleContext.generatePlatformSpecificCode(Lorg/wso2/ballerinalang/compiler/util/CompilerContext;Lio/ballerina/projects/CompilerBackend;)V (ModuleContext.java:387)
at io.ballerina.projects.JBallerinaBackend.performCodeGen(Z)V (JBallerinaBackend.java:173)
at io.ballerina.projects.JBallerinaBackend.<init>(Lio/ballerina/projects/PackageCompilation;Lio/ballerina/projects/JvmTarget;Z)V (JBallerinaBackend.java:142)
at io.ballerina.projects.JBallerinaBackend.lambda$from$0(Lio/ballerina/projects/PackageCompilation;Lio/ballerina/projects/JvmTarget;ZLio/ballerina/projects/CompilerBackend$TargetPlatform;)Lio/ballerina/projects/JBallerinaBackend; (JBallerinaBackend.java:126)
at io.ballerina.projects.JBallerinaBackend$$Lambda$425+0x0000000800427a70.apply(Ljava/lang/Object;)Ljava/lang/Object; ()
at java.util.HashMap.computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; (HashMap.java:1220)
at io.ballerina.projects.PackageCompilation.getCompilerBackend(Lio/ballerina/projects/CompilerBackend$TargetPlatform;Ljava/util/function/Function;)Lio/ballerina/projects/CompilerBackend; (PackageCompilation.java:179)
at io.ballerina.projects.JBallerinaBackend.from(Lio/ballerina/projects/PackageCompilation;Lio/ballerina/projects/JvmTarget;Z)Lio/ballerina/projects/JBallerinaBackend; (JBallerinaBackend.java:125)
at io.ballerina.projects.JBallerinaBackend.from(Lio/ballerina/projects/PackageCompilation;Lio/ballerina/projects/JvmTarget;)Lio/ballerina/projects/JBallerinaBackend; (JBallerinaBackend.java:113)
at io.ballerina.cli.task.CompileTask.execute(Lio/ballerina/projects/Project;)V (CompileTask.java:216)
at io.ballerina.cli.TaskExecutor.executeTasks(Lio/ballerina/projects/Project;)V (TaskExecutor.java:40)
at io.ballerina.cli.cmd.TestCommand.execute()V (TestCommand.java:377)
at io.ballerina.cli.launcher.Main$$Lambda$47+0x0000000800131210.accept(Ljava/lang/Object;)V ()
at java.util.Optional.ifPresent(Ljava/util/function/Consumer;)V (Optional.java:178)
at io.ballerina.cli.launcher.Main.main([Ljava/lang/String;)V (Main.java:58)
947,983 instances of org.wso2.ballerinalang.compiler.diagnostic.BLangDiagnosticLocation, loaded by jdk.internal.loader.ClassLoaders$AppClassLoader @ 0x7c07390d0 occupy 113,757,984 (10.59%) bytes.
Steps to Reproduce
No response
Affected Version(s)
2201.9.0
OS, DB, other environment details and versions
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response