From 92483fca8f1c0434672d3824049099bec35c54dc Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Mon, 18 Apr 2022 20:50:12 +0800 Subject: [PATCH] RelayHandler clone relayChannel whent exceptionCaught. #2152 --- .../com/alibaba/arthas/tunnel/client/RelayHandler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tunnel-client/src/main/java/com/alibaba/arthas/tunnel/client/RelayHandler.java b/tunnel-client/src/main/java/com/alibaba/arthas/tunnel/client/RelayHandler.java index 234b0f24d..5b1868063 100644 --- a/tunnel-client/src/main/java/com/alibaba/arthas/tunnel/client/RelayHandler.java +++ b/tunnel-client/src/main/java/com/alibaba/arthas/tunnel/client/RelayHandler.java @@ -41,6 +41,12 @@ public final class RelayHandler extends ChannelInboundHandlerAdapter { @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { logger.error("RelayHandler error", cause); - ctx.close(); + try { + if (relayChannel.isActive()) { + relayChannel.close(); + } + } finally { + ctx.close(); + } } }