You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle执行app:run时触发malloc()内存匹配错误求助

Gradle运行Java应用触发malloc错误,退出码134

环境信息

  • Linux Mint 21
  • Java 8(jdk1.8.0_381)
  • Gradle 7.3

复现方式

执行命令:

./gradlew app:run

错误详情

./gradlew app:run

malloc(): mismatching next->prev_size (unsorted)

> Task :app:run FAILED

FAILURE: Build failed with an exception.

* 问题详情:
任务':app:run'执行失败。
> 进程'/home/alexei/.sdkman/candidates/java/jdk1.8.0_381/bin/java'以非零退出码134结束。

* 建议尝试:
> 使用--info或--debug选项获取更多日志输出。
> 使用--scan选项获取完整分析信息。

* 异常栈信息:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:run'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:145)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:143)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:131)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.

解决建议

  • 换JDK版本测试:malloc()错误属于底层内存分配异常,大概率和当前用的JDK 1.8.0_381有关。可以切换到同版本系列的其他小版本(比如1.8.0_371),或者升级到Java 11/17(如果项目允许),再重新运行。
  • 调整JVM内存参数:在项目的build.gradle中给run任务加内存限制,避免内存分配过载:
    tasks.named('run') {
        jvmArgs = ['-Xmx512m', '-Xms256m']
    }
    
  • 清理Gradle缓存:执行./gradlew clean build --refresh-dependencies,清空旧的构建缓存和依赖文件,排除缓存损坏的可能。
  • 检查系统内存:用free -h查看系统剩余内存,确保有足够空间供JVM和Gradle运行,系统内存不足也会触发这类malloc错误。
  • 查看详细日志:按提示执行./gradlew app:run --info或./gradlew app:run --debug,拿到更细的执行日志,定位具体是哪部分代码或依赖出了问题。

内容的提问来源于stack exchange,提问作者Alexei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:14:50