OutOfMemoryError: GC overhead limit exceeded during autobuild

未关闭
#2,604 5 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
java, kotlin

调研方向

首先检查 gradle.properties 和 autobuild 过程,然后使用所述的 Kotlin、Gradle 和 Java 版本重现 :compileTestKotlin 失败。确定适合 Kotlin daemon 的内存分配,并验证 autobuild 能够在不出现 OutOfMemoryError 的情况下完成。

由索引模型根据 Issue 内容生成。

描述

[2024-11-13 08:18:41] [autobuild] e: java.lang.OutOfMemoryError: GC overhead limit exceeded
  [2024-11-13 08:18:41] [autobuild] 	at java.base/jdk.internal.org.objectweb.asm.SymbolTable.<init>(SymbolTable.java:156)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/jdk.internal.org.objectweb.asm.ClassWriter.<init>(ClassWriter.java:297)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/jdk.internal.org.objectweb.asm.ClassWriter.<init>(ClassWriter.java:267)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.InnerClassLambdaMetafactory.<init>(InnerClassLambdaMetafactory.java:185)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.LambdaMetafactory.metafactory(LambdaMetafactory.java:336)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.LambdaForm$DMH/0x00007f134c091400.invokeStatic(LambdaForm$DMH)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:134)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:316)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:274)
  [2024-11-13 08:18:41] [autobuild] 	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:264)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlinx.serialization.compiler.backend.ir.SerializationJvmIrIntrinsicSupport.<init>(SerializationJvmIrIntrinsicSupport.kt:172)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationLoweringExtension.getPlatformIntrinsicExtension(SerializationLoweringExtension.kt:200)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.invokeLowerings(JvmIrCodegenFactory.kt:345)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.codegen.CodegenFactory.generateModule(CodegenFactory.kt:46)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.generateModuleInFrontendIRMode(JvmIrCodegenFactory.kt:433)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.cli.jvm.compiler.pipeline.JvmCompilerPipelineKt.generateCodeFromIr(jvmCompilerPipeline.kt:246)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.cli.jvm.compiler.pipeline.JvmCompilerPipelineKt.compileModulesUsingFrontendIrAndLightTree(jvmCompilerPipeline.kt:142)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:148)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:43)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:103)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:49)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:464)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:73)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:506)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:423)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:301)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:129)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:675)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:92)
  [2024-11-13 08:18:41] [autobuild] 	at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1660)
  [2024-11-13 08:18:41] [autobuild] FAILURE: Build failed with an exception.
  [2024-11-13 08:18:41] [autobuild] * What went wrong:
  [2024-11-13 08:18:41] [autobuild] Execution failed for task ':compileTestKotlin'.
  [2024-11-13 08:18:41] [autobuild] > A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
  [2024-11-13 08:18:41] [autobuild]    > Not enough memory to run compilation. Try to increase it via 'gradle.properties':
  [2024-11-13 08:18:41] [autobuild]      kotlin.daemon.jvmargs=-Xmx<size>
  [2024-11-13 08:18:41] [autobuild] * Try:
  [2024-11-13 08:18:41] [autobuild] > Run with --info or --debug option to get more log output.
  [2024-11-13 08:18:41] [autobuild] > Run with --scan to get full insights.
  [2024-11-13 08:18:41] [autobuild] > Get more help at https://help.gradle.org.
  [2024-11-13 08:18:41] [autobuild] * Exception is:
  [2024-11-13 08:18:41] [autobuild] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileTestKotlin'.
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
  [2024-11-13 08:18:41] [autobuild] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)

Steps to Reproduce:
Trigger the autobuild process.
Observe the build failure due to OutOfMemoryError.

Expected Behavior:
The build should complete successfully without running out of memory.

Actual Behavior:
The build fails with an OutOfMemoryError.

Suggested Fix:
Increase the memory allocation for the Kotlin daemon in gradle.properties:
kotlin.daemon.jvmargs=-Xmx<size>

Environment:
Kotlin version: 2.0.21
Gradle version: 8.11
Java version: 21

主要语言
TypeScript
星标
1.6k
派生
493
平均合并
1 天 13 小时
30 天内合并 PR
44

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

github/codeql-action 的其他 Issue

查看 github/codeql-action 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。