ForNeVeR / ForNeVeR/AvaloniaRider

Test instability: `terminateProcessBlocking` reports timeout

Open
#666 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.