Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop runIde leaves process running #1392

Open
alisevych opened this issue Nov 17, 2022 · 1 comment
Open

Stop runIde leaves process running #1392

alisevych opened this issue Nov 17, 2022 · 1 comment
Assignees
Labels
comp-rd Issue is related RD ctg-bug Issue is a bug priority-minor Issue is rated as minor

Comments

@alisevych
Copy link
Member

alisevych commented Nov 17, 2022

Description

If a developer stops runIde gradle task using Stop button there are process(es) left running.
The same is for rerun Run or Debug using Idea interface.
That leads to incorrect UnitTestBot work on the next runs.

To Reproduce

  1. Run the 'UTBotJava' project in IntelliJ Idea
  2. Run or Debug utbot-intellij:runIde task
  3. Wait for debug IDEA to be opened
  4. Stop runIde task
  5. Open Task Manager
  6. Rerun runIde task

Expected behavior

Stop gradle task should close all running processes.
Next runs should be performed correctly - without influences from previous ones.

Actual behavior

There is a process left running.

202454977-d75e1244-5c55-484a-ad28-92f962ffd7dd

image

image

Next run often fail with exception.

Visual proofs (screenshots, logs, images)

com.jetbrains.rd.framework.base.ProtocolNotBoundException: Server.EngineProcessModel.obtainClassId::<<unbound>> is not bound to a protocol
	at com.jetbrains.rd.framework.base.RdBindableBase.nb(RdBindableBase.kt:52)
	at com.jetbrains.rd.framework.base.RdBindableBase.getProtocol(RdBindableBase.kt:36)
	at com.jetbrains.rd.framework.impl.RdCall.createResponseScheduler(RdTask.kt:262)
	at com.jetbrains.rd.framework.impl.RdCall.startSuspending(RdTask.kt:256)
	at com.jetbrains.rd.framework.IRdCall$DefaultImpls.startSuspending(TaskInterfaces.kt:167)
	at com.jetbrains.rd.framework.impl.RdCall.startSuspending(RdTask.kt:184)
	at com.jetbrains.rd.framework.IRdCall$DefaultImpls.startSuspending$default(TaskInterfaces.kt:167)
	at org.utbot.intellij.plugin.process.EngineProcess$obtainClassId$1.invokeSuspend(EngineProcess.kt:215)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	at org.utbot.intellij.plugin.process.EngineProcess.obtainClassId(EngineProcess.kt:214)
	at org.utbot.intellij.plugin.generator.UtTestsDialogProcessor$createTests$1$1$run$1$2.compute(UtTestsDialogProcessor.kt:173)
	at org.utbot.intellij.plugin.generator.UtTestsDialogProcessor$createTests$1$1$run$1$2.compute(UtTestsDialogProcessor.kt:171)
	at com.intellij.openapi.project.DumbService.lambda$runReadActionInSmartMode$0(DumbService.java:113)
	at com.intellij.openapi.project.DumbService.lambda$runReadActionInSmartMode$1(DumbService.java:157)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:941)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:68)
	at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:150)
	at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:113)
	at org.utbot.intellij.plugin.generator.UtTestsDialogProcessor$createTests$1$1.run(UtTestsDialogProcessor.kt:171)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:442)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$5(CoreProgressManager.java:493)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)

Environment

Windows 10 Pro
IntelliJ IDEA 2022.2.3

Additional context

Current workaround is to close debug IDE gracefully - by clicking X button on IDEA window.

image

Or to manually kill running processes.

@alisevych alisevych added ctg-bug Issue is a bug comp-rd Issue is related RD labels Nov 17, 2022
@korifey korifey moved this to Todo in UTBot Java Nov 17, 2022
@alisevych alisevych added this to the 2022.12 Release milestone Nov 21, 2022
@denis-fokin denis-fokin removed this from the 2022.12 Release milestone Dec 21, 2022
@Domonion
Copy link
Collaborator

Domonion commented Feb 7, 2023

Issue is postpone as require too much time and effort to redesign current architecture. Attempt was made at branch kononov-process-death-redesign.

Consider raising priority of this issue if problem persists and significantly affects developing process.

@alisevych alisevych added the priority-minor Issue is rated as minor label Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-rd Issue is related RD ctg-bug Issue is a bug priority-minor Issue is rated as minor
Projects
Status: Todo
Development

No branches or pull requests

3 participants