2026.1 EAP (261.22158.46), same with 2025.3
I’m slowly migrating to a split-mode plugin.
While testing with a split-mode-enabled “runIde”, I received an exception about an unexpected ReadAction. This happens when the platform invokes a “DocumentationResult.asyncDocumentation” provided by my plugin.
The plugin’s code is in the Backend module.
I have assertions in place to verify read access. My async operations does IO and thus shouldn’t run under a ReadAction.
It’s fine in monolith mode.
But it’s throwing an exception in split mode. Is split mode handling threading differently?
Is there a way to fix this?
My code:
// in a class implementing "DocumentationTarget"
override fun computeDocumentation(): DocumentationResult? {
ThreadingAssertions.assertReadAccess()
if (psiRangePointer.dereference() == null) {
return null
}
return DocumentationResult.asyncDocumentation {
ThreadingAssertions.assertNoReadAccess() // <-- Exception is thrown here
}
}
Stacktrace
2026-03-13 12:19:27,603 [ 16522] SEVERE - #o.j.c.AsyncPromise - Must not execute inside read action; If you access or modify model on EDT consider wrapping your code in WriteIntentReadAction or ReadAction; see https://jb.gg/ij-platform-threading for details
Current thread: Thread[#138,DefaultDispatcher-worker-49 @coroutine#18101,5,main] 369366954 (EventQueue.isDispatchThread()=false)
SystemEventQueueThread: Thread[#77,AWT-EventQueue-0,6,main] 1396706274
com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Must not execute inside read action; If you access or modify model on EDT consider wrapping your code in WriteIntentReadAction or ReadAction; see https://jb.gg/ij-platform-threading for details
Current thread: Thread[#138,DefaultDispatcher-worker-49 @coroutine#18101,5,main] 369366954 (EventQueue.isDispatchThread()=false)
SystemEventQueueThread: Thread[#77,AWT-EventQueue-0,6,main] 1396706274
at com.intellij.util.concurrency.ThreadingAssertions.createThreadAccessException(ThreadingAssertions.java:270)
at com.intellij.util.concurrency.ThreadingAssertions.throwThreadAccessException(ThreadingAssertions.java:258)
at com.intellij.util.concurrency.ThreadingAssertions.assertNoReadAccess(ThreadingAssertions.java:177)
at dev.j_a.ide.lsp.features.documentation.AsyncLanguageServerDocumentationTarget$computeDocumentation$1.invokeSuspend(AsyncLanguageServerDocumentationTarget.kt:74)
at dev.j_a.ide.lsp.features.documentation.AsyncLanguageServerDocumentationTarget$computeDocumentation$1.invoke(AsyncLanguageServerDocumentationTarget.kt)
at dev.j_a.ide.lsp.features.documentation.AsyncLanguageServerDocumentationTarget$computeDocumentation$1.invoke(AsyncLanguageServerDocumentationTarget.kt)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2.invokeSuspend(impl.kt:57)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2.invoke(impl.kt)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentation$2.invoke(impl.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:67)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.intellij.platform.backend.documentation.impl.ImplKt.computeDocumentation(impl.kt:47)
at com.intellij.platform.backend.documentation.impl.ImplKt$computeDocumentationAsync$1.invokeSuspend(impl.kt:42)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith$$$capture(ContinuationImpl.kt:34)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at kotlinx.coroutines.debug.internal.DebugProbesImpl$CoroutineOwner.<init>(DebugProbesImpl.kt:531)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.createOwner(DebugProbesImpl.kt:510)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.probeCoroutineCreated$kotlinx_coroutines_core(DebugProbesImpl.kt:497)
at kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineCreated(DebugProbes.kt:7)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:161)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:134)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.async(Builders.common.kt:88)
at kotlinx.coroutines.BuildersKt.async(Unknown Source)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.async$default(Builders.common.kt:79)
at kotlinx.coroutines.BuildersKt.async$default(Unknown Source)
at com.intellij.platform.backend.documentation.impl.ImplKt.computeDocumentationAsync(impl.kt:41)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost.computeQuickDocElementInfo(BackendEditorMouseHoverPopupHost.kt:175)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost.access$computeQuickDocElementInfo(BackendEditorMouseHoverPopupHost.kt:51)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost$getQuickDocSession$info$1$1.invokeSuspend(BackendEditorMouseHoverPopupHost.kt:143)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost$getQuickDocSession$info$1$1.invoke(BackendEditorMouseHoverPopupHost.kt)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost$getQuickDocSession$info$1$1.invoke(BackendEditorMouseHoverPopupHost.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:67)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost$getQuickDocSession$info$1.invokeSuspend(BackendEditorMouseHoverPopupHost.kt:142)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith$$$capture(ContinuationImpl.kt:34)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at kotlinx.coroutines.debug.internal.DebugProbesImpl$CoroutineOwner.<init>(DebugProbesImpl.kt:531)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.createOwner(DebugProbesImpl.kt:510)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.probeCoroutineCreated$kotlinx_coroutines_core(DebugProbesImpl.kt:497)
at kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineCreated(DebugProbes.kt:7)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:161)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:134)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$BuildersKt__BuildersKt(Builders.kt:86)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlockingWithParallelismCompensation(Builders.kt:63)
at kotlinx.coroutines.BuildersKt.runBlockingWithParallelismCompensation(Unknown Source)
at kotlinx.coroutines.internal.intellij.IntellijCoroutines.runBlockingWithParallelismCompensation(intellij.kt:48)
at com.intellij.util.IntelliJCoroutinesFacade.runBlockingWithParallelismCompensation(IntelliJCoroutinesFacade.kt:35)
at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable$lambda$0(coroutines.kt:160)
at com.intellij.openapi.progress.ContextKt.prepareIndicatorThreadContext$lambda$1$0(context.kt:120)
at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
at com.intellij.openapi.progress.ContextKt.prepareIndicatorThreadContext$lambda$1(context.kt:119)
at com.intellij.openapi.progress.impl.CoreProgressManager.silenceGlobalIndicator(CoreProgressManager.java:1113)
at com.intellij.openapi.progress.ContextKt.prepareIndicatorThreadContext(context.kt:118)
at com.intellij.openapi.progress.ContextKt.prepareThreadContext(context.kt:89)
at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:151)
at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:134)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost.getQuickDocSession(BackendEditorMouseHoverPopupHost.kt:141)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost.access$getQuickDocSession(BackendEditorMouseHoverPopupHost.kt:51)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost$1.invokeSuspend$lambda$0$0(BackendEditorMouseHoverPopupHost.kt:67)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped$$$capture(NonBlockingReadActionImpl.java:1042)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl.schedule(NonBlockingReadActionImpl.java)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl.submit(NonBlockingReadActionImpl.java:305)
at com.jetbrains.rdserver.quickDoc.BackendEditorMouseHoverPopupHost$1.invokeSuspend$lambda$0(BackendEditorMouseHoverPopupHost.kt:77)
at com.jetbrains.rd.framework.impl.RdCall$onWireReceived$2.invoke(RdTask.kt:441)
at com.jetbrains.rd.framework.impl.RdCall$onWireReceived$2.invoke(RdTask.kt:430)
at com.intellij.platform.split.connection.protocol.wire.SecureWireWritable$onWireReceived$1$1.dispatch$lambda$0$0(SecureWireWritable.kt:58)
at com.intellij.codeWithMe.ClientId$Companion.withExplicitClientId(ClientId.kt:253)
at com.intellij.platform.split.connection.protocol.wire.SecureWireWritable$onWireReceived$1$1.dispatch$lambda$0(SecureWireWritable.kt:57)
at com.jetbrains.rd.framework.MessageBroker$RdWireableDispatchHelper$doDispatch$2.invoke(MessageBroker.kt:129)
at com.jetbrains.rd.framework.MessageBroker$RdWireableDispatchHelper$doDispatch$2.invoke(MessageBroker.kt:122)
at com.jetbrains.rd.platform.protocol.EdtScheduler.queue$lambda$0(EdtScheduler.kt:67)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:236)
at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:198)
at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:705)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:1094)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:628)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1$0(NonBlockingFlushQueue.kt:334)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:928)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1(NonBlockingFlushQueue.kt:333)
at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1(NonBlockingFlushQueue.kt:330)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.tryRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:747)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:326)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
at java.desktop/java.awt.event.InvocationEvent.dispatch$$$capture(InvocationEvent.java:323)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at java.desktop/java.awt.event.InvocationEvent.<init>(InvocationEvent.java:296)
at java.desktop/java.awt.event.InvocationEvent.<init>(InvocationEvent.java:182)
at java.desktop/java.awt.EventQueue.invokeLater(EventQueue.java:1272)
at java.desktop/javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1415)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.requestFlush(NonBlockingFlushQueue.kt:287)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.push(NonBlockingFlushQueue.kt:440)
at com.intellij.openapi.application.impl.LaterInvocator.invokeLater(LaterInvocator.java:116)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeLater(ApplicationImpl.java:473)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeLater(ApplicationImpl.java:456)
at com.jetbrains.rd.platform.protocol.EdtScheduler.queue(EdtScheduler.kt:64)
at com.jetbrains.rd.platform.protocol.EdtScheduler.queue(EdtScheduler.kt:60)
at com.jetbrains.rd.framework.MessageBroker$RdWireableDispatchHelper.doDispatch(MessageBroker.kt:122)
at com.jetbrains.rd.framework.MessageBroker$RdWireableDispatchHelper.dispatch(MessageBroker.kt:113)
at com.intellij.platform.split.connection.protocol.wire.SecureWireWritable$onWireReceived$1$1.dispatch(SecureWireWritable.kt:56)
at com.jetbrains.rd.framework.impl.RdCall.onWireReceived(RdTask.kt:430)
at com.jetbrains.rd.framework.impl.RdCall.onWireReceived(RdTask.kt:420)
at com.jetbrains.rd.framework.base.RdReactiveBase.onWireReceived(RdReactiveBase.kt:63)
at com.intellij.platform.split.connection.protocol.wire.SecureWireWritable.onWireReceived$lambda$0(SecureWireWritable.kt:42)
at com.intellij.codeWithMe.ClientId$Companion.withClientId(ClientId.kt:228)
at com.intellij.platform.split.connection.protocol.wire.SecureWireWritable.onWireReceived(SecureWireWritable.kt:40)
at com.jetbrains.rd.framework.MessageBroker.dispatchImpl-GyorWp8(MessageBroker.kt:98)
at com.jetbrains.rd.framework.MessageBroker.dispatch-GyorWp8(MessageBroker.kt:74)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport.onMessageFrameReceived(SecureWireOverStreamTransport.kt:388)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport.onFrameReceived(SecureWireOverStreamTransport.kt:352)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport.subscribeWireOnNewTransport$lambda$2(SecureWireOverStreamTransport.kt:446)
at com.intellij.platform.split.connection.protocol.channel.InternalConnectionProxyChannelImpl.onFrameReceived$lambda$0(InternalConnectionProxyChannelImpl.kt:68)
at com.intellij.platform.split.connection.protocol.channel.FramedByteChannelImpl$subscribeOnNewChannelEntry$3$1.emit(FramedByteChannelImpl.kt:381)
at kotlinx.coroutines.flow.internal.FlowValueWrapperInternalKt.emitInternal$$$capture(FlowValueWrapperInternal.kt:39)
at kotlinx.coroutines.flow.internal.FlowValueWrapperInternalKt.emitInternal(FlowValueWrapperInternal.kt)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at kotlinx.coroutines.flow.internal.FlowValueWrapperInternal.<init>(FlowValueWrapperInternal.kt:13)
at kotlinx.coroutines.flow.internal.FlowValueWrapperInternalKt.wrapInternalDebuggerCapture(FlowValueWrapperInternal.kt:24)
at kotlinx.coroutines.flow.internal.FlowValueWrapperInternalKt.wrapInternal(FlowValueWrapperInternal.kt)
at kotlinx.coroutines.flow.SharedFlowImpl.emitSuspend(SharedFlow.kt:516)
at kotlinx.coroutines.flow.SharedFlowImpl.emit$suspendImpl(SharedFlow.kt:420)
at kotlinx.coroutines.flow.SharedFlowImpl.emit(SharedFlow.kt)
at com.intellij.platform.split.connection.protocol.channel.FramedByteChannelImpl$startProcessingCollectedEntries$1.invokeSuspend(FramedByteChannelImpl.kt:392)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith$$$capture(ContinuationImpl.kt:34)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at kotlinx.coroutines.debug.internal.DebugProbesImpl$CoroutineOwner.<init>(DebugProbesImpl.kt:531)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.createOwner(DebugProbesImpl.kt:510)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.probeCoroutineCreated$kotlinx_coroutines_core(DebugProbesImpl.kt:497)
at kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineCreated(DebugProbes.kt:7)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:161)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:134)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:53)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch(LifetimeCoroutineUtil.kt:49)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch$default(LifetimeCoroutineUtil.kt:45)
at com.intellij.platform.split.connection.protocol.channel.FramedByteChannelImpl.startProcessingCollectedEntries(FramedByteChannelImpl.kt:389)
at com.intellij.platform.split.connection.protocol.channel.FramedByteChannelImpl.startProcessingCollectedEntries(FramedByteChannelImpl.kt:164)
at com.intellij.platform.split.connection.protocol.channel.InternalConnectionProxyChannelImpl.startProcessingCollectedEntries(InternalConnectionProxyChannelImpl.kt:83)
at com.intellij.platform.split.connection.protocol.transport.TransportWrapperImpl.startProcessingCollectedEntries(TransportWrapperImpl.kt:245)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport.startDeliveringMessages(SecureWireOverStreamTransport.kt:253)
at com.jetbrains.rdserver.startup.RdServerConnectionManager$handleNewClient$2$1$5.invokeSuspend(RdServerConnectionManager.kt:617)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith$$$capture(ContinuationImpl.kt:34)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at kotlinx.coroutines.debug.internal.DebugProbesImpl$CoroutineOwner.<init>(DebugProbesImpl.kt:531)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.createOwner(DebugProbesImpl.kt:510)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.probeCoroutineCreated$kotlinx_coroutines_core(DebugProbesImpl.kt:497)
at kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineCreated(DebugProbes.kt:7)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:161)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:134)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:53)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch(LifetimeCoroutineUtil.kt:49)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch$default(LifetimeCoroutineUtil.kt:45)
at com.jetbrains.rdserver.startup.RdServerConnectionManager.handleNewClient(RdServerConnectionManager.kt:545)
at com.jetbrains.rdserver.startup.RdServerConnectionManager.attachServerToWire(RdServerConnectionManager.kt:524)
at com.jetbrains.rdserver.startup.RdServerConnectionManager.createServerOnTransport$lambda$3(RdServerConnectionManager.kt:386)
at com.jetbrains.rd.util.reactive.SourceExKt$adviseWithPrev$1.invoke(SourceEx.kt:60)
at com.jetbrains.rd.util.reactive.SourceExKt$adviseWithPrev$1.invoke(SourceEx.kt:59)
at com.jetbrains.rd.util.reactive.Signal.fire(Signal.kt:32)
at com.intellij.platform.split.connection.protocol.ConnectionStateProperty.setIfNotTerminal(ConnectionStateProperty.kt:44)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport$runConnectionFlow$1.invokeSuspend(SecureWireOverStreamTransport.kt:547)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith$$$capture(ContinuationImpl.kt:34)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at kotlinx.coroutines.debug.internal.DebugProbesImpl$CoroutineOwner.<init>(DebugProbesImpl.kt:531)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.createOwner(DebugProbesImpl.kt:510)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.probeCoroutineCreated$kotlinx_coroutines_core(DebugProbesImpl.kt:497)
at kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineCreated(DebugProbes.kt:7)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:161)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:134)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:53)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch(LifetimeCoroutineUtil.kt:49)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch$default(LifetimeCoroutineUtil.kt:45)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport.runConnectionFlow(SecureWireOverStreamTransport.kt:519)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport.replaceTransport(SecureWireOverStreamTransport.kt:230)
at com.intellij.platform.split.connection.protocol.wire.SecureWireOverStreamTransport.<init>(SecureWireOverStreamTransport.kt:197)
at com.jetbrains.rdserver.startup.RdServerConnectionManager.createServerOnTransport(RdServerConnectionManager.kt:309)
at com.jetbrains.rdserver.startup.RdServerConnectionManager.handleNewWire(RdServerConnectionManager.kt:274)
at com.jetbrains.rdserver.startup.RdServerConnectionManager.handleNewTransport(RdServerConnectionManager.kt:219)
at com.jetbrains.rdserver.startup.RdServerConnectionManager$handleNewTransport$1.invokeSuspend(RdServerConnectionManager.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith$$$capture(ContinuationImpl.kt:34)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt)
at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
at kotlinx.coroutines.debug.internal.DebugProbesImpl$CoroutineOwner.<init>(DebugProbesImpl.kt:531)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.createOwner(DebugProbesImpl.kt:510)
at kotlinx.coroutines.debug.internal.DebugProbesImpl.probeCoroutineCreated$kotlinx_coroutines_core(DebugProbesImpl.kt:497)
at kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineCreated(DebugProbes.kt:7)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt.createCoroutineUnintercepted(IntrinsicsJvm.kt:161)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:134)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:53)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch(LifetimeCoroutineUtil.kt:49)
at com.jetbrains.rd.util.threading.coroutines.LifetimeCoroutineUtilKt.launch$default(LifetimeCoroutineUtil.kt:45)
at com.jetbrains.rdserver.startup.RdServerDirectConnectionsListener.startRdServer$lambda$1(RdServerDirectConnectionsListener.kt:193)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)