ForNeVeR / ForNeVeR/AvaloniaRider
Test instability: `terminateProcessBlocking` reports timeout
Open
Nobody has claimed this yet.
kind:bug
status:help-wanted
- Dominant language
- Kotlin
- Stars
- 583
- Forks
- 32
- Avg merge
- 2h 23m
- Merged PRs (30d)
- 1
Description
Obviously, caused by #649.
java.lang.Throwable: Previewer process 1568 was not terminated during 100ms.
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:378)
at me.fornever.avaloniarider.previewer.AvaloniaPreviewerProcessKt.terminateProcessBlocking(AvaloniaPreviewerProcess.kt:232)
at me.fornever.avaloniarider.previewer.AvaloniaPreviewerProcessKt.access$terminateProcessBlocking(AvaloniaPreviewerProcess.kt:1)
at me.fornever.avaloniarider.previewer.AvaloniaPreviewerProcess.runProcess$lambda$1(AvaloniaPreviewerProcess.kt:122)
at com.jetbrains.rd.util.lifetime.LifetimeDefinition$bracketIfAliveEx$1$1.invoke(RLifetime.kt:579)
at com.jetbrains.rd.util.lifetime.LifetimeDefinition$bracketIfAliveEx$1$1.invoke(RLifetime.kt:579)
at com.jetbrains.rd.util.lifetime.LifetimeDefinition.destruct(RLifetime.kt:501)
at com.jetbrains.rd.util.lifetime.LifetimeDefinition.terminate(RLifetime.kt:480)
at com.jetbrains.rd.util.lifetime.LifetimeDefinition.terminate$default(RLifetime.kt:447)
at me.fornever.avaloniarider.previewer.AvaloniaPreviewerSessionController$start$1.invokeSuspend(AvaloniaPreviewerSessionController.kt:457)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:98)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:610)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runDefaultDispatcherTask(CoroutineScheduler.kt:1194)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:906)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:775)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:762)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read AvaloniaPreviewerProcess.kt around terminateProcessBlocking at line 232 and trace its call from runProcess. Use the reported timeout and the connection to #649 as starting context; done means the previewer termination no longer reports a spurious timeout during the unstable test scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- devtools, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100