https://kotlinlang.org logo
#announcements
Title
# announcements
m

Maria Krishtal

11/24/2023, 10:28 AM
📢 Kotlin 1.9.21 is out! This update addresses a variety of issues, including regression problems. Additionally, Kotlin 1.9.21 introduces kapt compatibility with JDK21. ⚠️ ATTENTION ALL KOTLIN MULTIPLATFORM LIBRARY AUTHORS ⚠️ This version fixes a critical issue that, in some cases, led to the production of incorrect klib libraries. If you are an author of a KMP library, please upgrade from 1.9.20 to 1.9.21. For a comprehensive overview, explore the changelog here.
🦜 22
🔥 9
🙌🏼 1
🎉 16
😯 6
pepechains 4
kodee happy 15
🙌 12
pepenotingfast 4
K 41
j

Jacob Ras

11/24/2023, 11:39 AM
And if you're a Compose Multiplatform library author: refresh https://developer.android.com/jetpack/androidx/releases/compose-kotlin until the new Compose Compiler is out 🔃
😂 6
p

p-schneider

11/24/2023, 1:07 PM
Compose (JetBrains) Multiplatform Developers would refresh https://maven.pkg.jetbrains.space/public/p/compose/dev/org/jetbrains/compose/compiler/compiler/ and https://maven.pkg.jetbrains.space/public/p/compose/dev/org/jetbrains/compose/compose-gradle-plugin/ But since the jetbrains compiler 1.5.4 and the jetbrains compose gradle plugin 1.5.11 are already available there is no need to refresh any more, just use org.jetbrains.compose version 1.5.11 and you should be good to go for Kotlin 1.9.21
🚀 4
thank you color 5
The corresponding Release Notes for compose multiplatform 1.5.11 are now available at: https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.5.11
🎉 2
👍 1
r

russhwolf

11/24/2023, 6:06 PM
My understanding of kt-62515 is that it only impacts libraries that use cinterop dependencies. Is the recommendation now for all libraries update to update to 1.9.21 even if they don't use cinterop?
m

Myles Bennett

11/25/2023, 10:23 AM
Hi all, first time poster here. I got really hopeful with this announcement that it might fix an issue I’m seeing with kapt on multiplatform, but no luck. Upgrading to 1.9.21/1.5.11 made no difference. I’m sure I’m just doing something wrong…
s

Stefan Oltmann

11/25/2023, 10:35 AM
w

Werner Altewischer

12/04/2023, 7:36 AM
We are suffering a lot of compiler crashes/issues with this new version (native incremental mode enabled)
Copy code
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000165331364, pid=1662, tid=105219
#
# JRE version: OpenJDK Runtime Environment Homebrew (17.0.9) (build 17.0.9+0)
# Java VM: OpenJDK 64-Bit Server VM Homebrew (17.0.9+0, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
# Problematic frame:
# C  [libllvmstubs.dylib+0x1331364]  (anonymous namespace)::TypePrinting::print(llvm::Type*, llvm::raw_ostream&)+0x24

Current thread (0x00000001387afa00):  JavaThread "pool-3-thread-2" [_thread_in_native, id=105219, stack(0x00000002b5d14000,0x00000002b5f17000)]

Stack: [0x00000002b5d14000,0x00000002b5f17000],  sp=0x00000002b5f14a10,  free space=2050k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libllvmstubs.dylib+0x1331364]  (anonymous namespace)::TypePrinting::print(llvm::Type*, llvm::raw_ostream&)+0x24
C  [libllvmstubs.dylib+0x1331248]  llvm::Type::print(llvm::raw_ostream&, bool, bool) const+0x68
C  [libllvmstubs.dylib+0x13a74fc]  LLVMPrintTypeToString+0x74
j  llvm.llvm.kniBridge81(J)J+0
j  llvm.llvm.LLVMPrintTypeToString(Lkotlinx/cinterop/CPointer;)Lkotlinx/cinterop/CPointer;+4
j  org.jetbrains.kotlin.backend.konan.llvm.Struct.<init>(Lkotlinx/cinterop/CPointer;Ljava/util/List;)V+245
j  org.jetbrains.kotlin.backend.konan.llvm.Struct.<init>(Lkotlinx/cinterop/CPointer;[Lorg/jetbrains/kotlin/backend/konan/llvm/ConstValue;)V+12
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGenerator.genAssociatedObjects(Lorg/jetbrains/kotlin/ir/declarations/IrClass;)Lorg/jetbrains/kotlin/backend/konan/llvm/ConstPointer;+192
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGenerator.generate(Lorg/jetbrains/kotlin/ir/declarations/IrClass;)V+717
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitClass(Lorg/jetbrains/kotlin/ir/declarations/IrClass;)V+23
J 53112 c2 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitClass(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid;Lorg/jetbrains/kotlin/ir/declarations/IrClass;Ljava/lang/Void;)V (14 bytes) @ 0x0000000116f18550 [0x0000000116f18180+0x00000000000003d0]
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitClass(Lorg/jetbrains/kotlin/ir/declarations/IrClass;Ljava/lang/Void;)V+3
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitClass(Lorg/jetbrains/kotlin/ir/declarations/IrClass;Ljava/lang/Object;)Ljava/lang/Object;+6
J 47427 c2 org.jetbrains.kotlin.ir.declarations.IrClass.accept(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitor;Ljava/lang/Object;)Ljava/lang/Object; (15 bytes) @ 0x0000000116d23704 [0x0000000116d236c0+0x0000000000000044]
J 58269 c1 org.jetbrains.kotlin.ir.declarations.IrFile.acceptChildren(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitor;Ljava/lang/Object;)V (70 bytes) @ 0x0000000110a4284c [0x0000000110a42100+0x000000000000074c]
J 71060 c1 org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitElement(Lorg/jetbrains/kotlin/ir/IrElement;)V (15 bytes) @ 0x0000000114fec178 [0x0000000114febb00+0x0000000000000678]
J 58897 c1 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitPackageFragment(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid;Lorg/jetbrains/kotlin/ir/declarations/IrPackageFragment;)V (17 bytes) @ 0x0000000113c9aa4c [0x0000000113c9a700+0x000000000000034c]
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitPackageFragment(Lorg/jetbrains/kotlin/ir/declarations/IrPackageFragment;)V+2
J 68299 c2 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid;Lorg/jetbrains/kotlin/ir/declarations/IrFile;)V (17 bytes) @ 0x0000000117c88868 [0x0000000117c88840+0x0000000000000028]
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitFile(Lorg/jetbrains/kotlin/ir/declarations/IrFile;)V+2
J 47055 c1 org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid;Lorg/jetbrains/kotlin/ir/declarations/IrFile;Ljava/lang/Void;)V (14 bytes) @ 0x000000011246b8cc [0x000000011246b580+0x000000000000034c]
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitFile(Lorg/jetbrains/kotlin/ir/declarations/IrFile;Ljava/lang/Void;)V+3
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitFile(Lorg/jetbrains/kotlin/ir/declarations/IrFile;Ljava/lang/Object;)Ljava/lang/Object;+6
J 58898 c2 org.jetbrains.kotlin.ir.declarations.IrFile.accept(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitor;Ljava/lang/Object;)Ljava/lang/Object; (15 bytes) @ 0x0000000116ca1484 [0x0000000116ca1440+0x0000000000000044]
j  org.jetbrains.kotlin.ir.declarations.IrModuleFragment.acceptChildren(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitor;Ljava/lang/Object;)V+58
J 71060 c1 org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitElement(Lorg/jetbrains/kotlin/ir/IrElement;)V (15 bytes) @ 0x0000000114fec178 [0x0000000114febb00+0x0000000000000678]
j  org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitModuleFragment(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid;Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;)V+11
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitModuleFragment(Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;)V+2
j  org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitModuleFragment(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid;Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;Ljava/lang/Void;)V+8
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitModuleFragment(Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;Ljava/lang/Void;)V+3
j  org.jetbrains.kotlin.backend.konan.llvm.RTTIGeneratorVisitor.visitModuleFragment(Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;Ljava/lang/Object;)Ljava/lang/Object;+6
j  org.jetbrains.kotlin.ir.declarations.IrModuleFragment.accept(Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;+9
J 63704 c2 org.jetbrains.kotlin.ir.visitors.IrVisitorsKt.acceptVoid(Lorg/jetbrains/kotlin/ir/IrElement;Lorg/jetbrains/kotlin/ir/visitors/IrElementVisitorVoid;)V (25 bytes) @ 0x00000001176c4994 [0x00000001176c4940+0x0000000000000054]
j  org.jetbrains.kotlin.backend.konan.driver.phases.BitcodeGenerationKt$RTTIPhase$1.invoke(Lorg/jetbrains/kotlin/backend/konan/NativeGenerationState;Lorg/jetbrains/kotlin/backend/konan/driver/phases/RTTIInput;)V+36
j  org.jetbrains.kotlin.backend.konan.driver.phases.BitcodeGenerationKt$RTTIPhase$1.invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+9
j  org.jetbrains.kotlin.backend.konan.driver.phases.PhaseBuildersKt$createSimpleNamedCompilerPhase$3.phaseBody(Lorg/jetbrains/kotlin/backend/common/LoggingContext;Ljava/lang/Object;)V+12
j  org.jetbrains.kotlin.backend.konan.driver.phases.PhaseBuildersKt$createSimpleNamedCompilerPhase$3.phaseBody(Lorg/jetbrains/kotlin/backend/common/LoggingContext;Ljava/lang/Object;)Ljava/lang/Object;+3
J 70850 c1 org.jetbrains.kotlin.backend.common.phaser.AbstractNamedCompilerPhase.invoke(Lorg/jetbrains/kotlin/backend/common/phaser/PhaseConfigurationService;Lorg/jetbrains/kotlin/backend/common/phaser/PhaserState;Lorg/jetbrains/kotlin/backend/common/LoggingContext;Ljava/lang/Object;)Ljava/lang/Object; (377 bytes) @ 0x0000000114f8bc00 [0x0000000114f8b1c0+0x0000000000000a40]
J 71559 c1 org.jetbrains.kotlin.backend.konan.driver.PhaseEngine.runPhase(Lorg/jetbrains/kotlin/backend/common/phaser/AbstractNamedCompilerPhase;Ljava/lang/Object;Z)Ljava/lang/Object; (58 bytes) @ 0x00000001149249d8 [0x0000000114924280+0x0000000000000758]
J 71703 c1 org.jetbrains.kotlin.backend.konan.driver.PhaseEngine.runPhase$default(Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;Lorg/jetbrains/kotlin/backend/common/phaser/AbstractNamedCompilerPhase;Ljava/lang/Object;ZILjava/lang/Object;)Ljava/lang/Object; (17 bytes) @ 0x000000011301fed0 [0x000000011301fe40+0x0000000000000090]
j  org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runCodegen(Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;)V+428
j  org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runBackendCodegen(Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;Lorg/jetbrains/kotlin/backend/konan/driver/utilities/CExportFiles;)V+15
j  org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.compileModule(Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;Lorg/jetbrains/kotlin/ir/declarations/IrModuleFragment;Ljava/io/File;Lorg/jetbrains/kotlin/backend/konan/driver/utilities/CExportFiles;)V+23
j  org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runBackend$lambda$9$runAfterLowerings(Lorg/jetbrains/kotlin/backend/konan/KonanConfig;Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;Lorg/jetbrains/kotlin/backend/konan/driver/phases/BackendJobFragment;Lorg/jetbrains/kotlin/backend/konan/NativeGenerationState;)V+168
j  org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt.runBackend$lambda$9$lambda$7$lambda$6(Lorg/jetbrains/kotlin/backend/konan/driver/phases/BackendJobFragment;Lorg/jetbrains/kotlin/backend/konan/NativeGenerationState;Ljava/util/concurrent/atomic/AtomicReference;Lorg/jetbrains/kotlin/backend/konan/KonanConfig;Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;Lorg/jetbrains/kotlin/backend/konan/driver/PhaseEngine;)Lkotlin/Unit;+52
j  org.jetbrains.kotlin.backend.konan.driver.phases.TopLevelPhasesKt$$Lambda$3163+0x000000e002c395b0.call()Ljava/lang/Object;+24
J 9524 c1 java.util.concurrent.FutureTask.run()V java.base@17.0.9 (123 bytes) @ 0x000000010ec11b94 [0x000000010ec11340+0x0000000000000854]
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base@17.0.9
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@17.0.9
j  java.lang.Thread.run()V+11 java.base@17.0.9
v  ~StubRoutines::call_stub
V  [libjvm.dylib+0x37e1c0]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x234
V  [libjvm.dylib+0x37d560]  JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x11c
V  [libjvm.dylib+0x37d62c]  JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x64
V  [libjvm.dylib+0x41e76c]  thread_entry(JavaThread*, JavaThread*)+0x80
V  [libjvm.dylib+0x775920]  JavaThread::thread_main_inner()+0xbc
V  [libjvm.dylib+0x7757fc]  JavaThread::run()+0x164
V  [libjvm.dylib+0x774400]  Thread::call_run()+0x8c
V  [libjvm.dylib+0x610d44]  thread_native_entry(Thread*)+0xcc
C  [libsystem_pthread.dylib+0x6fa8]  _pthread_start+0x94
s

Sergei Pecherkin [JetBrains]

12/04/2023, 11:36 AM
@Werner Altewischer Thanks for the feedback. Could you create an issue https://kotl.in/issue? Please add • code examples if it’s possible; any details of the project (e.g., targets) if it’s not possible; • the version that was updated (1.9.20 ?). We’ll take a look at it.
100 Views