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

Compose Multiplatform Gradle plugin in buildSrc and convention plugins on GitHub Actions build agents. #4037

Closed
siarhei-luskanau opened this issue Dec 13, 2023 · 5 comments
Labels
bug Something isn't working wait for reply Further information is requested

Comments

@siarhei-luskanau
Copy link

Describe the bug
All Gradle tasks is finished with IsolationException: Could not isolate value error when Compose Multiplatform is used in buildSrc and convention plugins on Github Actions build agents.

Affected platforms
Select one of the platforms below:

  • All

Versions

  • Kotlin version*: 1.9.21
  • Compose Multiplatform version*: 1.6.0-alpha01
  • OS version(s)* (required for Desktop and iOS issues): GitHub Actions build agents (macos-latest and ubuntu-latest), Azure DevOps build agents.
  • OS architecture (x86 or arm64): x86
  • JDK (for desktop issues): 17

To Reproduce

  1. Checkout the https://github.com/siarhei-luskanau/pixabayeye/tree/wizard_convention_plugins
  2. All Gradle tasks are built successfully on local machine
  3. Trigger the GitHub Actions or see the build output https://github.com/siarhei-luskanau/pixabayeye/actions/runs/7189941643/job/19582271277
  4. See error

2023-12-13T02:33:39.3002610Z ##[group]Run gradle/gradle-build-action@v2
2023-12-13T02:33:39.3003250Z with:
2023-12-13T02:33:39.3003940Z   arguments: ciDesktop --stacktrace
2023-12-13T02:33:39.3004700Z   cache-disabled: false
2023-12-13T02:33:39.3005150Z   cache-read-only: true
2023-12-13T02:33:39.3005600Z   cache-write-only: false
2023-12-13T02:33:39.3006180Z   cache-overwrite-existing: false
2023-12-13T02:33:39.3006780Z   gradle-home-cache-includes: caches
notifications

2023-12-13T02:33:39.3007390Z   gradle-home-cache-cleanup: false
2023-12-13T02:33:39.3008020Z   generate-job-summary: true
2023-12-13T02:33:39.3008500Z   dependency-graph: disabled
2023-12-13T02:33:39.3008980Z   gradle-home-cache-strict-match: false
2023-12-13T02:33:39.3009810Z   workflow-job-context: {
  "os": "macos-latest"
}
2023-12-13T02:33:39.3010770Z   github-token: ***
2023-12-13T02:33:39.3011240Z env:
2023-12-13T02:33:39.3012080Z   JAVA_HOME: /Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.9-9/x64/Contents/Home
2023-12-13T02:33:39.3013360Z   JAVA_HOME_17_X64: /Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.9-9/x64/Contents/Home
2023-12-13T02:33:39.3014310Z ##[endgroup]
2023-12-13T02:33:40.8686680Z ##[group]Restore Gradle state from cache
2023-12-13T02:33:41.1157230Z Gradle User Home cache not found. Will initialize empty.
2023-12-13T02:33:41.1257980Z ##[endgroup]
2023-12-13T02:33:41.1361650Z [command]/Users/runner/work/pixabayeye/pixabayeye/gradlew ciDesktop --stacktrace
2023-12-13T02:33:42.0693280Z Downloading https://services.gradle.org/distributions/gradle-8.5-all.zip
2023-12-13T02:33:48.2770700Z ....................10%.....................20%.....................30%.....................40%.....................50%.....................60%....................70%.....................80%.....................90%.....................100%
2023-12-13T02:34:04.7834760Z 
2023-12-13T02:34:04.7936490Z Welcome to Gradle 8.5!
2023-12-13T02:34:04.8036050Z 
2023-12-13T02:34:04.8050840Z Here are the highlights of this release:
2023-12-13T02:34:04.8165940Z  - Support for running on Java 21
2023-12-13T02:34:04.8272100Z  - Faster first use with Kotlin DSL
2023-12-13T02:34:04.8274760Z  - Improved error and warning messages
2023-12-13T02:34:04.8275530Z 
2023-12-13T02:34:04.8279900Z For more details see https://docs.gradle.org/8.5/release-notes.html
2023-12-13T02:34:04.8280460Z 
2023-12-13T02:34:05.4322480Z To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/8.5/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
2023-12-13T02:34:08.1289130Z Daemon will be stopped at the end of the build 
2023-12-13T02:35:21.9079800Z 
2023-12-13T02:35:21.9180720Z > Configure project :
2023-12-13T02:35:21.9281310Z gradle.startParameter.taskNames: [ciDesktop]
2023-12-13T02:35:25.4994720Z w: file:///Users/runner/work/pixabayeye/pixabayeye/ci.gradle.kts:41:51: 'getter for buildDir: File!' is deprecated. Deprecated in Java
2023-12-13T02:35:25.4997880Z w: file:///Users/runner/work/pixabayeye/pixabayeye/ci.gradle.kts:46:20: 'getter for buildDir: File!' is deprecated. Deprecated in Java
2023-12-13T02:35:28.9902270Z 
2023-12-13T02:35:28.9904410Z > Task :convention-plugins:checkKotlinGradlePluginConfigurationErrors
2023-12-13T02:35:37.9006950Z > Task :convention-plugins:generateExternalPluginSpecBuilders
2023-12-13T02:35:38.0021060Z > Task :convention-plugins:extractPrecompiledScriptPluginPlugins
2023-12-13T02:35:40.2797290Z > Task :convention-plugins:compilePluginsBlocks
2023-12-13T02:36:10.3050040Z > Task :convention-plugins:generatePrecompiledScriptPluginAccessors
2023-12-13T02:36:22.7027940Z > Task :convention-plugins:generateScriptPluginAdapters
2023-12-13T02:36:35.2978600Z > Task :convention-plugins:pluginDescriptors
2023-12-13T02:36:35.3080470Z > Task :convention-plugins:processResources
2023-12-13T02:36:52.7571400Z > Task :convention-plugins:compileKotlin
2023-12-13T02:37:14.8818710Z > Task :convention-plugins:compileJava NO-SOURCE
2023-12-13T02:37:14.8920600Z > Task :convention-plugins:classes
2023-12-13T02:37:15.1188090Z > Task :convention-plugins:jar
2023-12-13T02:37:17.4953980Z 
2023-12-13T02:37:17.4955090Z > Configure project :composeApp
2023-12-13T02:37:17.4955710Z 
2023-12-13T02:37:17.4956060Z Please wait while Kotlin/Native compiler 1.9.21 is being installed.
2023-12-13T02:37:17.7794380Z Download https://download.jetbrains.com/kotlin/native/builds/releases/1.9.21/macos-x86_64/kotlin-native-prebuilt-macos-x86_64-1.9.21.tar.gz (333.06 MB)
2023-12-13T02:37:22.6373500Z Download kotlin-native-prebuilt-macos-x86_64-1.9.21.tar.gz finished, took 4 s 899 ms
2023-12-13T02:37:22.6378600Z Unpack Kotlin/Native compiler to /Users/runner/.konan/kotlin-native-prebuilt-macos-x86_64-1.9.21
2023-12-13T02:37:46.4208730Z Unpack Kotlin/Native compiler to /Users/runner/.konan/kotlin-native-prebuilt-macos-x86_64-1.9.21 finished, took 23 s 768 ms
2023-12-13T02:38:13.8996370Z 
2023-12-13T02:38:13.9097370Z > Task :ciDesktop
2023-12-13T02:38:13.9108500Z commandLine: [/Users/runner/work/pixabayeye/pixabayeye/gradlew, :composeApp:jvmJar, --stacktrace]
2023-12-13T02:38:13.9111110Z To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/8.5/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
2023-12-13T02:38:14.3716790Z Daemon will be stopped at the end of the build 
2023-12-13T02:38:23.9546350Z 
2023-12-13T02:38:23.9648800Z > Configure project :
2023-12-13T02:38:23.9750360Z gradle.startParameter.taskNames: [:composeApp:jvmJar]
2023-12-13T02:38:25.4002250Z 
2023-12-13T02:38:25.4103870Z > Task :convention-plugins:checkKotlinGradlePluginConfigurationErrors
2023-12-13T02:38:25.4909200Z > Task :convention-plugins:generateExternalPluginSpecBuilders UP-TO-DATE
2023-12-13T02:38:25.5011500Z > Task :convention-plugins:extractPrecompiledScriptPluginPlugins UP-TO-DATE
2023-12-13T02:38:25.5114630Z > Task :convention-plugins:compilePluginsBlocks UP-TO-DATE
2023-12-13T02:38:26.1118540Z > Task :convention-plugins:generatePrecompiledScriptPluginAccessors UP-TO-DATE
2023-12-13T02:38:26.1220810Z > Task :convention-plugins:generateScriptPluginAdapters UP-TO-DATE
2023-12-13T02:38:26.2729650Z > Task :convention-plugins:compileKotlin UP-TO-DATE
2023-12-13T02:38:26.2831890Z > Task :convention-plugins:compileJava NO-SOURCE
2023-12-13T02:38:26.2932230Z > Task :convention-plugins:pluginDescriptors UP-TO-DATE
2023-12-13T02:38:26.3034240Z > Task :convention-plugins:processResources UP-TO-DATE
2023-12-13T02:38:26.3134560Z > Task :convention-plugins:classes UP-TO-DATE
2023-12-13T02:38:26.3235160Z > Task :convention-plugins:jar UP-TO-DATE
2023-12-13T02:38:34.7902760Z > Task :composeApp:checkKotlinGradlePluginConfigurationErrors
2023-12-13T02:38:52.7116470Z > Task :composeApp:jvmProcessResources NO-SOURCE
2023-12-13T02:39:04.6413440Z > Task :composeApp:compileKotlinJvm
2023-12-13T02:39:04.6451760Z > Task :composeApp:jvmMainClasses
2023-12-13T02:39:04.8326890Z > Task :composeApp:jvmJar
2023-12-13T02:39:04.8328000Z 
2023-12-13T02:39:04.8331430Z Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
2023-12-13T02:39:04.8333220Z 
2023-12-13T02:39:04.8334710Z You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
2023-12-13T02:39:04.8336070Z 
2023-12-13T02:39:04.8337250Z For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
2023-12-13T02:39:04.8338680Z 
2023-12-13T02:39:04.8339520Z BUILD SUCCESSFUL in 52s
2023-12-13T02:39:04.8340460Z 13 actionable tasks: 4 executed, 9 up-to-date
2023-12-13T02:39:06.0225240Z ExecResult: {exitValue=0, failure=null}
2023-12-13T02:39:06.0328670Z Could not stop org.gradle.internal.build.event.DefaultBuildEventsListenerRegistry$ForwardingBuildEventConsumer@1292d98.
2023-12-13T02:39:06.0432120Z org.gradle.internal.snapshot.impl.IsolationException: Could not isolate value org.jetbrains.compose.internal.service.GradlePropertySnapshotService$Parameters_Decorated@7c699b4d of type GradlePropertySnapshotService.Parameters
2023-12-13T02:39:06.0443750Z 	at org.gradle.internal.snapshot.impl.DefaultIsolatableFactory.isolate(DefaultIsolatableFactory.java:51)
2023-12-13T02:39:06.0445350Z 	at org.gradle.api.services.internal.RegisteredBuildServiceProvider.instantiate(RegisteredBuildServiceProvider.java:127)
2023-12-13T02:39:06.0446940Z 	at org.gradle.api.services.internal.RegisteredBuildServiceProvider.getInstance(RegisteredBuildServiceProvider.java:118)
2023-12-13T02:39:06.0448560Z 	at org.gradle.api.services.internal.RegisteredBuildServiceProvider.calculateOwnValue(RegisteredBuildServiceProvider.java:111)
2023-12-13T02:39:06.0450200Z 	at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateOwnPresentValue(AbstractMinimalProvider.java:80)
2023-12-13T02:39:06.0451620Z 	at org.gradle.api.internal.provider.AbstractMinimalProvider.get(AbstractMinimalProvider.java:100)
2023-12-13T02:39:06.0453230Z 	at org.gradle.internal.build.event.DefaultBuildEventsListenerRegistry$ForwardingBuildEventConsumer.handle(DefaultBuildEventsListenerRegistry.java:261)
2023-12-13T02:39:06.0455190Z 	at org.gradle.internal.build.event.DefaultBuildEventsListenerRegistry$ForwardingBuildEventConsumer.handle(DefaultBuildEventsListenerRegistry.java:238)
2023-12-13T02:39:06.0457040Z 	at org.gradle.internal.build.event.DefaultBuildEventsListenerRegistry$AbstractListener.run(DefaultBuildEventsListenerRegistry.java:180)
2023-12-13T02:39:06.0458400Z 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
2023-12-13T02:39:06.0459310Z 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
2023-12-13T02:39:06.0460480Z 	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2023-12-13T02:39:06.0461810Z 	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
2023-12-13T02:39:06.0463030Z 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
2023-12-13T02:39:06.0464170Z 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
2023-12-13T02:39:06.0465010Z 	at java.base/java.lang.Thread.run(Thread.java:840)
2023-12-13T02:39:06.0465830Z Caused by: java.lang.IllegalStateException: BuildScopeServices has been closed.
2023-12-13T02:39:06.0466980Z 	at org.gradle.internal.service.DefaultServiceRegistry.serviceRequested(DefaultServiceRegistry.java:289)
2023-12-13T02:39:06.0468270Z 	at org.gradle.internal.service.DefaultServiceRegistry.getService(DefaultServiceRegistry.java:328)
2023-12-13T02:39:06.0469530Z 	at org.gradle.internal.service.DefaultServiceRegistry.find(DefaultServiceRegistry.java:323)
2023-12-13T02:39:06.0470700Z 	at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:308)
2023-12-13T02:39:06.0472030Z 	at org.gradle.internal.instantiation.generator.ManagedObjectFactory.getObjectFactory(ManagedObjectFactory.java:136)
2023-12-13T02:39:06.0473540Z 	at org.gradle.internal.instantiation.generator.ManagedObjectFactory.newInstance(ManagedObjectFactory.java:111)
2023-12-13T02:39:06.0476160Z 	at org.jetbrains.compose.internal.service.GradlePropertySnapshotService$Parameters_Decorated.getGradlePropertiesCacheKindSnapshot(Unknown Source)
2023-12-13T02:39:06.0477880Z 	at org.jetbrains.compose.internal.service.GradlePropertySnapshotService$Parameters_Decorated.unpackState(Unknown Source)
2023-12-13T02:39:06.0479420Z 	at org.gradle.internal.snapshot.impl.AbstractValueProcessor.processValue(AbstractValueProcessor.java:134)
2023-12-13T02:39:06.0480800Z 	at org.gradle.internal.snapshot.impl.DefaultIsolatableFactory.isolate(DefaultIsolatableFactory.java:49)
2023-12-13T02:39:06.0481660Z 	... 15 more
2023-12-13T02:39:06.1155500Z 
2023-12-13T02:39:06.1157510Z FAILURE: Build failed with an exception.
2023-12-13T02:39:06.1157980Z 
2023-12-13T02:39:06.1158100Z * What went wrong:
2023-12-13T02:39:06.1160210Z Could not isolate value org.jetbrains.compose.internal.service.ConfigurationProblemReporterService$Parameters_Decorated@181383d8 of type ConfigurationProblemReporterService.Parameters
2023-12-13T02:39:06.1161710Z > BuildScopeServices has been closed.
2023-12-13T02:39:06.1162010Z 
2023-12-13T02:39:06.1162110Z * Try:
2023-12-13T02:39:06.1162750Z > Run with --info or --debug option to get more log output.
2023-12-13T02:39:06.1163490Z > Run with --scan to get full insights.
2023-12-13T02:39:06.1163990Z > Get more help at https://help.gradle.org.
2023-12-13T02:39:06.1164340Z 
2023-12-13T02:39:06.1164450Z * Exception is:
2023-12-13T02:39:06.1166060Z org.gradle.internal.snapshot.impl.IsolationException: Could not isolate value org.jetbrains.compose.internal.service.ConfigurationProblemReporterService$Parameters_Decorated@181383d8 of type ConfigurationProblemReporterService.Parameters
2023-12-13T02:39:06.1168260Z 	at org.gradle.internal.snapshot.impl.DefaultIsolatableFactory.isolate(DefaultIsolatableFactory.java:51)
2023-12-13T02:39:06.1169720Z 	at org.gradle.api.services.internal.RegisteredBuildServiceProvider.instantiate(RegisteredBuildServiceProvider.java:127)
2023-12-13T02:39:06.1171320Z 	at org.gradle.api.services.internal.RegisteredBuildServiceProvider.getInstance(RegisteredBuildServiceProvider.java:118)
2023-12-13T02:39:06.1172960Z 	at org.gradle.api.services.internal.RegisteredBuildServiceProvider.calculateOwnValue(RegisteredBuildServiceProvider.java:111)
2023-12-13T02:39:06.1174670Z 	at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateOwnPresentValue(AbstractMinimalProvider.java:80)
2023-12-13T02:39:06.1176090Z 	at org.gradle.api.internal.provider.AbstractMinimalProvider.get(AbstractMinimalProvider.java:100)
2023-12-13T02:39:06.1177700Z 	at org.gradle.internal.build.event.DefaultBuildEventsListenerRegistry$ForwardingBuildEventConsumer.handle(DefaultBuildEventsListenerRegistry.java:261)
2023-12-13T02:39:06.1179640Z 	at org.gradle.internal.build.event.DefaultBuildEventsListenerRegistry$ForwardingBuildEventConsumer.handle(DefaultBuildEventsListenerRegistry.java:238)
2023-12-13T02:39:06.1181600Z 	at org.gradle.internal.build.event.DefaultBuildEventsListenerRegistry$AbstractListener.run(DefaultBuildEventsListenerRegistry.java:180)
2023-12-13T02:39:06.1183080Z 	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2023-12-13T02:39:06.1184300Z 	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
2023-12-13T02:39:06.1185560Z Caused by: java.lang.IllegalStateException: BuildScopeServices has been closed.
2023-12-13T02:39:06.1186690Z 	at org.gradle.internal.service.DefaultServiceRegistry.serviceRequested(DefaultServiceRegistry.java:289)
2023-12-13T02:39:06.1188080Z 	at org.gradle.internal.service.DefaultServiceRegistry.getService(DefaultServiceRegistry.java:328)
2023-12-13T02:39:06.1189320Z 	at org.gradle.internal.service.DefaultServiceRegistry.find(DefaultServiceRegistry.java:323)
2023-12-13T02:39:06.1190440Z 	at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:308)
2023-12-13T02:39:06.1191740Z 	at org.gradle.internal.instantiation.generator.ManagedObjectFactory.getObjectFactory(ManagedObjectFactory.java:136)
2023-12-13T02:39:06.1193630Z 	at org.gradle.internal.instantiation.generator.ManagedObjectFactory.newInstance(ManagedObjectFactory.java:94)
2023-12-13T02:39:06.1195130Z 	at org.jetbrains.compose.internal.service.ConfigurationProblemReporterService$Parameters_Decorated.getWarnings(Unknown Source)
2023-12-13T02:39:06.1196780Z 	at org.jetbrains.compose.internal.service.ConfigurationProblemReporterService$Parameters_Decorated.unpackState(Unknown Source)
2023-12-13T02:39:06.1198260Z 	at org.gradle.internal.snapshot.impl.AbstractValueProcessor.processValue(AbstractValueProcessor.java:134)
2023-12-13T02:39:06.1199590Z 	at org.gradle.internal.snapshot.impl.DefaultIsolatableFactory.isolate(DefaultIsolatableFactory.java:49)
2023-12-13T02:39:06.1200480Z 	... 10 more
2023-12-13T02:39:06.1200660Z 
2023-12-13T02:39:06.1200670Z 
2023-12-13T02:39:06.1201090Z Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
2023-12-13T02:39:06.1202210Z 
2023-12-13T02:39:06.1203130Z You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
2023-12-13T02:39:06.1203970Z 
2023-12-13T02:39:06.1204750Z For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
2023-12-13T02:39:06.1205810Z 11 actionable tasks: 11 executed
2023-12-13T02:39:06.1206070Z 
2023-12-13T02:39:06.1206200Z BUILD FAILED in 5m 24s

Expected behavior
Successful builds on GitHub Actions build agents as builds on local machine

@siarhei-luskanau siarhei-luskanau added bug Something isn't working submitted labels Dec 13, 2023
@terrakok
Copy link
Collaborator

It is a known gradle issue: gradle/gradle#27099
Possible workaround is to run gradle task twice or to configure gradle caches between CI builds.
The reason is during generation gradle static accessors for the convention plugins, Gradle uses a fake project and doesn't run an evaluation phase for them. It affects Compose plugin's build services.
So, the build is successful but the process fails with the error.

To reproduce it locally you may delete a convention-plugins/build directory and run any task.
The second run will be successful.

@terrakok
Copy link
Collaborator

For your specific case a workaround is not to use the compose gradle plugin in the convention plugin and to declare compose libraries direct

@dima-avdeev-jb
Copy link
Contributor

Can you also please try to use this version: 1.6.0-dev1334

@terrakok
Copy link
Collaborator

Oh. Sorry! I found that we made a small fix/warkaround in 1.6.0-dev1334

@dima-avdeev-jb dima-avdeev-jb added wait for reply Further information is requested and removed submitted labels Dec 14, 2023
@siarhei-luskanau
Copy link
Author

Thank you!
I have tried the 1.6.0-dev1334 version.
Gradle tasks was fixed on Github Actions build agents.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working wait for reply Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants