SpringBoot 程序运行中突然中止, JVM 退出

5 天前
 Geekerstar

程序退出后,生成了一个 hs_err_pid1301132.log 文件,前面的内容如下,可以根据这个判断出是什么原因导致的吗?

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0x000072ca636529ce, pid=1301132, tid=0x000072c7af5ff640

JRE version: Java(TM) SE Runtime Environment (8.0_371) (build 1.8.0_371-b11)

Java VM: Java HotSpot(TM) 64-Bit Server VM (25.371-b11 mixed mode linux-amd64 compressed oops)

Problematic frame:

J 39882 C2 sun.nio.ch.IOUtil.write(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;IILsun/nio/ch/NativeDispatcher;)J (509 bytes) @ 0x000072ca636529ce [0x000072ca636528a0+0x12e]

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

If you would like to submit a bug report, please visit:

http://bugreport.java.com/bugreport/crash.jsp

2248 次点击
所在节点    Java
48 条回复
julyclyde
3 天前
@Geekerstar session deactivated 啊?你在 shell 里手工启动的 java ??
Geekerstar
3 天前
@julyclyde #41 有启动脚本,我昨天也怀疑是不是在 shell 里手动启动的服务,但是和这个日期匹配不上。2w 1d 21h 28min 5.200 。这个日期要长于我们上次发版的日期。
spkingr
3 天前
楼主解决了吗?
可能是一个小问题,也可能是一个大问题,github 上那个问题居然是 epoll 的原因,太离谱了。
所以,有没有可能是使用了其他第三方库导致?加载了一些什么大对象,大的类型导致元空间放不下,建议把问题代码发给 AI 问下看有没有什么线索。
Geekerstar
3 天前
@spkingr 目前感觉大概率和 websocket 有关,排查了系统发现这种线程“XNIO-1 I/O-6” 只有在 websocket 断开连接的时候会使用。有可能是 websocket 断开连接的时候,有用到 undertow 和底层的 netty 的相关操作导致的。我怀疑是前端先建立某个连接,然后持续了很久,后端因为什么原因这个连接断开了,前端再发起断开连接请求,就导致这个问题。
Geekerstar
3 天前
@julyclyde #41 我顺着你的这个思路查了一下,应该是找到为啥提示 session deactivated 的原因了。9.23 日让客户改一下启动脚本,加一下打印 GC 日志的参数,结果客户把最后一句去掉了 > /dev/null 2>&1 & ,这个会导致持续将日志写到 nohup.out 里。
julyclyde
3 天前
@Geekerstar 如果是从 shell 里启动的话,那还真是受 ulimit 影响(不过,是这个脚本启动之前的 ulimit ,而不是你另外开一个 shell 查看的 ulimit ,即使这俩值相同,也是两码事)

后台服务,不应该在 user.slice 下启动;应该在 system.slice 下启动
spkingr
3 天前
@Geekerstar 这个 bug 后面重现了吗?如果重现,能不能禁用前端的 ws 再试试运行一段时间?最好是本地复现就好搞
Geekerstar
3 天前
@spkingr #47 目前为止没有复现,只出现了一次。要是能复现的话就能找到原因了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1078482

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX