google / ksp

Kotlin Symbol Processing API
https://github.com/google/ksp
Apache License 2.0
2.84k stars 265 forks source link

Applying KSP and KAPT together with Gradle's configuration cache breaks the build #1805

Open dellisd opened 6 months ago

dellisd commented 6 months ago

Example gradle configuration:

plugins {
  id("org.jetbrains.kotlin.android") version "1.9.23"
  id("org.jetbrains.kotlin.kapt") version "1.9.23"
  id("com.google.devtools.ksp") version "1.9.23-1.0.19"
}

When trying to run a build (with configuration caching enabled), the following error happens:

416 problems were found storing the configuration cache, 6 of which seem unique.
- Task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: cannot serialize object of type 'org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer', a subtype of 'org.gradle.api.artifacts.ConfigurationContainer', as these are not supported with the configuration cache.
  See https://docs.gradle.org/8.7/userguide/configuration_cache.html#config_cache:requirements:disallowed_types
- Task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: cannot serialize object of type 'org.gradle.api.internal.artifacts.configurations.DefaultUnlockedConfiguration', a subtype of 'org.gradle.api.artifacts.Configuration', as these are not supported with the configuration cache.
  See https://docs.gradle.org/8.7/userguide/configuration_cache.html#config_cache:requirements:disallowed_types
- Task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: cannot serialize object of type 'org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler', a subtype of 'org.gradle.api.artifacts.dsl.DependencyHandler', as these are not supported with the configuration cache.
  See https://docs.gradle.org/8.7/userguide/configuration_cache.html#config_cache:requirements:disallowed_types
- Task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: cannot serialize object of type 'org.gradle.api.internal.file.DefaultSourceDirectorySet', a subtype of 'org.gradle.api.file.SourceDirectorySet', as these are not supported with the configuration cache.
  See https://docs.gradle.org/8.7/userguide/configuration_cache.html#config_cache:requirements:disallowed_types
- Task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: cannot serialize object of type 'org.gradle.api.internal.project.DefaultProject', a subtype of 'org.gradle.api.Project', as these are not supported with the configuration cache.
  See https://docs.gradle.org/8.7/userguide/configuration_cache.html#config_cache:requirements:disallowed_types
- Task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: cannot serialize object of type 'org.jetbrains.kotlin.gradle.plugin.PropertiesBuildService', a subtype of 'org.gradle.api.services.BuildService', as these are not supported with the configuration cache.
  See https://docs.gradle.org/8.7/userguide/configuration_cache.html#config_cache:requirements:disallowed_types

See the complete report at file:///Users/derekellis/projects/cash-android/build/reports/configuration-cache/d8tcqpc5kyrtwoy3yjinheule/6nn37leyvarze33ysi518yseo/configuration-cache-report.html

FAILURE: Build failed with an exception.

* What went wrong:
Configuration cache state could not be cached: field `compilationCompilerOptions` of `org.jetbrains.kotlin.gradle.plugin.sources.DefaultLanguageSettingsBuilder` bean found in field `languageSettings` of `org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet` bean found in field `configuredKotlinSourceSets` of `org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSetFactory` bean found in field `$factory` of `org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSets$applyKotlinAndroidSourceSetLayout$2` bean found in field `val$action` of `org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1` bean found in field `delegate` of `org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction` bean found in field `actions` of `org.gradle.internal.ImmutableActionSet$SetWithFewActions` bean found in field `addActions` of `org.gradle.api.internal.collections.DefaultCollectionEventRegister` bean found in field `eventRegister` of `org.gradle.api.internal.FactoryNamedDomainObjectContainer` bean found in field `sourceSetsContainer` of `com.android.build.gradle.internal.dependency.SourceSetManager` bean found in field `sourceSetManager` of `com.android.build.gradle.internal.variant.LegacyVariantInputManager` bean found in field `$tmp0` of `com.android.build.gradle.internal.variant.LegacyVariantInputManager$3` bean found in field `val$action` of `org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1` bean found in field `delegate` of `org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction` bean found in field `actions` of `org.gradle.internal.ImmutableActionSet$SetWithFewActions` bean found in field `addActions` of `org.gradle.api.internal.collections.DefaultCollectionEventRegister` bean found in field `eventRegister` of `org.gradle.api.internal.FactoryNamedDomainObjectContainer` bean found in field `buildTypes` of `com.android.build.gradle.internal.dsl.DynamicFeatureExtensionImpl$AgpDecorated` bean found in field `$extension` of `com.android.build.gradle.internal.tasks.factory.BootClasspathConfigImpl$1` bean found in field `isJava8Compatible` of `com.android.build.gradle.internal.tasks.factory.BootClasspathConfigImpl` bean found in field `value` of `kotlin.InitializedLazyImpl` bean found in field `bootClasspathConfig$delegate` of `com.android.build.gradle.internal.plugins.DynamicFeaturePlugin` bean found in field `this$0` of `com.android.build.gradle.internal.plugins.BasePlugin$dslServices$2$1` bean found in field `versionedSdkLoaderServiceProvider` of `com.android.build.gradle.internal.services.DslServicesImpl` bean found in field `dslServices` of `com.android.build.gradle.internal.dsl.PostProcessingBlock` bean found in field `_postProcessing` of `com.android.build.gradle.internal.dsl.BuildType$AgpDecorated` bean found in field `buildTypeObj` of `com.android.build.gradle.internal.core.dsl.impl.features.AndroidResourcesDslInfoImpl` bean found in field `androidResourcesDsl` of `com.android.build.api.component.impl.features.AndroidResourcesCreationConfigImpl` bean found in field `value` of `kotlin.InitializedLazyImpl` bean found in field `androidResourcesCreationConfig$delegate` of `com.android.build.api.component.impl.AndroidTestImpl` bean found in field `androidTest` of `com.android.build.api.variant.impl.DynamicFeatureVariantImpl` bean found in field `delegate` of `com.android.build.api.component.analytics.AnalyticsEnabledDynamicFeatureVariant` bean found in field `capturedArgs` of `java.lang.invoke.SerializedLambda` bean found in field `__commandLineArgumentProviders__` of task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: error writing value of type 'org.jetbrains.kotlin.gradle.utils.FutureImpl'
> Future was not completed yet

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

* Exception is:
org.gradle.configurationcache.ConfigurationCacheError: Configuration cache state could not be cached: field `compilationCompilerOptions` of `org.jetbrains.kotlin.gradle.plugin.sources.DefaultLanguageSettingsBuilder` bean found in field `languageSettings` of `org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet` bean found in field `configuredKotlinSourceSets` of `org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSetFactory` bean found in field `$factory` of `org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSets$applyKotlinAndroidSourceSetLayout$2` bean found in field `val$action` of `org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1` bean found in field `delegate` of `org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction` bean found in field `actions` of `org.gradle.internal.ImmutableActionSet$SetWithFewActions` bean found in field `addActions` of `org.gradle.api.internal.collections.DefaultCollectionEventRegister` bean found in field `eventRegister` of `org.gradle.api.internal.FactoryNamedDomainObjectContainer` bean found in field `sourceSetsContainer` of `com.android.build.gradle.internal.dependency.SourceSetManager` bean found in field `sourceSetManager` of `com.android.build.gradle.internal.variant.LegacyVariantInputManager` bean found in field `$tmp0` of `com.android.build.gradle.internal.variant.LegacyVariantInputManager$3` bean found in field `val$action` of `org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1` bean found in field `delegate` of `org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction` bean found in field `actions` of `org.gradle.internal.ImmutableActionSet$SetWithFewActions` bean found in field `addActions` of `org.gradle.api.internal.collections.DefaultCollectionEventRegister` bean found in field `eventRegister` of `org.gradle.api.internal.FactoryNamedDomainObjectContainer` bean found in field `buildTypes` of `com.android.build.gradle.internal.dsl.DynamicFeatureExtensionImpl$AgpDecorated` bean found in field `$extension` of `com.android.build.gradle.internal.tasks.factory.BootClasspathConfigImpl$1` bean found in field `isJava8Compatible` of `com.android.build.gradle.internal.tasks.factory.BootClasspathConfigImpl` bean found in field `value` of `kotlin.InitializedLazyImpl` bean found in field `bootClasspathConfig$delegate` of `com.android.build.gradle.internal.plugins.DynamicFeaturePlugin` bean found in field `this$0` of `com.android.build.gradle.internal.plugins.BasePlugin$dslServices$2$1` bean found in field `versionedSdkLoaderServiceProvider` of `com.android.build.gradle.internal.services.DslServicesImpl` bean found in field `dslServices` of `com.android.build.gradle.internal.dsl.PostProcessingBlock` bean found in field `_postProcessing` of `com.android.build.gradle.internal.dsl.BuildType$AgpDecorated` bean found in field `buildTypeObj` of `com.android.build.gradle.internal.core.dsl.impl.features.AndroidResourcesDslInfoImpl` bean found in field `androidResourcesDsl` of `com.android.build.api.component.impl.features.AndroidResourcesCreationConfigImpl` bean found in field `value` of `kotlin.InitializedLazyImpl` bean found in field `androidResourcesCreationConfig$delegate` of `com.android.build.api.component.impl.AndroidTestImpl` bean found in field `androidTest` of `com.android.build.api.variant.impl.DynamicFeatureVariantImpl` bean found in field `delegate` of `com.android.build.api.component.analytics.AnalyticsEnabledDynamicFeatureVariant` bean found in field `capturedArgs` of `java.lang.invoke.SerializedLambda` bean found in field `__commandLineArgumentProviders__` of task `:app:kspInternalDebugKotlin` of type `com.google.devtools.ksp.gradle.KspTaskJvm`: error writing value of type 'org.jetbrains.kotlin.gradle.utils.FutureImpl'
    at org.gradle.configurationcache.problems.ProblemsListener$DefaultImpls.onError(ProblemsListener.kt:37)
    at org.gradle.configurationcache.problems.ConfigurationCacheProblems.onError(ConfigurationCacheProblems.kt:38)
    at org.gradle.configurationcache.serialization.AbstractIsolateContext.onError(Contexts.kt:418)
    at org.gradle.configurationcache.serialization.beans.BeanPropertyWriterKt.writeNextProperty(BeanPropertyWriter.kt:100)
    at org.gradle.configurationcache.serialization.beans.BeanPropertyWriter.writeStateOf(BeanPropertyWriter.kt:53)
    at org.gradle.configurationcache.serialization.codecs.BeanCodec.writeBeanOf(BeanCodec.kt:59)
    at org.gradle.configurationcache.serialization.codecs.BeanCodec.encode(BeanCodec.kt:37)
    at org.gradle.configurationcache.serialization.CombinatorsKt$reentrant$1$encodeLoop$1.invokeSuspend(Combinators.kt:144)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115)
    at org.gradle.configurationcache.serialization.CombinatorsKt$reentrant$1.encodeLoop(Combinators.kt:146)
    at org.gradle.configurationcache.serialization.CombinatorsKt$reentrant$1.encode(Combinators.kt:116)
    at org.gradle.configurationcache.serialization.codecs.BindingsBackedCodec.encode(BindingsBackedCodec.kt:52)
    at org.gradle.configurationcache.serialization.DefaultWriteContext.write(Contexts.kt:87)
    at org.gradle.configurationcache.serialization.codecs.NonPrimitiveArrayCodec.encode(ArrayCodecs.kt:45)
    at org.gradle.configurationcache.serialization.codecs.NonPrimitiveArrayCodec.encode(ArrayCodecs.kt:42)
    at org.gradle.configurationcache.serialization.codecs.BindingsBackedCodec.encode(BindingsBackedCodec.kt:52)
    at org.gradle.configurationcache.serialization.DefaultWriteContext.write(Contexts.kt:87)
    at org.gradle.configurationcache.serialization.beans.BeanPropertyWriterKt.writeNextProperty(BeanPropertyWriter.kt:98)
    at org.gradle.configurationcache.serialization.beans.BeanPropertyWriter.writeStateOf(BeanPropertyWriter.kt:53)
    at org.gradle.configurationcache.serialization.CodecKt.encodeBean(Codec.kt:322)
    at org.gradle.configurationcache.serialization.codecs.SerializedLambdaParametersCheckingCodec.encode(SerializedLambdaParametersCheckingCodec.kt:50)
    at org.gradle.configurationcache.serialization.codecs.jos.JavaObjectSerializationCodec$WriteReplaceEncoding.encode(JavaObjectSerializationCodec.kt:162)
    at org.gradle.configurationcache.serialization.codecs.BindingsBackedCodec.encode(BindingsBackedCodec.kt:52)
    at org.gradle.configurationcache.serialization.DefaultWriteContext.write(Contexts.kt:87)
    at org.gradle.configurationcache.serialization.CombinatorsKt.writeCollection(Combinators.kt:233)
    at org.gradle.configurationcache.serialization.codecs.ImmutableListCodec.encode(ImmutableListCodec.kt:30)
    at org.gradle.configurationcache.serialization.codecs.ImmutableListCodec.encode(ImmutableListCodec.kt:27)
    at org.gradle.configurationcache.serialization.codecs.BindingsBackedCodec.encode(BindingsBackedCodec.kt:52)
    at org.gradle.configurationcache.serialization.DefaultWriteContext.write(Contexts.kt:87)
    at org.gradle.configurationcache.serialization.codecs.FixedValueReplacingProviderCodec.encodeValue(ProviderCodecs.kt:104)
    at org.gradle.configurationcache.serialization.codecs.ListPropertyCodec.encode(ProviderCodecs.kt:395)
    at org.gradle.configurationcache.serialization.codecs.ListPropertyCodec.encode(ProviderCodecs.kt:387)
    at org.gradle.configurationcache.serialization.codecs.BindingsBackedCodec.encode(BindingsBackedCodec.kt:52)
    at org.gradle.configurationcache.serialization.DefaultWriteContext.write(Contexts.kt:87)
    at org.gradle.configurationcache.serialization.beans.BeanPropertyWriterKt.writeNextProperty(BeanPropertyWriter.kt:98)
    at org.gradle.configurationcache.serialization.beans.BeanPropertyWriter.writeStateOf(BeanPropertyWriter.kt:53)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodec$writeTask$3$2$1.invokeSuspend(TaskNodeCodec.kt:102)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodec$writeTask$3$2$1.invoke(TaskNodeCodec.kt)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodec$writeTask$3$2$1.invoke(TaskNodeCodec.kt)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodecKt.withTaskOf(TaskNodeCodec.kt:236)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodecKt.access$withTaskOf(TaskNodeCodec.kt:1)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodec.writeTask(TaskNodeCodec.kt:96)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodec.encode(TaskNodeCodec.kt:73)
    at org.gradle.configurationcache.serialization.codecs.TaskNodeCodec.encode(TaskNodeCodec.kt:66)
    at org.gradle.configurationcache.serialization.codecs.BindingsBackedCodec.encode(BindingsBackedCodec.kt:52)
    at org.gradle.configurationcache.serialization.DefaultWriteContext.write(Contexts.kt:87)
    at org.gradle.configurationcache.serialization.codecs.WorkNodeCodec.doWrite(WorkNodeCodec.kt:77)
    at org.gradle.configurationcache.serialization.codecs.WorkNodeCodec.writeWork(WorkNodeCodec.kt:56)
    at org.gradle.configurationcache.ConfigurationCacheState.writeWorkGraphOf(ConfigurationCacheState.kt:486)
    at org.gradle.configurationcache.ConfigurationCacheState.writeBuildContent$configuration_cache(ConfigurationCacheState.kt:447)
    at org.gradle.configurationcache.ConfigurationCacheState.writeBuildState(ConfigurationCacheState.kt:303)
    at org.gradle.configurationcache.ConfigurationCacheState.writeBuildsInTree(ConfigurationCacheState.kt:275)
    at org.gradle.configurationcache.ConfigurationCacheState.writeRootBuild(ConfigurationCacheState.kt:250)
    at org.gradle.configurationcache.ConfigurationCacheState.writeRootBuildState(ConfigurationCacheState.kt:148)
    at org.gradle.configurationcache.ConfigurationCacheIO$writeRootBuildStateTo$1.invokeSuspend(ConfigurationCacheIO.kt:152)
    at org.gradle.configurationcache.ConfigurationCacheIO$writeRootBuildStateTo$1.invoke(ConfigurationCacheIO.kt)
    at org.gradle.configurationcache.ConfigurationCacheIO$writeRootBuildStateTo$1.invoke(ConfigurationCacheIO.kt)
    at org.gradle.configurationcache.ConfigurationCacheIO$writeConfigurationCacheState$3$1.invokeSuspend(ConfigurationCacheIO.kt:204)
    at org.gradle.configurationcache.ConfigurationCacheIO$writeConfigurationCacheState$3$1.invoke(ConfigurationCacheIO.kt)
    at org.gradle.configurationcache.ConfigurationCacheIO$writeConfigurationCacheState$3$1.invoke(ConfigurationCacheIO.kt)
    at org.gradle.configurationcache.serialization.RunningKt$runWriteOperation$1.invokeSuspend(Running.kt:45)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115)
    at org.gradle.configurationcache.serialization.RunningKt.runToCompletion(Running.kt:56)
    at org.gradle.configurationcache.serialization.RunningKt.runWriteOperation(Running.kt:44)
    at org.gradle.configurationcache.ConfigurationCacheIO.writeConfigurationCacheState(ConfigurationCacheIO.kt:203)
    at org.gradle.configurationcache.ConfigurationCacheIO.writeRootBuildStateTo$configuration_cache(ConfigurationCacheIO.kt:150)
    at org.gradle.configurationcache.DefaultConfigurationCache$writeConfigurationCacheState$1.run(DefaultConfigurationCache.kt:415)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withReplacedLocks(DefaultWorkerLeaseService.java:360)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:240)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:233)
    at org.gradle.configurationcache.DefaultConfigurationCache.writeConfigurationCacheState(DefaultConfigurationCache.kt:414)
    at org.gradle.configurationcache.DefaultConfigurationCache.access$writeConfigurationCacheState(DefaultConfigurationCache.kt:56)
    at org.gradle.configurationcache.DefaultConfigurationCache$saveWorkGraph$1.invoke(DefaultConfigurationCache.kt:340)
    at org.gradle.configurationcache.DefaultConfigurationCache$saveWorkGraph$1.invoke(DefaultConfigurationCache.kt:338)
    at org.gradle.configurationcache.DefaultConfigurationCache$saveToCache$1$1.invoke(DefaultConfigurationCache.kt:356)
    at org.gradle.configurationcache.DefaultConfigurationCache$saveToCache$1$1.invoke(DefaultConfigurationCache.kt:353)
    at org.gradle.configurationcache.ConfigurationCacheRepository$StoreImpl$useForStore$1.invoke(ConfigurationCacheRepository.kt:191)
    at org.gradle.configurationcache.ConfigurationCacheRepository$StoreImpl$useForStore$1.invoke(ConfigurationCacheRepository.kt:183)
    at org.gradle.configurationcache.ConfigurationCacheRepository$withExclusiveAccessToCache$1.create(ConfigurationCacheRepository.kt:255)
    at org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess.withFileLock(LockOnDemandCrossProcessCacheAccess.java:90)
    at org.gradle.cache.internal.DefaultCacheCoordinator.withFileLock(DefaultCacheCoordinator.java:219)
    at org.gradle.cache.internal.DefaultPersistentDirectoryStore.withFileLock(DefaultPersistentDirectoryStore.java:163)
    at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.withFileLock(DefaultCacheFactory.java:207)
    at org.gradle.configurationcache.ConfigurationCacheRepository.withExclusiveAccessToCache(ConfigurationCacheRepository.kt:253)
    at org.gradle.configurationcache.ConfigurationCacheRepository.access$withExclusiveAccessToCache(ConfigurationCacheRepository.kt:49)
    at org.gradle.configurationcache.ConfigurationCacheRepository$StoreImpl.useForStore(ConfigurationCacheRepository.kt:183)
    at org.gradle.configurationcache.DefaultConfigurationCache$saveToCache$1.invoke(DefaultConfigurationCache.kt:353)
    at org.gradle.configurationcache.DefaultConfigurationCache$saveToCache$1.invoke(DefaultConfigurationCache.kt:352)
    at org.gradle.configurationcache.ConfigurationCacheBuildOperationsKt$withStoreOperation$1.run(ConfigurationCacheBuildOperations.kt:54)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.configurationcache.ConfigurationCacheBuildOperationsKt.withStoreOperation(ConfigurationCacheBuildOperations.kt:47)
    at org.gradle.configurationcache.DefaultConfigurationCache.saveToCache(DefaultConfigurationCache.kt:352)
    at org.gradle.configurationcache.DefaultConfigurationCache.saveWorkGraph(DefaultConfigurationCache.kt:338)
    at org.gradle.configurationcache.DefaultConfigurationCache.access$saveWorkGraph(DefaultConfigurationCache.kt:56)
    at org.gradle.configurationcache.DefaultConfigurationCache$loadOrScheduleRequestedTasks$1.invoke(DefaultConfigurationCache.kt:144)
    at org.gradle.configurationcache.DefaultConfigurationCache$loadOrScheduleRequestedTasks$1.invoke(DefaultConfigurationCache.kt:142)
    at org.gradle.configurationcache.DefaultConfigurationCache.runWorkThatContributesToCacheEntry(DefaultConfigurationCache.kt:310)
    at org.gradle.configurationcache.DefaultConfigurationCache.loadOrScheduleRequestedTasks(DefaultConfigurationCache.kt:142)
    at org.gradle.configurationcache.ConfigurationCacheAwareBuildTreeWorkController$scheduleAndRunRequestedTasks$executionResult$1.apply(ConfigurationCacheAwareBuildTreeWorkController.kt:45)
    at org.gradle.configurationcache.ConfigurationCacheAwareBuildTreeWorkController$scheduleAndRunRequestedTasks$executionResult$1.apply(ConfigurationCacheAwareBuildTreeWorkController.kt:44)
    at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:112)
    at org.gradle.configurationcache.ConfigurationCacheAwareBuildTreeWorkController.scheduleAndRunRequestedTasks(ConfigurationCacheAwareBuildTreeWorkController.kt:44)
    at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$scheduleAndRunTasks$1(DefaultBuildTreeLifecycleController.java:77)
    at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:120)
    at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:169)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
    at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:169)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
    at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:169)
    at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:117)
    at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:77)
    at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:72)
    at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49)
    at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:65)
    at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:140)
    at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
    at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40)
    at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:123)
    at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40)
    at org.gradle.internal.buildtree.InitDeprecationLoggingActionExecutor.execute(InitDeprecationLoggingActionExecutor.java:66)
    at org.gradle.internal.buildtree.InitProblems.execute(InitProblems.java:36)
    at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40)
    at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:71)
    at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:60)
    at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:71)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
    at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:264)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:128)
    at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36)
    at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:110)
    at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64)
    at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46)
    at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:92)
    at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:80)
    at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:71)
    at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62)
    at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:51)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:39)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
    at org.gradle.util.internal.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:64)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
Caused by: org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle$IllegalLifecycleException: Future was not completed yet
    at org.jetbrains.kotlin.gradle.utils.FutureImpl.getOrThrow(Future.kt:128)
    at org.jetbrains.kotlin.gradle.utils.FutureImpl.writeReplace(Future.kt:135)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.configurationcache.serialization.codecs.jos.JavaObjectSerializationCodec$WriteReplaceEncoding.encode(JavaObjectSerializationCodec.kt:158)
    at org.gradle.configurationcache.serialization.codecs.BindingsBackedCodec.encode(BindingsBackedCodec.kt:52)
    at org.gradle.configurationcache.serialization.DefaultWriteContext.write(Contexts.kt:87)
    at org.gradle.configurationcache.serialization.beans.BeanPropertyWriterKt.writeNextProperty(BeanPropertyWriter.kt:98)
    ... 188 more
hfhbd commented 6 months ago

I think, the root cause is https://youtrack.jetbrains.com/issue/KT-62258: KGP resolves the input during cc phase but shouldn't.