问题描述:
今天早上09:06:22和09:06:27两个tomcat几乎同时崩溃,进程退出,jvm崩溃日志没有出现(这个很奇怪)。
仔细查看了几乎所有日志,包括tomcat mgt/portal,apache, mod_jk, linux kern/auth/syslog/messages等,总结如下
1. tomcat日志中,系统在崩溃前日志记录最后的信息是mgt一键登录。
token: dtwyF7x9Ey99M6JSELbs46iR6ZhS9O26 successfully ,userIdStr :125014
2009-11-18 09:54:23,283: token: dF2UO1EQPJEyku5NIyNEAupjlF2hGXUP successfully ,userIdStr :56653
2009-11-18 09:54:25,759: token: 3y2SXDXnNlvqt2dyeeqeEn5ONB0mi5Qh successfully ,userIdStr :125075
2009-11-18 09:54:27,084: token: F2daPQPyRgKF35VUb4nvQPFa1Dj2x5rj successfully ,userIdStr :56653
2009-11-18 09:54:27,085: request = token=F2daPQPyRgKF35VUb4nvQPFa1Dj2x5rj &userId=56653
2. apache日志中,系统不可用的第一条记录基本上是与一键登录相关。
3. kernel日志中,两个tomcat崩溃时,打印出两条信息
Nov 17 20:54:22 debian kernel: [24748693.479249] java[14025]: segfault at 46c48a48 ip 7f5c6167318d sp 46c48a30 error 6 in libnet.so[7f5c61666000+13000]
Nov 17 20:54:27 debian kernel: [24748701.611482] java[11821]: segfault at 45acbd48 ip 7f5dfb21718d sp 45acbd30 error 6 in libnet.so[7f5dfb20a000+13000]
kernel记录的时间有些问题,我对了一下,就是早上09:54的时候。

其中kernel日志肯定是jvm崩溃的信息,前面两条只是一个可能性。
kernel信息大概的意思是jvm调用系统本地调用(JNI/JNA)进行网络操作(libnet.so)的时候,系统发生了崩溃。
去网上查询一下,关于kernel信息的问题,看看是不是jdk/tomcat/libnet的bug或兼容性问题。
其他开发人员更多的分析一下这次升级主要做了哪些改动,特别是网络操作方面,也包括数据库调用。