arthas
arthas copied to clipboard
http api StackOverflowError server error
- [ ] 我已经在 issues 里搜索,没有重复的issue。
环境信息
-
arthas-boot.jar
或者as.sh
的版本:3.6.1 - Arthas 版本: 3.6.1
- 操作系统版本: macos, centos7
- 目标进程的JVM版本: 1.8
- 执行
arthas-boot
的版本: 3.6.1
重现问题的步骤
通过http api
接口请求,返回Server error
请求参数:
{
"action": "exec",
"requestId": "",
"sessionId": "",
"consumerId": "",
"command": "logger --name xxxxx.ActivityController"
}
日志如下
在终端执行arthas命令,正常返回

期望的结果
正常返回
实际运行的结果
本地debug
- result 结果代码
- 通过 fastjson 将result转json字符串,提示Stack Overflow
-
result结果信息
2022-05-16 16:55:32 [arthas-NettyWebsocketTtyBootstrap-4-1] INFO c.a.a.d.i.n.h.logging.LoggingHandler -[id: 0x1e54a700, L:/127.0.0.1:8563] READ: [id: 0xa00766f5, L:/127.0.0.1:8563 - R:/127.0.0.1:65429]
2022-05-16 16:55:32 [arthas-NettyWebsocketTtyBootstrap-4-1] INFO c.a.a.d.i.n.h.logging.LoggingHandler -[id: 0x1e54a700, L:/127.0.0.1:8563] READ COMPLETE
2022-05-16 16:55:32 [arthas-TermServer-1-4] ERROR c.t.a.c.s.t.i.h.HttpRequestHandler -arthas process http request error: /api
java.lang.StackOverflowError: null
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:318)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:472)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:154)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:318)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:472)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:472)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:154)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:318)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:472)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:154)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:318)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:472)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:154)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:318)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:472)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:154)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:318)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:472)
at com.alibaba.arthas.deps.com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:154