Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Build Hangs in Gradle 4.0.0+ #2415

Closed
rwinch opened this issue Jul 7, 2017 · 12 comments
Closed

The Build Hangs in Gradle 4.0.0+ #2415

rwinch opened this issue Jul 7, 2017 · 12 comments
Assignees
Milestone

Comments

@rwinch
Copy link

rwinch commented Jul 7, 2017

Expected Behavior

The build should consistently complete.

Current Behavior

Frequently, but not consistently, the Spring Session build will hang.

It is worth mentioning that we had been using Gradle 4.0 since June 16th and did not start experiencing issues until two days ago. Now the issues are rather consistent in both our Jenkins and Travis builds. I have reverted to Gradle 3.5 and that appears to have fixed the issue.

NOTE: You can find a YourKit SNAPSHOT of the build hanging in Gradle 4.0.1 at https://github.com/rwinch/gradle-gh-2415

Here is a Thread dump of it hanging with Gradle 4.0.

main State: WAITING CPU usage on sample: 0ms
sun.misc.Unsafe.park(boolean, long) Unsafe.java (native)
java.util.concurrent.locks.LockSupport.park(Object) LockSupport.java:175
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await() AbstractQueuedSynchronizer.java:2039
org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion() DefaultBuildOperationQueue.java:105
org.gradle.internal.progress.DefaultBuildOperationExecutor.executeInParallel(BuildOperationQueue$QueueWorker, Action) DefaultBuildOperationExecutor.java:144
org.gradle.internal.progress.DefaultBuildOperationExecutor.runAll(Action) DefaultBuildOperationExecutor.java:115
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.downloadMetadataConcurrently(DependencyGraphBuilder$NodeState, List) DependencyGraphBuilder.java:233
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.resolveEdges(DependencyGraphBuilder$NodeState, List, List, DependencyGraphBuilder$ResolveState, Map) DependencyGraphBuilder.java:212
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder$ResolveState) DependencyGraphBuilder.java:148
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.resolve(ResolveContext, DependencyGraphVisitor) DependencyGraphBuilder.java:121
org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve(ResolveContext, List, GlobalDependencyResolutionRules, Spec, DependencyGraphVisitor, DependencyArtifactsVisitor, AttributesSchemaInternal, ArtifactTypeRegistry) DefaultArtifactDependencyResolver.java:86
org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveGraph(ConfigurationInternal, ResolverResults) DefaultConfigurationResolver.java:138
org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveGraph(ConfigurationInternal, ResolverResults) ShortCircuitEmptyConfigurationResolver.java:73
org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph(ConfigurationInternal, ResolverResults) ErrorHandlingConfigurationResolver.java:66
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$4.run(BuildOperationContext) DefaultConfiguration.java:469
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphIfRequired(ConfigurationInternal$InternalState) DefaultConfiguration.java:461
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(ConfigurationInternal$InternalState) DefaultConfiguration.java:437
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getResolvedConfiguration() DefaultConfiguration.java:429
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getResolvedConfiguration()
io.spring.gradle.dependencymanagement.internal.maven.MavenPomResolver.resolvePoms(List, PropertySource) MavenPomResolver.java:83
io.spring.gradle.dependencymanagement.internal.DependencyManagement.resolve() DependencyManagement.java:179
io.spring.gradle.dependencymanagement.internal.DependencyManagement.resolveIfNecessary() DependencyManagement.java:149
io.spring.gradle.dependencymanagement.internal.DependencyManagement.getManagedVersions() DependencyManagement.java:117
io.spring.gradle.dependencymanagement.internal.DependencyManagementContainer.getManagedVersionsForConfiguration(Configuration, boolean) DependencyManagementContainer.java:202
io.spring.gradle.dependencymanagement.internal.DependencyManagementContainer.getManagedVersionsForConfiguration(Configuration) DependencyManagementContainer.java:187
io.spring.gradle.dependencymanagement.internal.dsl.StandardDependencyManagementExtension.getManagedVersions() StandardDependencyManagementExtension.java:101
sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) NativeMethodAccessorImpl.java (native)
sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[]) NativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[]) DelegatingMethodAccessorImpl.java:43
java.lang.reflect.Method.invoke(Object, Object[]) Method.java:498
org.codehaus.groovy.reflection.CachedMethod.invoke(Object, Object[]) CachedMethod.java:93
groovy.lang.MetaMethod.doMethodInvoke(Object, Object[]) MetaMethod.java:325
groovy.lang.MetaClassImpl.getProperty(Class, Object, String, boolean, boolean) MetaClassImpl.java:1850
groovy.lang.MetaClassImpl.getProperty(Object, String) MetaClassImpl.java:3758
groovy.lang.GroovyObjectSupport.getProperty(String) GroovyObjectSupport.java:38
org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(Object) PogoGetPropertySite.java:50
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Object) AbstractCallSite.java:296
spring_session_docs_99modz4aehlcq48wzkmbs9da.run() /home/rwinch/code/spring-projects/spring-session/docs/spring-session-docs.gradle:25
org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(Object, ServiceRegistry) DefaultScriptRunnerFactory.java:90
org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run() DefaultScriptPluginFactory.java:187
org.gradle.configuration.ProjectScriptTarget.addConfiguration(Runnable, boolean) ProjectScriptTarget.java:77
org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(Object) DefaultScriptPluginFactory.java:192
org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationContext) BuildOperationScriptPlugin.java:61
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.configuration.BuildOperationScriptPlugin.apply(Object) BuildOperationScriptPlugin.java:58
org.gradle.configuration.project.BuildScriptProcessor.execute(ProjectInternal) BuildScriptProcessor.java:39
org.gradle.configuration.project.BuildScriptProcessor.execute(Object) BuildScriptProcessor.java:26
org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ProjectInternal, ProjectStateInternal) ConfigureActionsProjectEvaluator.java:34
org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(ProjectInternal, ProjectStateInternal) LifecycleProjectEvaluator.java:63
org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator, ProjectInternal, ProjectStateInternal) LifecycleProjectEvaluator.java:33
org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(BuildOperationContext) LifecycleProjectEvaluator.java:103
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(ProjectInternal, ProjectStateInternal) LifecycleProjectEvaluator.java:49
org.gradle.api.internal.project.DefaultProject.evaluate() DefaultProject.java:654
org.gradle.api.internal.project.DefaultProject.evaluate() DefaultProject.java:132
org.gradle.execution.TaskPathProjectEvaluator.configure(ProjectInternal) TaskPathProjectEvaluator.java:35
org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(ProjectInternal) TaskPathProjectEvaluator.java:62
org.gradle.configuration.DefaultBuildConfigurer.configure(GradleInternal) DefaultBuildConfigurer.java:38
org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(BuildOperationContext) DefaultGradleLauncher.java:195
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher$Stage) DefaultGradleLauncher.java:157
org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher, DefaultGradleLauncher$Stage) DefaultGradleLauncher.java:44
org.gradle.initialization.DefaultGradleLauncher$1.run() DefaultGradleLauncher.java:122
org.gradle.internal.work.DefaultWorkerLeaseService$2.execute(Runnable) DefaultWorkerLeaseService.java:124
org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher$Stage) DefaultGradleLauncher.java:116
org.gradle.initialization.DefaultGradleLauncher.run() DefaultGradleLauncher.java:99
org.gradle.launcher.exec.GradleBuildController.run() GradleBuildController.java:66
org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(BuildAction, BuildController) ExecuteBuildActionRunner.java:28
org.gradle.launcher.exec.ChainingBuildActionRunner.run(BuildAction, BuildController) ChainingBuildActionRunner.java:35
org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(BuildAction, BuildController) ValidatingBuildActionRunner.java:32
org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(BuildOperationContext) RunAsBuildOperationBuildActionRunner.java:43
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(BuildAction, BuildController) RunAsBuildOperationBuildActionRunner.java:40
org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(BuildAction, BuildController) SubscribableBuildActionRunner.java:51
org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) InProcessBuildActionExecuter.java:44
org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) InProcessBuildActionExecuter.java:28
org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) ContinuousBuildActionExecuter.java:75
org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) ContinuousBuildActionExecuter.java:49
org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) ServicesSetupBuildActionExecuter.java:51
org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) ServicesSetupBuildActionExecuter.java:32
org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) GradleThreadBuildActionExecuter.java:36
org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) GradleThreadBuildActionExecuter.java:25
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) StartParamsValidatingActionExecuter.java:64
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) StartParamsValidatingActionExecuter.java:29
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) SessionFailureReportingActionExecuter.java:55
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) SessionFailureReportingActionExecuter.java:42
org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) SetupLoggingActionExecuter.java:50
org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) SetupLoggingActionExecuter.java:30
org.gradle.launcher.cli.RunBuildAction.run() RunBuildAction.java:51
org.gradle.internal.Actions$RunnableActionAdapter.execute(Object) Actions.java:173
org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(ExecutionListener) CommandLineActionFactory.java:287
org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(Object) CommandLineActionFactory.java:260
org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(ExecutionListener) JavaRuntimeValidationAction.java:33
org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(Object) JavaRuntimeValidationAction.java:24
org.gradle.launcher.cli.ExceptionReportingAction.execute(ExecutionListener) ExceptionReportingAction.java:33
org.gradle.launcher.cli.ExceptionReportingAction.execute(Object) ExceptionReportingAction.java:22
org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(ExecutionListener) CommandLineActionFactory.java:253
org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(Object) CommandLineActionFactory.java:182
org.gradle.launcher.Main.doAction(String[], ExecutionListener) Main.java:33
org.gradle.launcher.bootstrap.EntryPoint.run(String[]) EntryPoint.java:45
sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) NativeMethodAccessorImpl.java (native)
sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[]) NativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[]) DelegatingMethodAccessorImpl.java:43
java.lang.reflect.Method.invoke(Object, Object[]) Method.java:498
org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(String, String[]) ProcessBootstrap.java:60
org.gradle.launcher.bootstrap.ProcessBootstrap.run(String, String[]) ProcessBootstrap.java:37
org.gradle.launcher.GradleMain.main(String[]) GradleMain.java:23
sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) NativeMethodAccessorImpl.java (native)
sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[]) NativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[]) DelegatingMethodAccessorImpl.java:43
java.lang.reflect.Method.invoke(Object, Object[]) Method.java:498
org.gradle.wrapper.BootstrapMainStarter.start(String[], File) BootstrapMainStarter.java:31
org.gradle.wrapper.WrapperExecutor.execute(String[], Install, BootstrapMainStarter) WrapperExecutor.java:108
org.gradle.wrapper.GradleWrapperMain.main(String[]) GradleWrapperMain.java:61

Here is a dump from 4.0.1

Stacks at 2017-07-07 12:18:05 PM. Uptime is 6m 46s 700ms.

main State: WAITING CPU usage on sample: 0ms
sun.misc.Unsafe.park(boolean, long) Unsafe.java (native)
java.util.concurrent.locks.LockSupport.park(Object) LockSupport.java:175
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await() AbstractQueuedSynchronizer.java:2039
org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion() DefaultBuildOperationQueue.java:105
org.gradle.internal.progress.DefaultBuildOperationExecutor.executeInParallel(BuildOperationQueue$QueueWorker, Action) DefaultBuildOperationExecutor.java:144
org.gradle.internal.progress.DefaultBuildOperationExecutor.runAll(Action) DefaultBuildOperationExecutor.java:115
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.downloadMetadataConcurrently(DependencyGraphBuilder$NodeState, List) DependencyGraphBuilder.java:233
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.resolveEdges(DependencyGraphBuilder$NodeState, List, List, DependencyGraphBuilder$ResolveState, Map) DependencyGraphBuilder.java:212
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder$ResolveState) DependencyGraphBuilder.java:148
org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.resolve(ResolveContext, DependencyGraphVisitor) DependencyGraphBuilder.java:121
org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve(ResolveContext, List, GlobalDependencyResolutionRules, Spec, DependencyGraphVisitor, DependencyArtifactsVisitor, AttributesSchemaInternal, ArtifactTypeRegistry) DefaultArtifactDependencyResolver.java:86
org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveGraph(ConfigurationInternal, ResolverResults) DefaultConfigurationResolver.java:138
org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveGraph(ConfigurationInternal, ResolverResults) ShortCircuitEmptyConfigurationResolver.java:73
org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph(ConfigurationInternal, ResolverResults) ErrorHandlingConfigurationResolver.java:66
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$4.run(BuildOperationContext) DefaultConfiguration.java:469
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphIfRequired(ConfigurationInternal$InternalState) DefaultConfiguration.java:461
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(ConfigurationInternal$InternalState) DefaultConfiguration.java:437
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getResolvedConfiguration() DefaultConfiguration.java:429
org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getResolvedConfiguration()
io.spring.gradle.dependencymanagement.internal.maven.MavenPomResolver.resolvePoms(List, PropertySource) MavenPomResolver.java:83
io.spring.gradle.dependencymanagement.internal.DependencyManagement.resolve() DependencyManagement.java:179
io.spring.gradle.dependencymanagement.internal.DependencyManagement.resolveIfNecessary() DependencyManagement.java:149
io.spring.gradle.dependencymanagement.internal.DependencyManagement.getManagedVersions() DependencyManagement.java:117
io.spring.gradle.dependencymanagement.internal.DependencyManagementContainer.getManagedVersionsForConfiguration(Configuration, boolean) DependencyManagementContainer.java:202
io.spring.gradle.dependencymanagement.internal.DependencyManagementContainer.getManagedVersionsForConfiguration(Configuration) DependencyManagementContainer.java:187
io.spring.gradle.dependencymanagement.internal.dsl.StandardDependencyManagementExtension.getManagedVersions() StandardDependencyManagementExtension.java:101
sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) NativeMethodAccessorImpl.java (native)
sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[]) NativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[]) DelegatingMethodAccessorImpl.java:43
java.lang.reflect.Method.invoke(Object, Object[]) Method.java:498
org.codehaus.groovy.reflection.CachedMethod.invoke(Object, Object[]) CachedMethod.java:93
groovy.lang.MetaMethod.doMethodInvoke(Object, Object[]) MetaMethod.java:325
groovy.lang.MetaClassImpl.getProperty(Class, Object, String, boolean, boolean) MetaClassImpl.java:1850
groovy.lang.MetaClassImpl.getProperty(Object, String) MetaClassImpl.java:3758
groovy.lang.GroovyObjectSupport.getProperty(String) GroovyObjectSupport.java:38
org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(Object) PogoGetPropertySite.java:50
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Object) AbstractCallSite.java:296
spring_session_docs_99modz4aehlcq48wzkmbs9da.run() /home/rwinch/code/spring-projects/spring-session/docs/spring-session-docs.gradle:25
org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(Object, ServiceRegistry) DefaultScriptRunnerFactory.java:90
org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run() DefaultScriptPluginFactory.java:187
org.gradle.configuration.ProjectScriptTarget.addConfiguration(Runnable, boolean) ProjectScriptTarget.java:77
org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(Object) DefaultScriptPluginFactory.java:192
org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationContext) BuildOperationScriptPlugin.java:61
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.configuration.BuildOperationScriptPlugin.apply(Object) BuildOperationScriptPlugin.java:58
org.gradle.configuration.project.BuildScriptProcessor.execute(ProjectInternal) BuildScriptProcessor.java:39
org.gradle.configuration.project.BuildScriptProcessor.execute(Object) BuildScriptProcessor.java:26
org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ProjectInternal, ProjectStateInternal) ConfigureActionsProjectEvaluator.java:34
org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(ProjectInternal, ProjectStateInternal) LifecycleProjectEvaluator.java:63
org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator, ProjectInternal, ProjectStateInternal) LifecycleProjectEvaluator.java:33
org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(BuildOperationContext) LifecycleProjectEvaluator.java:103
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(ProjectInternal, ProjectStateInternal) LifecycleProjectEvaluator.java:49
org.gradle.api.internal.project.DefaultProject.evaluate() DefaultProject.java:654
org.gradle.api.internal.project.DefaultProject.evaluate() DefaultProject.java:132
org.gradle.execution.TaskPathProjectEvaluator.configure(ProjectInternal) TaskPathProjectEvaluator.java:35
org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(ProjectInternal) TaskPathProjectEvaluator.java:62
org.gradle.configuration.DefaultBuildConfigurer.configure(GradleInternal) DefaultBuildConfigurer.java:38
org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(BuildOperationContext) DefaultGradleLauncher.java:195
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher$Stage) DefaultGradleLauncher.java:157
org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher, DefaultGradleLauncher$Stage) DefaultGradleLauncher.java:44
org.gradle.initialization.DefaultGradleLauncher$1.run() DefaultGradleLauncher.java:122
org.gradle.internal.work.DefaultWorkerLeaseService$2.execute(Runnable) DefaultWorkerLeaseService.java:124
org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher$Stage) DefaultGradleLauncher.java:116
org.gradle.initialization.DefaultGradleLauncher.run() DefaultGradleLauncher.java:99
org.gradle.launcher.exec.GradleBuildController.run() GradleBuildController.java:66
org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(BuildAction, BuildController) ExecuteBuildActionRunner.java:28
org.gradle.launcher.exec.ChainingBuildActionRunner.run(BuildAction, BuildController) ChainingBuildActionRunner.java:35
org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(BuildAction, BuildController) ValidatingBuildActionRunner.java:32
org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(BuildOperationContext) RunAsBuildOperationBuildActionRunner.java:43
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(RunnableBuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:317
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(BuildOperation, BuildOperationContext) DefaultBuildOperationExecutor.java:309
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(BuildOperation, BuildOperationWorker, DefaultBuildOperationExecutor$DefaultBuildOperationState) DefaultBuildOperationExecutor.java:185
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(RunnableBuildOperation) DefaultBuildOperationExecutor.java:95
org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(BuildAction, BuildController) RunAsBuildOperationBuildActionRunner.java:40
org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(BuildAction, BuildController) SubscribableBuildActionRunner.java:51
org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) InProcessBuildActionExecuter.java:44
org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) InProcessBuildActionExecuter.java:28
org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) ContinuousBuildActionExecuter.java:75
org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) ContinuousBuildActionExecuter.java:49
org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) ServicesSetupBuildActionExecuter.java:51
org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) ServicesSetupBuildActionExecuter.java:32
org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) GradleThreadBuildActionExecuter.java:36
org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) GradleThreadBuildActionExecuter.java:25
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) StartParamsValidatingActionExecuter.java:64
org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) StartParamsValidatingActionExecuter.java:29
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) SessionFailureReportingActionExecuter.java:55
org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) SessionFailureReportingActionExecuter.java:42
org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(BuildAction, BuildRequestContext, BuildActionParameters, ServiceRegistry) SetupLoggingActionExecuter.java:50
org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(BuildAction, BuildRequestContext, Object, ServiceRegistry) SetupLoggingActionExecuter.java:30
org.gradle.launcher.cli.RunBuildAction.run() RunBuildAction.java:51
org.gradle.internal.Actions$RunnableActionAdapter.execute(Object) Actions.java:173
org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(ExecutionListener) CommandLineActionFactory.java:287
org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(Object) CommandLineActionFactory.java:260
org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(ExecutionListener) JavaRuntimeValidationAction.java:33
org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(Object) JavaRuntimeValidationAction.java:24
org.gradle.launcher.cli.ExceptionReportingAction.execute(ExecutionListener) ExceptionReportingAction.java:33
org.gradle.launcher.cli.ExceptionReportingAction.execute(Object) ExceptionReportingAction.java:22
org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(ExecutionListener) CommandLineActionFactory.java:253
org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(Object) CommandLineActionFactory.java:182
org.gradle.launcher.Main.doAction(String[], ExecutionListener) Main.java:33
org.gradle.launcher.bootstrap.EntryPoint.run(String[]) EntryPoint.java:45
sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) NativeMethodAccessorImpl.java (native)
sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[]) NativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[]) DelegatingMethodAccessorImpl.java:43
java.lang.reflect.Method.invoke(Object, Object[]) Method.java:498
org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(String, String[]) ProcessBootstrap.java:60
org.gradle.launcher.bootstrap.ProcessBootstrap.run(String, String[]) ProcessBootstrap.java:37
org.gradle.launcher.GradleMain.main(String[]) GradleMain.java:23
sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) NativeMethodAccessorImpl.java (native)
sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[]) NativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[]) DelegatingMethodAccessorImpl.java:43
java.lang.reflect.Method.invoke(Object, Object[]) Method.java:498
org.gradle.wrapper.BootstrapMainStarter.start(String[], File) BootstrapMainStarter.java:31
org.gradle.wrapper.WrapperExecutor.execute(String[], Install, BootstrapMainStarter) WrapperExecutor.java:108
org.gradle.wrapper.GradleWrapperMain.main(String[]) GradleWrapperMain.java:61

Context

Steps to Reproduce (for bugs)

Your Environment

You can reproduce the issue by running the following command

./gradlew clean check  --refresh-dependencies --no-daemon

on 5845a9c46a98d77cb72354db9788278f1d4b4dbd from master in https://github.com/spring-projects/spring-session

You can also update to Gradle 4.0.1 from the version above and the build will still hang.

./gradlew --version

------------------------------------------------------------
Gradle 4.0.1
------------------------------------------------------------

Build time:   2017-07-07 14:02:41 UTC
Revision:     38e5dc0f772daecca1d2681885d3d85414eb6826

Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_121 (Oracle Corporation 25.121-b13)
OS:           Linux 4.8.0-56-generic amd64
@rwinch rwinch changed the title Gradle 4.0.0+ Cause Build to Hang The Build Hangs in Gradle 4.0.0+ Jul 7, 2017
@eriwen
Copy link
Contributor

eriwen commented Jul 7, 2017

@rwinch Can you share your gradle configuration? For example, are you using --parallel or the build cache? One easy way to collect all this info is with a build scan.

@rwinch
Copy link
Author

rwinch commented Jul 7, 2017

@eriwen Thanks for the fast response. I'm not sure I follow. I provided the command I am running with (perhaps it was just missed). You can find it again below

./gradlew clean check  --refresh-dependencies --no-daemon

My gradle build files are in GitHub.

Is there something else you were looking for?

@eriwen
Copy link
Contributor

eriwen commented Jul 7, 2017

@rwinch No, thank you :) — and thanks again for the profiler snapshot. It seems that @oehme may have pinpointed the issue already.

Stay tuned for fix progress, and thanks again!

@eriwen
Copy link
Contributor

eriwen commented Jul 7, 2017

@rwinch BTW, just for future reference, you can have configuration in ~/gradle.properties or <project_dir>/gradle.properties that affects the execution like:

org.gradle.parallel=true
org.gradle.workers.max=4
org.gradle.configure_on_demand=true

That's the kind of thing we'd want to know. Note that in this case it's not important since we think we know what the issue is

@rwinch
Copy link
Author

rwinch commented Jul 7, 2017

@eriwen Thanks for letting me know. Just so all information is present...

I do not have a ~/.gradle/gradle.properties (I'm guessing that is what you meant).

I also do not have an ~/.gradle/init.gradle

@eriwen
Copy link
Contributor

eriwen commented Jul 7, 2017

Got it. Sorry, you're right about the paths.

@rwinch
Copy link
Author

rwinch commented Jul 7, 2017

No worries...just making sure I'm not missing something :-D

Thanks again for the awesome response times!

@melix
Copy link
Contributor

melix commented Jul 10, 2017

@rwinch I wasn't able to reproduce the problem with your test project, however I did manage to write an integration test which exhibits the same behavior. If possible, would you mind testing if your problem is solved using this branch ?

You should be able to create a distribution running:

/gradlew --parallel install -Pgradle_installPath=/path/where/to/install

@rwinch
Copy link
Author

rwinch commented Jul 10, 2017

@melix Thanks for the response!

Sadly I'm currently unable to reproduce the issue using Gradle 4.0.1 either. As I mentioned in the description, this was running from June 16th till late last week without issues. So I suspect something must have changed around that time frame. My guess is that the bug combined with perhaps a slow repo.spring.io was triggering the issue to occur. If that was the case, perhaps repo.spring.io is now back "up to speed" and thus the issue cannot be reproduced?

Given I cannot currently reproduce the issue, I'm (unfortunately) not in a better position to verify this has been fixed. Based on your description of what you fixed, it does appear that you figure out the issue. I did also run your branch against my build a number of times and it appears to be working as well.

Thanks again for the fast fix and I hope this helps.

@melix
Copy link
Contributor

melix commented Jul 10, 2017

No worries, thanks Rob. I found that timing has to be very specific to trigger the problem (learnt it the hard way trying to write a test to reproduce it ;)). So I'm not surprised that the issue has "gone". However the PR does fix a problem so I'll just go ahead and merge. Thanks for your feedback!

@rwinch
Copy link
Author

rwinch commented Jul 10, 2017

@melix Thanks!

For what it's worth....I'll leave up to the Gradle team to decide to close or not, but from my perspective this ticket can be closed. If I encounter an issue again I can always create a new ticket.

Thanks again for the awesome turnaround!

@eriwen
Copy link
Contributor

eriwen commented Jul 11, 2017

A fix has been committed by @melix. This will definitely be in the next minor release of Gradle, if not in a patch release.

@eriwen eriwen closed this as completed Jul 11, 2017
@jjohannes jjohannes modified the milestones: 4.0.2, 4.1 RC1 Jul 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants