Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NullPointerException at stopping Tomcat with Cobertura 2.0.3 #180

Open
gwitsch opened this issue Aug 4, 2014 · 9 comments
Open

NullPointerException at stopping Tomcat with Cobertura 2.0.3 #180

gwitsch opened this issue Aug 4, 2014 · 9 comments

Comments

@gwitsch
Copy link

gwitsch commented Aug 4, 2014

When I stop the tomcat server for cobertura to write the cobertura.ser file, a NullPointerException is thrown.

Instrumentation works fine.
[cobertura-instrument] Information: Cobertura: Saved information on 803 classes.

Start of Tomcat and jUnit Test execution works also fine. Tests pass all with no errors. The jUnit-repors are written successfully. However the coverage data is not written to cobertura.ser.

At stopping the tomcat server, the following exception is thrown:
Exception in thread "Thread-2" java.lang.NullPointerException
at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData(TouchCollector.java:104)
at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:270)
at net.sourceforge.cobertura.coveragedata.ProjectData.initialize(ProjectData.java:221)
at net.sourceforge.cobertura.coveragedata.ProjectData.getGlobalProjectData(ProjectData.java:208)
at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:248)
at net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:32)
at java.lang.Thread.run(Thread.java:744)

Tomcat is startet/stopped with cargo.
Any suggestion what goes wrong?

@funkfan82
Copy link

Hi,
I've got the same issue on JBoss (6.1.1) shutdown as well. But it seems intermittent. Any quick suggestion is greatly appreciated as this results in report with 0% coverage. Also this is with yesterdays (Sep 9 2014) 2.1.0-snapshot.

(Thread-113) Exception in thread "Thread-113" java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/TouchCollector$ApplyToClassDataLightClassmapListener
(Thread-113) at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesToSingleClassOnProjectData(TouchCollector.java:128)
(Thread-113) at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData(TouchCollector.java:112)
(Thread-113) at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:272)
(Thread-113) at net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:33)
(Thread-113) at java.lang.Thread.run(Thread.java:744)
(Thread-113) Caused by: java.lang.ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector$ApplyToClassDataLightClassmapListener from Module "deployment.scope.ear:main" from Service Module Loader at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196)
(Thread-113) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444)
(Thread-113) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432)
(Thread-113) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374)
(Thread-113) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119)
(Thread-113) ... 5 more

@CoberturaUser
Copy link

Did any of you find a way out?

@gwitsch
Copy link
Author

gwitsch commented Nov 6, 2014

No, i switched to JaCoCo.

@dalvizu
Copy link

dalvizu commented Feb 3, 2015

Looks like someone attempted a work-around if catalina.home is defined:

https://github.com/cobertura/cobertura/blob/dddd1d30d19006c0a0ae0119ac8039557d0e206b/cobertura/src/main/java/net/sourceforge/cobertura/util/ShutdownHooks.java

TouchCollector may need to be added

@anilverma070
Copy link

I am still seeing this issue with 2.1.1. Cobertura.jar is copied to tomcat's lib as well as WEB-INF/lib of applications.

Exception in thread "Thread-2" java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/TouchCollector$ApplyToClassDataLightClassmapListener
at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesToSingleClassOnProjectData(TouchCollector.java:125)
at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData(TouchCollector.java:110)
at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:272)
at net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:33)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector$ApplyToClassDataLightClassmapListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
... 5 more

@simplelzl
Copy link

i have the same question with 2.1.1. When i shut down tomcat ,the issue occur.
java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/TouchCollector$ApplyToClassDataLightClassmapListener
at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesToSingleClassOnProjectData(TouchCollector.java:125) ~[cobertura-2.1.1.jar:2.1.1]
at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData(TouchCollector.java:110) ~[cobertura-2.1.1.jar:2.1.1]
at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:272) ~[cobertura-2.1.1.jar:2.1.1]
at net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:33) ~[cobertura-2.1.1.jar:2.1.1]
at java.lang.Thread.run(Thread.java:744) ~[na:1.7.0_45]
Caused by: java.lang.ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector$ApplyToClassDataLightClassmapListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) ~[na:na]
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) ~[na:na]
... 5 common frames omitted

@chetanaher
Copy link

Do any one found out solution on this ... I am facing the same

@simplelzl
Copy link

There are two methods to save coverage. 1.shut down toimcat 2.use coberturaFlush.war, and call the
saving method.Now the first method is not useful. I use the second.

@chetanaher
Copy link

chetanaher commented May 26, 2016

Hi Thanks for your help
How to use this coberturaFlush.war Do i need to install on server I am using websphere ...
And then what I have to do ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants