java - 系统升级后jvm崩溃

标签 java linux multithreading jvm tomcat5.5

我们有一个 tomcat 应用程序,在我们升级操作系统(系统的“aptitude dist-upgrade”,这是一个 32 位 Debian Lenny)后,每隔 10-15 分钟就开始崩溃。 java没有升级。 当 jvm 崩溃时,catalina.out 中会生成完整的线程转储。但任何线程中都没有显示错误/异常。有谁知道可能是什么导致了这个问题?谢谢。

这是线程转储的开始:

Mar 6, 2010 7:00:02 AM org.apache.coyote.http11.Http11BaseProtocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
Full thread dump Java HotSpot(TM) Server VM (1.5.0_17-b04 mixed mode):

"Thread-27" prio=1 tid=0x082f5aa8 nid=0xe95 waiting on condition [0xa1bfc000..0xa1bfce30]
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.core.StandardService.stop(StandardService.java:495)
        at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
        at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
        at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)

"SIGHUP handler" daemon prio=1 tid=0xa4ce85d0 nid=0xe93 in Object.wait() [0xa1cfe000..0xa1cfef30]
        at java.lang.Object.wait(Native Method)
        - waiting on  (a org.apache.catalina.startup.Catalina$CatalinaShutdownHook)
        at java.lang.Thread.join(Thread.java:1095)
        - locked  (a org.apache.catalina.startup.Catalina$CatalinaShutdownHook)
        at java.lang.Thread.join(Thread.java:1148)
        at java.lang.Shutdown.runHooks(Shutdown.java:132)
        at java.lang.Shutdown.sequence(Shutdown.java:173)
        at java.lang.Shutdown.exit(Shutdown.java:218)
        - locked  (a java.lang.Class)
        at java.lang.Terminator$1.handle(Terminator.java:35)
        at sun.misc.Signal$1.run(Signal.java:195)
        at java.lang.Thread.run(Thread.java:595)

"http-8080-Monitor" prio=1 tid=0xa3ff1780 nid=0xbb4 in Object.wait() [0xa1eea000..0xa1eeafb0]
        at java.lang.Object.wait(Native Method)
        - waiting on  (a org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
        at org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable.run(ThreadPool.java:564)
        - locked  (a org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
        at java.lang.Thread.run(Thread.java:595)

"http-8080-Processor25" daemon prio=1 tid=0xa3ff0aa8 nid=0xbb3 sleeping[0xa1f6b000..0xa1f6c030]
        at java.lang.Thread.sleep(Native Method)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:62)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)
.....

以下是升级后的更新内容

[UPGRADE] base-files 5lenny4 -> 5lenny5
[UPGRADE] bind9-host 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] dnsutils 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] dpkg 1.14.25 -> 1.14.28
[UPGRADE] dselect 1.14.25 -> 1.14.28
[UPGRADE] filter-syslog 1.22-1 -> 1.23-1
[UPGRADE] gzip 1.3.12-6 -> 1.3.12-6+lenny1
[UPGRADE] krb5-clients 1.6.dfsg.4~beta1-5lenny1 -> 1.6.dfsg.4~beta1-5lenny2
[UPGRADE] krb5-rsh-server 1.6.dfsg.4~beta1-5lenny1 -> 1.6.dfsg.4~beta1-5lenny2
[UPGRADE] krb5-user 1.6.dfsg.4~beta1-5lenny1 -> 1.6.dfsg.4~beta1-5lenny2
[UPGRADE] libbind9-40 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] libc6 2.7-18 -> 2.7-18lenny2
[UPGRADE] libc6-dev 2.7-18 -> 2.7-18lenny2
[UPGRADE] libc6-i686 2.7-18 -> 2.7-18lenny2
[UPGRADE] libdns45 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] libexpat1 2.0.1-4+lenny1 -> 2.0.1-4+lenny3
[UPGRADE] libisc45 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] libisccc40 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] libisccfg40 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] libkadm55 1.6.dfsg.4~beta1-5lenny1 -> 1.6.dfsg.4~beta1-5lenny2
[UPGRADE] libkrb53 1.6.dfsg.4~beta1-5lenny1 -> 1.6.dfsg.4~beta1-5lenny2
[UPGRADE] libltdl3 1.5.26-4 -> 1.5.26-4+lenny1
[UPGRADE] liblwres40 1:9.5.1.dfsg.P3-1 -> 1:9.5.1.dfsg.P3-1+lenny1
[UPGRADE] libmysqlclient15off 5.0.51a-24+lenny2 -> 5.0.51a-24+lenny3
[UPGRADE] libpq5 8.3.8-0lenny1 -> 8.3.9-0lenny1
[UPGRADE] libssl0.9.8 0.9.8g-15+lenny5 -> 0.9.8g-15+lenny6
[UPGRADE] libxerces2-java 2.9.1-2 -> 2.9.1-2+lenny1
[UPGRADE] linux-image-2.6.26-2-686 2.6.26-19lenny2 -> 2.6.26-21lenny3
[UPGRADE] linux-libc-dev 2.6.26-19lenny2 -> 2.6.26-21lenny3
[UPGRADE] locales 2.7-18 -> 2.7-18lenny2
[UPGRADE] login 1:4.1.1-6 -> 1:4.1.1-6+lenny1
[UPGRADE] munin-node 1.2.6-10~lenny1 -> 1.2.6-10~lenny2
[UPGRADE] mysql-common 5.0.51a-24+lenny2 -> 5.0.51a-24+lenny3
[UPGRADE] openssl 0.9.8g-15+lenny5 -> 0.9.8g-15+lenny6
[UPGRADE] passwd 1:4.1.1-6 -> 1:4.1.1-6+lenny1
[UPGRADE] python2.5 2.5.2-15 -> 2.5.2-15+lenny1
[UPGRADE] python2.5-minimal 2.5.2-15 -> 2.5.2-15+lenny1
[UPGRADE] sudo 1.6.9p17-2 -> 1.6.9p17-2+lenny1
[UPGRADE] tzdata 2009l-0lenny1 -> 2010a-0lenny1
[UPGRADE] usbutils 0.73-10 -> 0.73-10lenny1
[UPGRADE] wallet-client 0.9-1 -> 0.10-1~sbp50+1

最佳答案

这可能很棘手。 Java 5.0 已过其 EOL 日期,并且不会产生新的公共(public)更新。最后更新是5.0 update 21。您可以从Java product archive下载它。页面,但不能保证这会解决问题。 (我在 Sun 网站上找不到 Java 5.0 的发行说明,但即使他们也可能无法回答这个问题。)

所以,您的选择是:

  • 下载最新的 5.0 更新并查看是否可以解决问题,或者
  • 升级到 Java 6.0。

关于java - 系统升级后jvm崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395693/

相关文章:

c++ - 线程未能影响性能

c - 在 GNU C 内联汇编中编写 Linux int 80h 系统调用包装器

c - Linux的C语言中的进程(Ubuntu)

java - 创建只有 ID 属性的实体表有意义吗?

java - 添加迄今为止的数字(H :mm:ss:SSS) format

java - 如何正确从视频内存加载/卸载纹理?

c++ - 为什么线程从未作为 C++ 标准的一部分包含在内?

c++ - 如何获取进程的主线程 ID(通过其 ID 知道)?

java - BIRT 报告 : Web Service Data Source doesn't return data

关于 "dynamic"变量的 Java 快速问题