It appears SUSE Linux now ships with AtkWrapper which is supposed to improve accessibility integration for java/swing applications (Enables accessibility support in OpenJDK 17 by using java-atk-wrapper. This allows compatible at-spi2 based accessibility programs to work for AWT and Swing-based programs).
Apparently this causes Compose Desktop applications to crash:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "kotlin.Lazy.getValue()" because "<local1>" is null
at androidx.compose.ui.awt.ComposeLayer.getA11yDisabled(ComposeLayer.desktop.kt:185)
at androidx.compose.ui.awt.ComposeLayer.access$getA11yDisabled(ComposeLayer.desktop.kt:85)
at androidx.compose.ui.awt.ComposeLayer$makeAccessible$1.getAccessibleContext(ComposeLayer.desktop.kt:192)
at org.jetbrains.skiko.HardwareLayer.getAccessibleContext(HardwareLayer.kt:90)
at atk.wrapper/org.GNOME.Accessibility.AtkWrapper$2.eventDispatched(AtkWrapper.java:245)
at java.desktop/java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2201)
at java.desktop/java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2049)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4907)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.Container.addImpl(Container.java:1167)
at java.desktop/java.awt.Container.add(Container.java:440)
at org.jetbrains.skiko.SkiaLayer.<init>(SkiaLayer.awt.kt:107)
at org.jetbrains.skiko.SkiaLayer.<init>(SkiaLayer.awt.kt:57)
at org.jetbrains.skiko.SkiaLayer.<init>(SkiaLayer.awt.kt:51)
at androidx.compose.ui.awt.ComposeLayer$ComponentImpl.<init>(ComposeLayer.desktop.kt:205)
at androidx.compose.ui.awt.ComposeLayer.<init>(ComposeLayer.desktop.kt:90)
at androidx.compose.ui.awt.ComposeWindowDelegate.<init>(ComposeWindowDelegate.desktop.kt:54)
at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:61)
at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:59)
at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:162)
at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:156)
at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:378)
at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:377)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:75)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:74)
at androidx.compose.runtime.DisposableEffectImpl.onRemembered(Effects.kt:81)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1032)
at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:793)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:813)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:827)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:519)
at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:219)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
at atk.wrapper/org.GNOME.Accessibility.AtkWrapper$4.dispatchEvent(AtkWrapper.java:643)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
It appears SUSE Linux now ships with AtkWrapper which is supposed to improve accessibility integration for java/swing applications (Enables accessibility support in OpenJDK 17 by using java-atk-wrapper. This allows compatible at-spi2 based accessibility programs to work for AWT and Swing-based programs).
Apparently this causes Compose Desktop applications to crash:
For more details, check out this post: https://qiita.com/cozyk100/items/634e7bd773f1e2b1ddee
The post is in Japanese, so using Google Translate may be required.