Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1057513: kotlin: FTBFS with default Java 21

45 views
Skip to first unread message

Vladimir Petko

unread,
Dec 5, 2023, 4:10:07 PM12/5/23
to
Source: kotlin
Version: 1.3.31+ds1-1build5
Severity: important
Tags: ftbfs
User: debia...@lists.debian.org
Usertags: default-java21

Dear Maintainers,

The package kotlin ftbfs with default Java 21.
The relevant part of the build log:
---------------
All input files are considered out-of-date for incremental task ':buildSrc:compileKotlin'.
file or directory '/<<PKGBUILDDIR>>/buildSrc/src/main/java', not found
file or directory '/<<PKGBUILDDIR>>/buildSrc/src/main/java', not found
Using Kotlin/JVM incremental compilation
exception: java.lang.IllegalStateException: Could not load module definition from: VirtualFile: /usr/lib/jvm/java-21-openjdk-amd64!/modules/java.base/module-info.class. The file might be broken by incorrect post-processing via bytecode tools. Please remove this file from the classpath.
at org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Companion.read(JavaModuleInfo.kt:85)
at org.jetbrains.kotlin.cli.jvm.modules.CliJavaModuleFinder.findSystemModule(CliJavaModuleFinder.kt:44)
at org.jetbrains.kotlin.cli.jvm.modules.CliJavaModuleFinder.access$findSystemModule(CliJavaModuleFinder.kt:25)
at org.jetbrains.kotlin.cli.jvm.modules.CliJavaModuleFinder$systemModules$1.invoke(CliJavaModuleFinder.kt:37)
at org.jetbrains.kotlin.cli.jvm.modules.CliJavaModuleFinder$systemModules$1.invoke(CliJavaModuleFinder.kt:25)
at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:172)
at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:132)
at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:156)
at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:278)
at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:265)
at kotlin.sequences.SequencesKt___SequencesKt.none(_Sequences.kt:1298)
at org.jetbrains.kotlin.cli.jvm.compiler.ClasspathRootsResolver.addModularRoots(ClasspathRootsResolver.kt:226)
at org.jetbrains.kotlin.cli.jvm.compiler.ClasspathRootsResolver.computeRoots(ClasspathRootsResolver.kt:123)
at org.jetbrains.kotlin.cli.jvm.compiler.ClasspathRootsResolver.convertClasspathRoots(ClasspathRootsResolver.kt:79)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:228)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:122)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:409)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:258)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:123)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:103)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:81)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:49)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:214)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:206)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler$Companion.main(K2JVMCompiler.kt:300)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.main(K2JVMCompiler.kt)
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 65
at org.jetbrains.org.objectweb.asm.ClassReader.<init>(ClassReader.java:199)
at org.jetbrains.org.objectweb.asm.ClassReader.<init>(ClassReader.java:180)
at org.jetbrains.org.objectweb.asm.ClassReader.<init>(ClassReader.java:166)
at org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Companion.read(JavaModuleInfo.kt:68)
... 28 more

:buildSrc:compileKotlin FAILED
:compileKotlin (Thread[#29,Daemon worker,5,main]) completed. Took 2.855 secs.

FAILURE: Build failed with an exception.

---------------


-- System Information:
Debian Release: trixie/sid
APT prefers mantic-updates
APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.5.0-13-generic (SMP w/32 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Vladimir Petko

unread,
Jan 23, 2024, 8:50:05 PM1/23/24
to
Dear Maintainers,

Would it be possible to consider merge requests [1][2][3] that
address the issue?
Kotlin needs to be rebuilt before introducing Java 21 default as it
vendors asm library and it needs to be updated before switching to
Java 21 default.
Due to the update to minimum supported source level 8, AbstractList
and Collections now declare toArray() methods that I had to add via
the patch. This introduces API incompatibility (Debian kotlin having
extra methods).

Best Regards,
Vladimir.

[1] https://salsa.debian.org/java-team/asm/-/merge_requests/2
[2] https://salsa.debian.org/java-team/intellij-community-idea/-/merge_requests/6
[3] https://salsa.debian.org/java-team/kotlin/-/merge_requests/18
0 new messages