From 7a09fcc63eee715c09aee0282ba348f26bfef64a Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 1 Aug 2016 19:40:39 +0300 Subject: [PATCH] IDEA-158905 Invalid arguments : Already listening [timeout, port, localAddress] --- .../debugger/engine/DebugProcessImpl.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java index 2a74022dab14..abe5a7b9e36b 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java @@ -117,7 +117,7 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb private RemoteConnection myConnection; private JavaDebugProcess myXDebugProcess; - private Map myArguments; + private volatile Map myArguments; private final List myRenderers = new ArrayList<>(); @@ -299,8 +299,6 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb } private void stopConnecting() { - DebuggerManagerThreadImpl.assertIsManagerThread(); - Map arguments = myArguments; try { if (arguments == null) { @@ -322,9 +320,6 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb catch (ExecutionException e) { LOG.error(e); } - finally { - closeProcess(true); - } } @Override @@ -1436,6 +1431,7 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb @Override public void stop(boolean forceTerminate) { + stopConnecting(); // does this first place in case debugger manager hanged accepting debugger connection (forever) getManagerThread().terminateAndInvoke(createStopCommand(forceTerminate), DebuggerManagerThreadImpl.COMMAND_TIMEOUT); } @@ -1474,7 +1470,12 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb } } else { - stopConnecting(); + try { + stopConnecting(); + } + finally { + closeProcess(true); + } } } }