1

最近,我们的一台 Tomcat 服务器开始在部署 WAR 文件时遇到问题。我们在 webapps 目录中有一个现有版本的 WAR 以及未打包的版本。当我们将新版本的 WAR 文件放入 webapps 目录时,它不会解压新的 WAR 并且应用程序会死掉。如果我删除旧的解压版本,有时它会解压新版本。其他时候我必须重新启动 Tomcat 才能重新启动。

在 catalina 日志中,我发现以下错误:

WARNING: Error during context [/pos] destroy
java.lang.StackOverflowError
        at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
        at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
        at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:342)
        at java.lang.StringCoding.encode(StringCoding.java:378)
        at java.lang.String.getBytes(String.java:812)
        at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
        at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
        at java.io.File.isDirectory(File.java:723)
        at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:360)
        at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
        at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
        at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
        at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
        at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
        at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)

最后一行重复了几百次。

然后还有其他错误。我很乐意将它们粘贴进去,但我怀疑第一个错误最有可能是罪魁祸首。

任何线索这意味着什么?

一旦我删除旧的解包并在必要时重新启动,一切似乎都很好。

我们在 Red Hat Linux 2.6.18 上运行 Tomcat 5.5.23。

4

1 回答 1

0

这是 Tomcat 5.5.23 中的一个错误 https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=620996

升级或降级。

再见

于 2010-09-27T08:52:51.290 回答