I'm trying to use cobertura to find code coverage by instrumenting my server
side classes and using a Junit/HttpUnit client. Things seem to go fine until I
stop the tomcat process at the end of the test cycle. Once that happens, my
cobertura.ser file is corrupted and the following exceptions are logged in the
tomcat catalina.out file. Has anyone else seen something like this or have any
suggestions for something to try? It seems like too much of tomcat is already
shut down for cobertura to update its results.
(Also posted to the cobertura list)
Thanks in advance,
Jeff
Apr 26, 2007 3:06:52 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.
Could not load java.io.ObjectInputStream.The eventual following stack trace is
caused by an error thrown for debugging purposes as well as to attempt to
terminatethe thread which caused the illegal access, and has no functional
impact.
java.lang.IllegalStateException
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1244)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at
net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler.loadCoverageData(CoverageDataFileHandler.java:98)
at
net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler.loadCoverageData(CoverageDataFileHandler.java:67)
at
net.sourceforge.cobertura.coveragedata.ProjectData.loadCoverageDataFromDatafile(ProjectData.java:262)
at
net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:238)
at
net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:31)
at java.lang.Thread.run(Thread.java:595)
Apr 26, 2007 3:06:52 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.
Could not load java.util.Collections$SynchronizedMap. The eventual following
stack trace is caused by an error thrown for debugging purposes as well as to
attempt to terminate the thread which caused the illegal access, and has no
functional impact.
java.lang.IllegalStateException
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1244)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:584)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1543)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1698)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1917)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1841)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1718)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
at
net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler.loadCoverageData(CoverageDataFileHandler.java:99)
at
net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler.loadCoverageData(CoverageDataFileHandler.java:67)
at
net.sourceforge.cobertura.coveragedata.ProjectData.loadCoverageDataFromDatafile(ProjectData.java:262)
at
net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:238)
at
net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:31)
at java.lang.Thread.run(Thread.java:595)
Cobertura: Loaded information on 0 classes.
Exception in thread "Thread-1" java.lang.NullPointerException
at
net.sourceforge.cobertura.coveragedata.CoverageDataContainer.merge(CoverageDataContainer.java:208)
at
net.sourceforge.cobertura.coveragedata.ProjectData.merge(ProjectData.java:142)
at
net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:245)
at
net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:31)
at java.lang.Thread.run(Thread.java:595)
Cobertura: Loaded information on 0 classes.
Exception in thread "Thread-12" java.lang.NullPointerException
at
net.sourceforge.cobertura.coveragedata.CoverageDataContainer.merge(CoverageDataContainer.java:208)
at
net.sourceforge.cobertura.coveragedata.ProjectData.merge(ProjectData.java:142)
at
net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:245)
at
net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:31)
at java.lang.Thread.run(Thread.java:595)