Tomcatの起動エラーが発生するのにログが出力されず困っていたが、原因はディスク容量が満杯になってしまっていたからだった。

$ sudo service tomcat6 start
Starting tomcat6: Error code 4        [FAILED]

ログを確認すると、ファイルの更新日時は現在時刻になっているのに、中身が更新されていなかった。

$ cd /usr/share/tomcat6/logs
$ ll -rt {catalina.out,initd.log}

catalina.outへの最後の出力がEOFExceptionだったため、workの下にあるSESSION.serが原因と思い削除してみたが、起動エラーは変わらず。

org.apache.catalina.session.StandardManager start  
SEVERE: Exception loading sessions from persistent storage  
java.io.EOFException  
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2279)  
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2748)  
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)  
at java.io.ObjectInputStream.(ObjectInputStream.java:280)  
at org.apache.catalina.util.CustomObjectInputStream.(CustomObjectInputStream.java:58)  
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)  
at org.apache.catalina.session.StandardManager.load(StandardManager.java:321)  
at org.apache.catalina.session.StandardManager.start(StandardManager.java:637)  
at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:438)  
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4258)  
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)  
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)  
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)  
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)  
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)  
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)  
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)  
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)  
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)  
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)  
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)  
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)  
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)  
at org.apache.catalina.core.StandardService.start(StandardService.java:516)  
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)  
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
at java.lang.reflect.Method.invoke(Method.java:597)  
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)  
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

dfで使用量を確認してみると、/varが100%使用されていることが分かった。

$ df -h

FileSystem                      Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol01 9.9G 9.9G 0G 100% /var

duで/varの下の何が容量を食っているのか確認して適切に削除すると、Tomcatは動くようになった。