NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.9k stars 13.95k forks source link

Gradle is broken after glibc update (under steam-run) #301798

Closed Hunkarada closed 2 months ago

Hunkarada commented 6 months ago

Describe the bug

After updating nixos-unstable and trying to build my project in Intellij IDEA I can't use gradle at all, because of error/nix/store/vrkmyfvmlra5qyyfsjx1vvr9rnsg964l-openjdk-21+35/lib/openjdk/bin/java: symbol lookup error: /lib64/libc.so.6: undefined symbol: __tunable_is_initialized, version GLIBC_PRIVATE If I am not using steam-run, everything works as should (but I can't build my project, because I need opengl lib, located in FHS path). I am not sure, what causes such behaviour, steam-run itself or something else, like java How to reproduce:

  1. update to latest nixos-unstable
  2. try to use gradle with steam-run.

Expected behavior: gradle works

full log:

steam-run idea-community
CompileCommand: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend bool exclude = true
WARN: Cannot load /nix/store/q2q8wkg0ym0afqljzkijyjm6ljs9bbg2-idea-community-2023.3.6/idea-community/plugins/performanceTesting/lib/performanceTesting.jar
java.lang.RuntimeException: Cannot resolve intellij.performanceTesting.remoteDriver.xml (dataLoader=com.intellij.util.lang.ImmutableZipFile@708dffc5, pluginJarFiles=/nix/store/q2q8wkg0ym0afqljzkijyjm6ljs9bbg2-idea-community-2023.3.6/idea-community/plugins/performanceTesting/lib/performanceTesting.jar)
    at com.intellij.ide.plugins.PluginXmlPathResolver.resolveModuleFile(PluginXmlPathResolver.kt:153)
    at com.intellij.ide.plugins.IdeaPluginDescriptorImpl.readExternal(IdeaPluginDescriptorImpl.kt:162)
    at com.intellij.ide.plugins.PluginDescriptorLoader.loadDescriptorFromJar(PluginDescriptorLoader.kt:161)
    at com.intellij.ide.plugins.PluginDescriptorLoader.loadFromPluginDir(PluginDescriptorLoader.kt:245)
    at com.intellij.ide.plugins.PluginDescriptorLoader.loadDescriptorFromFileOrDir(PluginDescriptorLoader.kt:203)
    at com.intellij.ide.plugins.PluginDescriptorLoader.loadDescriptorFromFileOrDir$default(PluginDescriptorLoader.kt:190)
    at com.intellij.ide.plugins.PluginDescriptorLoader$loadDescriptorsFromDir$1$1$1.invokeSuspend(PluginDescriptorLoader.kt:856)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
    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)
2024-04-05 15:22:11,154 [    163]   WARN - #c.i.i.p.PluginManager - Problems found loading plugins:
  com.intellij.ide.plugins.DescriptorListLoadingContext$$Lambda$106/0x000000010019f6c0@5a61e146
2024-04-05 15:22:11,990 [    999]   WARN - #c.i.s.ComponentManagerImpl - com.intellij.platform.ide.menu.GlobalMenuLinux initializer requests com.intellij.openapi.application.Experiments instance
2024-04-05 15:22:12,175 [   1184]   WARN - #c.i.s.ComponentManagerImpl - com.intellij.psi.search.FilenameIndex initializer requests com.intellij.ide.plugins.PluginUtil instance
2024-04-05 15:22:12,308 [   1317]   WARN - #c.i.s.ComponentManagerImpl - org.jetbrains.kotlin.idea.gradleJava.scripting.roots.GradleBuildRootDataSerializer initializer requests com.intellij.util.gist.storage.GistStorage instance
2024-04-05 15:22:12,844 [   1853]   WARN - #c.i.o.v.n.p.d.e.DurableEnumeratorFactory - [enumerator.mmapped]: .valueToId map is out-of-sync with .valuesLog data -> rebuilding it
2024-04-05 15:22:13,453 [   2462]   WARN - #c.i.s.ComponentManagerImpl - com.intellij.psi.LanguageSubstitutors initializer requests com.intellij.psi.LanguageSubstitutors instance
2024-04-05 15:22:13,467 [   2476]   WARN - #c.i.s.ComponentManagerImpl - com.maddyhome.idea.vim.api.Options initializer requests com.maddyhome.idea.vim.api.SystemInfoService instance
2024-04-05 15:22:13,492 [   2501]   WARN - #c.i.s.ComponentManagerImpl - org.zmlx.hg4idea.provider.HgChangeProvider initializer requests com.intellij.openapi.vcs.FileStatusFactory instance
2024-04-05 15:22:14,806 [   3815]   WARN - #c.i.o.a.i.ActionUpdater - 670 ms to grab EDT for ToolWindowHeader$2#Update@ToolwindowTitle (com.intellij.toolWindow.ToolWindowHeader$2)
2024-04-05 15:22:14,819 [   3828]   WARN - #c.i.o.a.i.ActionUpdater - 634 ms to grab EDT for ToolWindowHeader$2#Update@ToolwindowTitle (com.intellij.toolWindow.ToolWindowHeader$2)
2024-04-05 15:22:15,695 [   4704]   WARN - #o.j.p.t.TextMateService - Cannot find referenced file `./language-configuration.json` in bundle `/nix/store/q2q8wkg0ym0afqljzkijyjm6ljs9bbg2-idea-community-2023.3.6/idea-community/plugins/textmate/lib/bundles/mdx`
ANTLR Tool version 4.10.1 used for code generation does not match the current runtime version 4.13.1
ANTLR Tool version 4.10.1 used for code generation does not match the current runtime version 4.13.1
2024-04-05 15:22:25,367 [  14376]   WARN - #c.i.s.ComponentManagerImpl - com.maddyhome.idea.vim.helper.VimStandalonePluginUpdateChecker initializer requests com.maddyhome.idea.vim.helper.VimStandalonePluginUpdateChecker instance
2024-04-05 15:22:26,420 [  15429]   WARN - #o.j.p.g.s.e.GradleExecutionHelper - Failed to obtain build environment from Gradle daemon.
org.gradle.tooling.GradleConnectionException: Could not fetch model of type 'BuildEnvironment' using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-8.5-bin.zip'.
    at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:55)
    at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:43)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:69)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
    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:833)
    at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
    at org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:51)
    at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.getBuildEnvironment(GradleExecutionHelper.java:838)
    at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.getBuildEnvironment(GradleExecutionHelper.java:800)
    at org.jetbrains.plugins.gradle.service.task.GradleTaskManager.executeTasks(GradleTaskManager.java:133)
    at org.jetbrains.plugins.gradle.service.task.GradleTaskManager.lambda$executeTasks$1(GradleTaskManager.java:114)
    at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.lambda$execute$0(GradleExecutionHelper.java:145)
    at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.maybeFixSystemProperties(GradleExecutionHelper.java:177)
    at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.lambda$execute$1(GradleExecutionHelper.java:145)
    at org.jetbrains.plugins.gradle.GradleConnectorService$Companion.withGradleConnection(GradleConnectorService.kt:233)
    at org.jetbrains.plugins.gradle.GradleConnectorService.withGradleConnection(GradleConnectorService.kt)
    at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:141)
    at org.jetbrains.plugins.gradle.service.task.GradleTaskManager.executeTasks(GradleTaskManager.java:113)
    at org.jetbrains.plugins.gradle.service.task.GradleTaskManager.executeTasks(GradleTaskManager.java:70)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemTaskManagerImpl.lambda$executeTasks$0(RemoteExternalSystemTaskManagerImpl.java:43)
    at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:40)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemTaskManagerImpl.executeTasks(RemoteExternalSystemTaskManagerImpl.java:42)
    at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemTaskManagerWrapper.executeTasks(ExternalSystemTaskManagerWrapper.java:35)
    at com.intellij.openapi.externalSystem.service.internal.ExternalSystemExecuteTaskTask.doExecute(ExternalSystemExecuteTaskTask.java:130)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:138)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:123)
    at com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunnableState.executeTask(ExternalSystemRunnableState.java:380)
    at com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunnableState$1.execute(ExternalSystemRunnableState.java:240)
    at com.intellij.openapi.externalSystem.util.ExternalSystemTaskUnderProgress$2.run(ExternalSystemTaskUnderProgress.java:53)
    at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:434)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:132)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$5(CoreProgressManager.java:484)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:248)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:73)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:192)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:685)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:641)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:609)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:78)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:179)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:73)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$5(ProgressRunner.java:248)
    at com.intellij.openapi.progress.impl.ProgressRunner$ProgressRunnable.run(ProgressRunner.java:498)
    at com.intellij.util.concurrency.ChildContext$runAsCoroutine$1.invoke(propagation.kt:81)
    at com.intellij.util.concurrency.ChildContext$runAsCoroutine$1.invoke(propagation.kt:81)
    at com.intellij.util.concurrency.ChildContext.runAsCoroutine(propagation.kt:86)
    at com.intellij.util.concurrency.ChildContext.runAsCoroutine(propagation.kt:81)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$18(ProgressRunner.java:464)
    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.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.gradle.api.GradleException: Unable to determine version for JDK located at /nix/store/vrkmyfvmlra5qyyfsjx1vvr9rnsg964l-openjdk-21+35/lib/openjdk. Reason: Command returned unexpected result code: 127
Error output:
/nix/store/vrkmyfvmlra5qyyfsjx1vvr9rnsg964l-openjdk-21+35/lib/openjdk/bin/java: symbol lookup error: /lib64/libc.so.6: undefined symbol: __tunable_is_initialized, version GLIBC_PRIVATE

    at org.gradle.internal.jvm.inspection.DefaultJvmVersionDetector.validate(DefaultJvmVersionDetector.java:60)
    at org.gradle.internal.jvm.inspection.DefaultJvmVersionDetector.getVersionFromJavaHome(DefaultJvmVersionDetector.java:53)
    at org.gradle.internal.jvm.inspection.DefaultJvmVersionDetector.getJavaVersion(DefaultJvmVersionDetector.java:38)
    at org.gradle.tooling.internal.provider.ProviderConnection.initParams(ProviderConnection.java:328)
    at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:135)
    at org.gradle.tooling.internal.provider.DefaultConnection.getModel(DefaultConnection.java:149)
    at org.gradle.tooling.internal.consumer.connection.CancellableModelBuilderBackedModelProducer.produceModel(CancellableModelBuilderBackedModelProducer.java:54)
    at org.gradle.tooling.internal.consumer.connection.PluginClasspathInjectionSupportedCheckModelProducer.produceModel(PluginClasspathInjectionSupportedCheckModelProducer.java:38)
    at org.gradle.tooling.internal.consumer.connection.AbstractConsumerConnection.run(AbstractConsumerConnection.java:64)
    at org.gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:49)
    at org.gradle.tooling.internal.consumer.DefaultModelBuilder$1.run(DefaultModelBuilder.java:64)
    at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:143)
    at org.gradle.tooling.internal.consumer.connection.CancellableConsumerActionExecutor.run(CancellableConsumerActionExecutor.java:45)
    at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:61)
    at org.gradle.tooling.internal.consumer.connection.RethrowingErrorsConsumerActionExecutor.run(RethrowingErrorsConsumerActionExecutor.java:38)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:67)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    ... 1 more
2024-04-05 15:30:03,323 [ 472332]   WARN - #c.i.u.x.Binding - no accessors for org.jetbrains.idea.maven.project.MavenHomeType`
Hunkarada commented 6 months ago

after rolling back I can confirm, that bug appeared at current version of nixos-unstable (https://github.com/NixOS/nixpkgs/commit/fd281bd6b7d3e32ddfa399853946f782553163b5)

Hunkarada commented 6 months ago

08b9151 commit works as it should, bug appeared somewhere between them

SuperSandro2000 commented 6 months ago

/nix/store/vrkmyfvmlra5qyyfsjx1vvr9rnsg964l-openjdk-21+35/lib/openjdk/bin/java: symbol lookup error: /lib64/libc.so.6: undefined symbol: __tunable_is_initialized, version GLIBC_PRIVATE

This is probably caused by a glibc update, maybe https://github.com/NixOS/nixpkgs/commit/ddc361cfcae587fa40446df4f5a72f50574d06da

Hunkarada commented 6 months ago

probably yes. is this upstream bug?

SuperSandro2000 commented 6 months ago

I wouldn't call it a bug but either upstream updates their glibc or we need to carry an older version for such cases.

bluelinden commented 6 months ago

I had this same issue (and error) with the Rust compiler. The solution turned out to be to remove Cargo.lock and rebuild. Rust-analyzer is still broken.