Skip to content

paulk-asert/kubernetes_client_stackoverflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CompileStatic StackOverflow Example with kubernetes-client

run ./gradlew clean compileGroovy -S --no-build-cache to produce the error

Example output

kubernetes_client_stackoverflow$ ./gradlew clean compileGroovy -S --no-build-cache
> Task :compileGroovy FAILED

FAILURE: Build failed with an exception.

* What went wrong:
  Execution failed for task ':compileGroovy'.
> java.lang.StackOverflowError (no error message)

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

* Exception is:
  org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileGroovy'.
  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)
  at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293)
  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128)
  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
  at org.gradle.api.internal.tasks.execution.ProblemsTaskPathTrackingTaskExecuter.execute(ProblemsTaskPathTrackingTaskExecuter.java:41)
  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:74)
  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.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
  at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210)
  at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205)
  at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67)
  at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60)
  at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167)
  at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60)
  at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54)
  at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
  at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
  at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
  at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
  at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
  at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
  at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
  at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
  at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
  at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
  at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
  at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.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 java.base/java.lang.Thread.run(Thread.java:840)
  Caused by: java.lang.StackOverflowError
  at java.base/java.util.HashMap.hash(HashMap.java:338)
  at java.base/java.util.HashMap.getNode(HashMap.java:568)
  at java.base/java.util.HashMap.containsKey(HashMap.java:594)
  at java.base/java.util.Collections$UnmodifiableMap.containsKey(Collections.java:1500)
  at org.codehaus.groovy.classgen.asm.util.TypeUtil.isPrimitiveType(TypeUtil.java:99)
  at org.codehaus.groovy.ast.ClassHelper.isPrimitiveType(ClassHelper.java:379)
  at org.codehaus.groovy.ast.ClassNode.getPlainNodeReference(ClassNode.java:1530)
  at org.codehaus.groovy.ast.ClassNode.getPlainNodeReference(ClassNode.java:1541)
  at org.codehaus.groovy.ast.tools.GenericsUtils.newClass(GenericsUtils.java:318)
  at org.codehaus.groovy.ast.tools.GenericsUtils.makeClassSafe0(GenericsUtils.java:332)
  at org.codehaus.groovy.ast.tools.GenericsUtils.makeClassSafeWithGenerics(GenericsUtils.java:352)
  at org.codehaus.groovy.ast.tools.GenericsUtils.correctToGenericsSpecRecurse(GenericsUtils.java:442)
  at org.codehaus.groovy.ast.tools.GenericsUtils.correctToGenericsSpecRecurse(GenericsUtils.java:371)
  at org.codehaus.groovy.ast.tools.GenericsUtils.extractSuperClassGenerics(GenericsUtils.java:561)
  at org.codehaus.groovy.ast.tools.GenericsUtils.parameterizeType(GenericsUtils.java:294)
  at org.codehaus.groovy.ast.tools.GeneralUtils.addAllInterfaces(GeneralUtils.java:482)
  at org.codehaus.groovy.ast.tools.GeneralUtils.addAllInterfaces(GeneralUtils.java:484)
  at org.codehaus.groovy.ast.tools.GeneralUtils.getInterfacesAndSuperInterfaces(GeneralUtils.java:495)
  at org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:422)
  at org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:210)
  at org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:276)
  at org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:232)
  at org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:276)
  at org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:232)
  at org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:276)
  at org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:232)
  at org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:276)
  at org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:232)
  ...

BUILD FAILED in 1s
2 actionable tasks: 2 executed

Printing out some related variables around line 232 of WideningCategories.java gives:

icn[0/1] = io.fabric8.kubernetes.api.builder.VisitableBuilder<io.fabric8.kubernetes.api.model.batch.v1.Job, io.fabric8.kubernetes.api.model.batch.v1.JobBuilder>
    -> io.fabric8.kubernetes.api.builder.VisitableBuilder<T, V extends io.fabric8.kubernetes.api.builder.VisitableBuilder<T, V>>
a = io.fabric8.kubernetes.api.model.batch.v1.JobBuilder
b = io.fabric8.kubernetes.api.model.PodBuilder
lub = (io.fabric8.kubernetes.api.builder.BaseFluent
    or io.fabric8.kubernetes.api.builder.VisitableBuilder)

icn[0/3] = io.fabric8.kubernetes.api.builder.Editable<io.fabric8.kubernetes.api.model.batch.v1.JobBuilder>
    -> io.fabric8.kubernetes.api.builder.Editable<T>
a = io.fabric8.kubernetes.api.model.batch.v1.Job
b = io.fabric8.kubernetes.api.model.Pod
lub = (io.fabric8.kubernetes.api.builder.Editable
    or io.fabric8.kubernetes.api.model.HasMetadata
    or io.fabric8.kubernetes.api.model.Namespaced)

... repeats ...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages