#3085 导致arthas-tunnel-server-4.1.2-fatjar无法使用
envgap__alibaba__arthas-3090
01 / FAILURE SIGNATURE
As reported upstream
java.lang.NoSuchMethodError: io.netty.handler.codec.compression.ZlibCodecFactory.newZlibDecoder(Lio/netty/handler/codec/compression/ZlibWrapper;I)Lio/netty/handler/codec/compression/ZlibDecoder;
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
aeb9c9d1e9c8732378ef18f51e7043d858526a38- Manifest
pom.xml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
alibaba/arthas #3090 · read the original issue
- [x] 我已经在 [issues](https://github.com/alibaba/arthas/issues) 里搜索,没有重复的issue。
### 环境信息
* `arthas-boot.jar` 或者 `as.sh` 的版本: 4.1.2
* Arthas 版本: 4.1.2
* 操作系统版本: centos 7+
* 目标进程的JVM版本: jdk 8
* 执行`arthas-boot`的版本: 4.1.2
### 重现问题的步骤
1. tunnel-server 界面输入完agentid,点击连接 tunnel-client时,界面无任何响应,tunnel-server后台服务报错
### 期望的结果
连接成功
### 实际运行的结果
```
2025-12-01 14:40:17.954 ERROR 1 --- [rver-worker-3-5] c.a.arthas.tunnel.server.RelayHandler :
java.lang.NoSuchMethodError: io.netty.handler.codec.compression.ZlibCodecFactory.newZlibDecoder(Lio/netty/handler/codec/compression/ZlibWrapper;I)Lio/netty/handler/codec/compression/ZlibDecoder;
at io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decompressContent(DeflateDecoder.java:115) ~[netty-codec-http-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decode(DeflateDecoder.java:82) ~[netty-codec-http-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.handler.codec.http.websocketx.extensions.compression.PerMessageDeflateDecoder.decode(PerMessageDeflateDecoder.java:91) ~[netty-codec-http-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.handler.codec.http.websocketx.extensions.compression.PerMessageDeflateDecoder.decode(PerMessageDeflateDecoder.java:31) ~[netty-codec-http-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[netty-codec-4.1.101.Final.jar!/:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) [netty-codec-4.1.101.Final.jar!/:4.1.101.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) [netty-codec-4.1.101.Final.jar!/:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:796) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:732) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:658) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998) [netty-common-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.128.Final.jar!/:4.1.128.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.128.Final.jar!/:4.1.128.Final]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191]
```
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]