【发布时间】:2018-08-31 21:34:07
【问题描述】:
我的一个测试任务失败了,并且在任何日志中都没有任何明显的错误消息:
:midonet-cluster:test 失败
FAILURE:构建失败并出现异常。
* 出了什么问题: 任务 ':midonet-cluster:test' 执行失败。
进程“Gradle Test Executor 12”以非零退出值 29 结束
这是堆栈跟踪:
org.gradle.api.tasks.TaskExecutionException:任务“:midonet-cluster:test”执行失败。 [17/1998] 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:98) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:68) 在 org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 在 org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) 在 org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46) 在 org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51) 在 org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) 在 org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 在 org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:236) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228) 在 org.gradle.internal.Transformers$4.transform(Transformers.java:169) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215) 在 org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77) 在 org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58) 在 org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:32) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:113) 在 org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37) 在 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) 在 org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23) 在 org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43) 在 org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) 在 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) 在 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30) 在 org.gradle.initialization.DefaultGradleLauncher$RunTasksAction.execute(DefaultGradleLauncher.java:230) 在 org.gradle.initialization.DefaultGradleLauncher$RunTasksAction.execute(DefaultGradleLauncher.java:227) 在 org.gradle.internal.Transformers$4.transform(Transformers.java:169) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56) 在 org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:161) 在 org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:112) 在 org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:95) 在 org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:66) 在 org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) 在 org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) 在 org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75) 在 org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49) 在 org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:49) 在 org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:31) 在 org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51) 在 org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173) 在 org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:281) 在 org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:254) 在 org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:33) 在 org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24) 在 org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) 在 org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) 在 org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:247) 在 org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:182) 在 org.gradle.launcher.Main.doAction(Main.java:33) 在 org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) 在 org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60) 在 org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37) 在 org.gradle.launcher.GradleMain.main(GradleMain.java:23) 在 org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30) 在 org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127) 在 org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)
原因:org.gradle.process.internal.ExecException:进程“Gradle Test Executor 11”以非零退出值 29 结束 在 org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:369) 在 org.gradle.process.internal.worker.DefaultWorkerProcess.waitForStop(DefaultWorkerProcess.java:190) 在 org.gradle.process.internal.worker.DefaultWorkerProcessBuilder$MemoryRequestingWorkerProcess.waitForStop(DefaultWorkerProcessBuilder.java:228) 在 org.gradle.api.internal.tasks.testing.worker.ForkingTestClassProcessor.stop(ForkingTestClassProcessor.java:122) 在 org.gradle.api.internal.tasks.testing.processors.RestartEveryNTestClassProcessor.endBatch(RestartEveryNTestClassProcessor.java:63) 在 org.gradle.api.internal.tasks.testing.processors.RestartEveryNTestClassProcessor.stop(RestartEveryNTestClassProcessor.java:57) 在 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) 在 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) 在 org.gradle.internal.dispatch.FailureHandlingDispatch.dispatch(FailureHandlingDispatch.java:29) 在 org.gradle.internal.dispatch.AsyncDispatch.dispatchMessages(AsyncDispatch.java:132) 在 org.gradle.internal.dispatch.AsyncDispatch.access$000(AsyncDispatch.java:33) 在 org.gradle.internal.dispatch.AsyncDispatch$1.run(AsyncDispatch.java:72) 在 org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) 在 org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46)
没有失败的测试。
这似乎是一些资源问题,因为当我减少测试数量(通过从测试任务中排除包)时问题消失了。排除哪些测试并不重要。
如果禁用 gradle 守护程序,问题仍然存在。
Gradel 版本是 3.5.1,但 4.5.1 的问题仍然存在。
在调试模式下运行任务不会显示任何新内容。我们可以检查失败的进程移动到“STARTED”状态,然后移动到“FAILED”状态。
这种情况总是发生在具有 80GB RAM 的 ubuntu16.04 机器上,有时也发生在具有 16GB RAM 的 MAC 上。
任何帮助如何解决或调试此问题将不胜感激!
非常感谢。
【问题讨论】: