Hi, the app crashes when I select text, right click and select copy, the app shows a dialog box with the message "Layouts are not part of the same hierarchy" and crashes:
Terminal output:
java -jar askimo-desktop-linux-x64.jar WARNING: A restricted method in java.lang.System has been called WARNING: java.lang.System::load has been called by org.sqlite.SQLiteJDBCLoader in an unnamed module (file:/home/vepa/temp/askimo-desktop-linux-x64.jar) WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module WARNING: Restricted methods will be blocked in a future release unless native access is enabled 2026-05-26 12:18:45.316 [AWT-EventQueue-0] INFO i.askimo.core.logging.LoggingService:55 - Log level changed to: INFO for io.askimo loggers 2026-05-26 12:19:04.315 [DefaultDispatcher-worker-1] INFO i.a.c.p.ModelCapabilitiesCache:337 - Loaded 1 cached model capabilities from /home/vepa/.askimo/personal/model-capabilities-cache.json Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: layouts are not part of the same hierarchy at androidx.compose.ui.node.NodeCoordinator.findCommonAncestor$ui(NodeCoordinator.kt:1401) at androidx.compose.ui.node.NodeCoordinator.localPositionOf-S_NoaFU(NodeCoordinator.kt:1041) at androidx.compose.ui.node.NodeCoordinator.localPositionOf-R5De75A(NodeCoordinator.kt:1019) at androidx.compose.foundation.text.selection.SelectionManager.convertToContainerCoordinates-R5De75A(SelectionManager.kt:1013) at androidx.compose.foundation.text.selection.SelectionManager._init_$lambda$1(SelectionManager.kt:331) at androidx.compose.foundation.text.selection.SelectionRegistrarImpl.notifySelectionUpdateStart-ubNVwUQ(SelectionRegistrarImpl.kt:218) at androidx.compose.foundation.text.modifiers.SelectionControllerKt$makeDefaultSelectionModifier$mouseSelectionObserver$1.onStart-9KIMszo(SelectionController.kt:324) at androidx.compose.foundation.text.selection.SelectionGesturesKt.mouseSelection(SelectionGestures.kt:289) at androidx.compose.foundation.text.selection.SelectionGesturesKt$awaitSelectionGestures$2.invokeSuspend(SelectionGestures.kt:119) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34) at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:163) at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:152) at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:470) at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$kotlinx_coroutines_core(CancellableContinuationImpl.kt:504) at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$kotlinx_coroutines_core$default(CancellableContinuationImpl.kt:493) at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:359) at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:829) at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:699) at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:725) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:454) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:440) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:440) at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:286) at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:182) at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:118) at androidx.compose.ui.node.RootNodeOwner.onPointerInput-l-3BpVI(RootNodeOwner.skiko.kt:307) at androidx.compose.ui.scene.CanvasLayersComposeSceneImpl.processPress-l-3BpVI(CanvasLayersComposeScene.skiko.kt:317) at androidx.compose.ui.scene.CanvasLayersComposeSceneImpl.processPointerInputEvent-l-3BpVI(CanvasLayersComposeScene.skiko.kt:237) at androidx.compose.ui.scene.BaseComposeScene$inputHandler$2.invoke-l-3BpVI(BaseComposeScene.skiko.kt:67) at androidx.compose.ui.scene.BaseComposeScene$inputHandler$2.invoke(BaseComposeScene.skiko.kt:67) at androidx.compose.ui.input.pointer.SyntheticEventSender.sendInternal-l-3BpVI(SyntheticEventSender.skiko.kt:199) at androidx.compose.ui.input.pointer.SyntheticEventSender.send-l-3BpVI(SyntheticEventSender.skiko.kt:83) at androidx.compose.ui.scene.ComposeSceneInputHandler.onPointerEvent--c_cFIg(ComposeSceneInputHandler.skiko.kt:131) at androidx.compose.ui.scene.ComposeSceneInputHandler.onPointerEvent-lDgZiSw(ComposeSceneInputHandler.skiko.kt:92) at androidx.compose.ui.scene.BaseComposeScene.sendPointerEvent-lDgZiSw(BaseComposeScene.skiko.kt:218) at androidx.compose.ui.scene.ComposeScene.sendPointerEvent-lDgZiSw$default(ComposeScene.skiko.kt:202) at androidx.compose.ui.scene.ComposeSceneMediator_desktopKt.onMouseEvent-d-4ec7I(ComposeSceneMediator.desktop.kt:884) at androidx.compose.ui.scene.ComposeSceneMediator_desktopKt.access$onMouseEvent-d-4ec7I(ComposeSceneMediator.desktop.kt:1) at androidx.compose.ui.scene.ComposeSceneMediator.onMouseEvent(ComposeSceneMediator.desktop.kt:470) at androidx.compose.ui.scene.ComposeSceneMediator.access$onMouseEvent(ComposeSceneMediator.desktop.kt:116) at androidx.compose.ui.scene.ComposeSceneMediator$mouseListener$1.mousePressed(ComposeSceneMediator.desktop.kt:280) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6573) at java.desktop/java.awt.Component.processEvent(Component.java:6341) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4958) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4790) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:725) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:702) 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) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.scene.ComposeContainer$DesktopCoroutineExceptionHandler@355493b4, androidx.compose.runtime.BroadcastFrameClock@77ccaf, StandaloneCoroutine{Cancelling}@1a3a3f04, FlushCoroutineDispatcher@b20b73b] 2026-05-26 12:22:00.295 [Thread-10] INFO io.askimo.ui.session.SessionManager:498 - Shutting down SessionManager. Cancelling 0 active streams.
My system info:
java -version openjdk version "25.0.3" 2026-04-21 OpenJDK Runtime Environment (build 25.0.3+9-suse-01699-x8664) OpenJDK 64-Bit Server VM (build 25.0.3+9-suse-01699-x8664, mixed mode, sharing)
I am running askimo on openSUSE Tumbleweed, VERSION="20260516" using x11 and plasmashell 6.6.5.
Hi, the app crashes when I select text, right click and select copy, the app shows a dialog box with the message "Layouts are not part of the same hierarchy" and crashes:
Terminal output:
java -jar askimo-desktop-linux-x64.jar WARNING: A restricted method in java.lang.System has been called WARNING: java.lang.System::load has been called by org.sqlite.SQLiteJDBCLoader in an unnamed module (file:/home/vepa/temp/askimo-desktop-linux-x64.jar) WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module WARNING: Restricted methods will be blocked in a future release unless native access is enabled 2026-05-26 12:18:45.316 [AWT-EventQueue-0] INFO i.askimo.core.logging.LoggingService:55 - Log level changed to: INFO for io.askimo loggers 2026-05-26 12:19:04.315 [DefaultDispatcher-worker-1] INFO i.a.c.p.ModelCapabilitiesCache:337 - Loaded 1 cached model capabilities from /home/vepa/.askimo/personal/model-capabilities-cache.json Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: layouts are not part of the same hierarchy at androidx.compose.ui.node.NodeCoordinator.findCommonAncestor$ui(NodeCoordinator.kt:1401) at androidx.compose.ui.node.NodeCoordinator.localPositionOf-S_NoaFU(NodeCoordinator.kt:1041) at androidx.compose.ui.node.NodeCoordinator.localPositionOf-R5De75A(NodeCoordinator.kt:1019) at androidx.compose.foundation.text.selection.SelectionManager.convertToContainerCoordinates-R5De75A(SelectionManager.kt:1013) at androidx.compose.foundation.text.selection.SelectionManager._init_$lambda$1(SelectionManager.kt:331) at androidx.compose.foundation.text.selection.SelectionRegistrarImpl.notifySelectionUpdateStart-ubNVwUQ(SelectionRegistrarImpl.kt:218) at androidx.compose.foundation.text.modifiers.SelectionControllerKt$makeDefaultSelectionModifier$mouseSelectionObserver$1.onStart-9KIMszo(SelectionController.kt:324) at androidx.compose.foundation.text.selection.SelectionGesturesKt.mouseSelection(SelectionGestures.kt:289) at androidx.compose.foundation.text.selection.SelectionGesturesKt$awaitSelectionGestures$2.invokeSuspend(SelectionGestures.kt:119) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34) at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:163) at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:152) at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:470) at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$kotlinx_coroutines_core(CancellableContinuationImpl.kt:504) at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$kotlinx_coroutines_core$default(CancellableContinuationImpl.kt:493) at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:359) at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:829) at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:699) at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:725) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:454) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:440) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:440) at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:286) at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:182) at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:118) at androidx.compose.ui.node.RootNodeOwner.onPointerInput-l-3BpVI(RootNodeOwner.skiko.kt:307) at androidx.compose.ui.scene.CanvasLayersComposeSceneImpl.processPress-l-3BpVI(CanvasLayersComposeScene.skiko.kt:317) at androidx.compose.ui.scene.CanvasLayersComposeSceneImpl.processPointerInputEvent-l-3BpVI(CanvasLayersComposeScene.skiko.kt:237) at androidx.compose.ui.scene.BaseComposeScene$inputHandler$2.invoke-l-3BpVI(BaseComposeScene.skiko.kt:67) at androidx.compose.ui.scene.BaseComposeScene$inputHandler$2.invoke(BaseComposeScene.skiko.kt:67) at androidx.compose.ui.input.pointer.SyntheticEventSender.sendInternal-l-3BpVI(SyntheticEventSender.skiko.kt:199) at androidx.compose.ui.input.pointer.SyntheticEventSender.send-l-3BpVI(SyntheticEventSender.skiko.kt:83) at androidx.compose.ui.scene.ComposeSceneInputHandler.onPointerEvent--c_cFIg(ComposeSceneInputHandler.skiko.kt:131) at androidx.compose.ui.scene.ComposeSceneInputHandler.onPointerEvent-lDgZiSw(ComposeSceneInputHandler.skiko.kt:92) at androidx.compose.ui.scene.BaseComposeScene.sendPointerEvent-lDgZiSw(BaseComposeScene.skiko.kt:218) at androidx.compose.ui.scene.ComposeScene.sendPointerEvent-lDgZiSw$default(ComposeScene.skiko.kt:202) at androidx.compose.ui.scene.ComposeSceneMediator_desktopKt.onMouseEvent-d-4ec7I(ComposeSceneMediator.desktop.kt:884) at androidx.compose.ui.scene.ComposeSceneMediator_desktopKt.access$onMouseEvent-d-4ec7I(ComposeSceneMediator.desktop.kt:1) at androidx.compose.ui.scene.ComposeSceneMediator.onMouseEvent(ComposeSceneMediator.desktop.kt:470) at androidx.compose.ui.scene.ComposeSceneMediator.access$onMouseEvent(ComposeSceneMediator.desktop.kt:116) at androidx.compose.ui.scene.ComposeSceneMediator$mouseListener$1.mousePressed(ComposeSceneMediator.desktop.kt:280) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6573) at java.desktop/java.awt.Component.processEvent(Component.java:6341) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4958) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4790) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:725) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:702) 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) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.scene.ComposeContainer$DesktopCoroutineExceptionHandler@355493b4, androidx.compose.runtime.BroadcastFrameClock@77ccaf, StandaloneCoroutine{Cancelling}@1a3a3f04, FlushCoroutineDispatcher@b20b73b] 2026-05-26 12:22:00.295 [Thread-10] INFO io.askimo.ui.session.SessionManager:498 - Shutting down SessionManager. Cancelling 0 active streams.My system info:
java -version openjdk version "25.0.3" 2026-04-21 OpenJDK Runtime Environment (build 25.0.3+9-suse-01699-x8664) OpenJDK 64-Bit Server VM (build 25.0.3+9-suse-01699-x8664, mixed mode, sharing)I am running askimo on openSUSE Tumbleweed, VERSION="20260516" using x11 and plasmashell 6.6.5.