intellij-platform-gradle-plugin icon indicating copy to clipboard operation
intellij-platform-gradle-plugin copied to clipboard

1.16.0 breaks native library loading

Open jansorg opened this issue 2 years ago • 0 comments

What happened?

After updating from 1.15.0 to 1.16.0 a GitHub Actions Workflow started to fail. SDK: IC-2023.2, also tested with IC-2023.1 Java Runtime: JetBrains Runtime 17, installed on GitHub Actions

Tests are passing locally, so it's perhaps related to the environment or setup of the GitHub Actions runner. It's consistently failing with 1.16.0 and passing with 1.15.0.

The cut-off classpath (last element /home/runner/.gradle/caches/modul) seems supicious to me (see log below).

Relevant log output or stack trace

Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path (/home/runner/.gradle/caches/7.6/workerMain/gradle-worker.jar:/home/runner/work/bashsupport-pro/bashsupport-pro/build/classes/java/test:/home/runner/work/bashsupport-pro/bashsupport-pro/build/classes/kotlin/test:/home/runner/work/bashsupport-pro/bashsupport-pro/build/resources/test:/home/runner/work/bashsupport-pro/bashsupport-pro/build/classes/java/main:/home/runner/work/bashsupport-pro/bashsupport-pro/build/classes/kotlin/main:/home/runner/work/bashsupport-pro/bashsupport-pro/build/resources/main:/home/runner/work/bashsupport-pro/bashsupport-pro/libs/pty4j-bashsupport-0.12.8-bashpro.jar:/home/runner/.gradle/caches/modules-2/files-2.1/io.sentry/sentry/6.29.0/3a2fa2b5faded0956872daf262dd026dfba3f895/sentry-6.29.0.jar:/home/runner/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/24.0.1/13c5c75c4206580aa4d683bffee658caae6c9f43/annotations-24.0.1.jar:/home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2023.2/26a4bf0a5c959ecd024f48fa6d3b53c4741fdb8e/ideaIC-2023.2/lib/app-client.jar:/home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2023.2/26a4bf0a5c959ecd024f48fa6d3b53c4741fdb8e/ideaIC-2023.2/lib/app.jar:/home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2023.2/26a4bf0a5c959ecd024f48fa6d3b53c4741fdb8e/ideaIC-2023.2/lib/bouncy-castle.jar:/home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2023.2/26a4bf0a5c959ecd024f48fa6d3b53c4741fdb8e/ideaIC-2023.2/lib/byte-buddy-agent.jar:/home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2023.2/26a4bf0a5c959ecd024f48fa6d3b53c4741fdb8e/ideaIC-2023.2/lib/error-prone-annotations.jar:/home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2023.2/26a4bf0a5c959ecd024f48fa6d3b53c4741fdb8e/ideaIC-2023.2/lib/external-system-rt.jar:/home/runner/.gradle/caches/modul
	at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1059)
	at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:1015)
	at com.sun.jna.Native.<clinit>(Native.java:221)
	at com.intellij.jna.JnaLoader.load(JnaLoader.java:19)
	at com.intellij.jna.JnaLoader.isLoaded(JnaLoader.java:35)
	at com.intellij.openapi.util.io.FileSystemUtil.computeMediator(FileSystemUtil.java:55)
	at com.intellij.openapi.util.io.FileSystemUtil.<clinit>(FileSystemUtil.java:50)
	at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.calculateVersion(FSRecordsImpl.java:154)
	at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.connect(FSRecordsImpl.java:186)
	at com.intellij.openapi.vfs.newvfs.persistent.FSRecords.connect(FSRecords.java:90)
	at com.intellij.openapi.vfs.newvfs.persistent.FSRecords.connect(FSRecords.java:85)
	at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.doConnect(PersistentFSImpl.java:180)
	at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.connect(PersistentFSImpl.java:146)
	at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.<init>(PersistentFSImpl.java:122)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:95)
	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:1011)
	at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:47)
	at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:43)
	at com.intellij.serviceContainer.BaseComponentAdapter.doCreateInstance(BaseComponentAdapter.kt:158)
	at com.intellij.serviceContainer.BaseComponentAdapter.createInstance(BaseComponentAdapter.kt:137)
	at com.intellij.serviceContainer.BaseComponentAdapter.access$createInstance(BaseComponentAdapter.kt:21)
	at com.intellij.serviceContainer.BaseComponentAdapter$getInstanceAsync$2.invokeSuspend(BaseComponentAdapter.kt:185)
	at com.intellij.serviceContainer.BaseComponentAdapter$getInstanceAsync$2.invoke(BaseComponentAdapter.kt)
	at com.intellij.serviceContainer.BaseComponentAdapter$getInstanceAsync$2.invoke(BaseComponentAdapter.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceAsync(BaseComponentAdapter.kt:180)
	at com.intellij.serviceContainer.ComponentManagerImpl.getServiceAsyncIfDefined(ComponentManagerImpl.kt:646)
	at com.intellij.serviceContainer.ComponentManagerImpl.getServiceAsync(ComponentManagerImpl.kt:637)
	at com.intellij.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$managingFsJob$1$1.invokeSuspend(appServicePreloading.kt:179)
	at com.intellij.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$managingFsJob$1$1.invoke(appServicePreloading.kt)
	at com.intellij.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$managingFsJob$1$1.invoke(appServicePreloading.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.diagnostic.TracerKt.subtask(tracer.kt:42)
	at com.intellij.diagnostic.TracerKt.subtask$default(tracer.kt:34)
	at com.intellij.ide.bootstrap.AppServicePreloadingKt$preloadCriticalServices$managingFsJob$1.invokeSuspend(appServicePreloading.kt:39)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

Steps to reproduce

Hard to tell, the project is private. I'm happy to test snapshot builds...

Gradle IntelliJ Plugin version

1.16.0

Gradle version

7.6

Operating System

Linux

Link to build, i.e. failing GitHub Action job

No response

jansorg avatar Nov 03 '23 14:11 jansorg