gradle / gradle-profiler

A tool for gathering profiling and benchmarking information for Gradle builds
Apache License 2.0
1.4k stars 155 forks source link

Issue with configuration cache and gradle 8.3 #534

Open Mrkchv opened 9 months ago

Mrkchv commented 9 months ago

We use gradle 8.3 and run gradle profiler with the --cold-daemon option. This works fine if you specify --no-configuration-cache in gradle-args in the scenario file. But without this argument, we get an error with the following stack trace:

org.gradle.tooling.GradleConnectionException: Could not execute build using connection to Gradle installation '/gradle-user-home/wrapper/dists/gradle-8.3-all/7l4m7n5uztxrc35blqyvampg7/gradle-8.3'.
    at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:55)
    at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:43)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:69)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61)
    at java.base/java.lang.Thread.run(Thread.java:833)
    at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
    at org.gradle.tooling.internal.consumer.DefaultBuildLauncher.run(DefaultBuildLauncher.java:83)
    at org.gradle.profiler.gradle.ToolingApiGradleClient.lambda$runTasks$0(ToolingApiGradleClient.java:53)
    at org.gradle.profiler.gradle.ToolingApiGradleClient.run(ToolingApiGradleClient.java:31)
    at org.gradle.profiler.gradle.ToolingApiGradleClient.runOperation(ToolingApiGradleClient.java:44)
    at org.gradle.profiler.gradle.ToolingApiGradleClient.runTasks(ToolingApiGradleClient.java:49)
    at org.gradle.profiler.gradle.RunTasksAction.run(RunTasksAction.java:36)
    at org.gradle.profiler.gradle.GradleInvokerBuildAction.run(GradleInvokerBuildAction.java:14)
    at org.gradle.profiler.gradle.BuildUnderTestInvoker$InvokeAndMeasureAction.run(BuildUnderTestInvoker.java:71)
    at org.gradle.profiler.gradle.BuildUnderTestInvoker$InvokeAndMeasureAction.run(BuildUnderTestInvoker.java:51)
    at org.gradle.profiler.RunBuildStepAction.run(RunBuildStepAction.java:29)
    at org.gradle.profiler.ScenarioInvoker.runMeasured(ScenarioInvoker.java:28)
    at org.gradle.profiler.gradle.GradleScenarioInvoker.run(GradleScenarioInvoker.java:121)
    at org.gradle.profiler.gradle.GradleScenarioInvoker.run(GradleScenarioInvoker.java:23)
    at org.gradle.profiler.Main.invoke(Main.java:140)
    at org.gradle.profiler.Main.run(Main.java:100)
    at org.gradle.profiler.Main.main(Main.java:37)
Caused by: org.gradle.launcher.daemon.client.DaemonConnectionException: Could not receive a message from the daemon.
    at org.gradle.launcher.daemon.client.DaemonClientConnection.receive(DaemonClientConnection.java:83)
    at org.gradle.launcher.daemon.client.DaemonClientConnection.receive(DaemonClientConnection.java:35)
    at org.gradle.launcher.daemon.client.DaemonClient.monitorBuild(DaemonClient.java:233)
    at org.gradle.launcher.daemon.client.DaemonClient.executeBuild(DaemonClient.java:[202]
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:166)
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:98)
    at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:44)
    at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:30)
    at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:56)
    at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:37)
    at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:[224]
    at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:150)
    at org.gradle.tooling.internal.provider.DefaultConnection.getModel(DefaultConnection.java:149)
    at org.gradle.tooling.internal.consumer.connection.CancellableModelBuilderBackedModelProducer.produceModel(CancellableModelBuilderBackedModelProducer.java:54)
    at org.gradle.tooling.internal.consumer.connection.PluginClasspathInjectionSupportedCheckModelProducer.produceModel(PluginClasspathInjectionSupportedCheckModelProducer.java:38)
    at org.gradle.tooling.internal.consumer.connection.AbstractConsumerConnection.run(AbstractConsumerConnection.java:64)
    at org.gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:49)
    at org.gradle.tooling.internal.consumer.DefaultBuildLauncher$1.run(DefaultBuildLauncher.java:97)
    at org.gradle.tooling.internal.consumer.DefaultBuildLauncher$1.run(DefaultBuildLauncher.java:89)
    at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:143)
    at org.gradle.tooling.internal.consumer.connection.CancellableConsumerActionExecutor.run(CancellableConsumerActionExecutor.java:45)
    at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:61)
    at org.gradle.tooling.internal.consumer.connection.RethrowingErrorsConsumerActionExecutor.run(RethrowingErrorsConsumerActionExecutor.java:38)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:67)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.gradle.internal.remote.internal.RecoverableMessageIOException: Could not read message from '/127.0.0.1:44977'.
    at org.gradle.internal.remote.internal.inet.SocketConnection.receive(SocketConnection.java:88)
    at org.gradle.launcher.daemon.client.DaemonClientConnection.receive(DaemonClientConnection.java:77)
    ... 29 more
Caused by: java.io.StreamCorruptedException: invalid type code: 0C
    at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1775)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:514)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:472)
    at org.gradle.internal.serialize.Message.receive(Message.java:53)
    at org.gradle.internal.serialize.BaseSerializerFactory$ThrowableSerializer.read(BaseSerializerFactory.java:316)
    at org.gradle.internal.serialize.BaseSerializerFactory$ThrowableSerializer.read(BaseSerializerFactory.java:313)
    at org.gradle.internal.logging.serializer.LogEventSerializer.read(LogEventSerializer.java:56)
    at org.gradle.internal.logging.serializer.LogEventSerializer.read(LogEventSerializer.java:26)
    at org.gradle.internal.serialize.DefaultSerializerRegistry$TaggedTypeSerializer.read(DefaultSerializerRegistry.java:164)
    at org.gradle.launcher.daemon.protocol.DaemonMessageSerializer$OutputMessageSerializer.read(DaemonMessageSerializer.java:243)
    at org.gradle.launcher.daemon.protocol.DaemonMessageSerializer$OutputMessageSerializer.read(DaemonMessageSerializer.java:[229]
    at org.gradle.internal.serialize.DefaultSerializerRegistry$TaggedTypeSerializer.read(DefaultSerializerRegistry.java:164)
    at org.gradle.internal.serialize.Serializers$StatefulSerializerAdapter$1.read(Serializers.java:36)
    at org.gradle.internal.remote.internal.inet.SocketConnection.receive(SocketConnection.java:81)
    ... 30 more