Jacoco maven plugin clogs up logs with Exceptions

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Jacoco maven plugin clogs up logs with Exceptions

softwareforums2013
Hi Everyone,

Below is my some portion of my console log while running sonar analysis with jacoco agent.


Caused by: java.io.IOException: Error while instrumenting class com/pear/psnit/exception/ReportingServiceException.
        at org.jacoco.agent.rt.internal_e6e56f0.core.instr.Instrumenter.instrumentError(Instrumenter.java:152)
        at org.jacoco.agent.rt.internal_e6e56f0.core.instr.Instrumenter.instrument(Instrumenter.java:103)
        at org.jacoco.agent.rt.internal_e6e56f0.CoverageTransformer.transform(CoverageTransformer.java:87)
        ... 45 more
Caused by: java.lang.IllegalStateException: Class com/pear/psnit/exception/ReportingServiceException is already instrumented.
        at org.jacoco.agent.rt.internal_e6e56f0.core.internal.instr.InstrSupport.assertNotInstrumented(InstrSupport.java:89)
        at org.jacoco.agent.rt.internal_e6e56f0.core.internal.instr.ClassInstrumenter.visitField(ClassInstrumenter.java:55)
        at org.jacoco.agent.rt.internal_e6e56f0.asm.ClassVisitor.visitField(ClassVisitor.java:272)
        at org.jacoco.agent.rt.internal_e6e56f0.asm.ClassReader.readField(ClassReader.java:768)
        at org.jacoco.agent.rt.internal_e6e56f0.asm.ClassReader.accept(ClassReader.java:689)
        at org.jacoco.agent.rt.internal_e6e56f0.asm.ClassReader.accept(ClassReader.java:506)
        at org.jacoco.agent.rt.internal_e6e56f0.core.instr.Instrumenter.instrument(Instrumenter.java:83)
        at org.jacoco.agent.rt.internal_e6e56f0.core.instr.Instrumenter.instrument(Instrumenter.java:101)
        ... 46 more
java.lang.instrument.IllegalClassFormatException: Error while instrumenting class com/pear/psnit/mapreduce/entity/ListEvent.
        at org.jacoco.agent.rt.internal_e6e56f0.CoverageTransformer.transform(CoverageTransformer.java:89)
        at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
        at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)


I have done some analysis regarding it and as per my finding I this is because jacoco agent is set two times. When I start my analysis I see below messagse which I think it is setting it 2 times and trying to instrument the classes 2 times.

As soon as I run this command, after few lines it prints these messages:

[INFO] ------------------------------------------------------------------------
[INFO] Building mrservices 1.4 cass poc branch2 1.4.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The artifact org.apache.commons:commons-io:jar:1.3.2 has been relocated to commons-io:commons-io:jar:1.3.2
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ mrservices-1.4-cass-poc-branch ---
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.2.201409121644:prepare-agent (default-cli) @ mrservices-1.4-cass-poc-branch ---
[INFO] argLine set to -javaagent:C:\\Users\\ubrajbm\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.7.2.201409121644\\org.jacoco.agent-0.7.2.201409121644-runtime.jar=destfile=C:\\Users\\ubrajbm\\Documents\\sumesh\\junk\\target\\jacoco.exec
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.2.201409121644:prepare-agent (default) @ psnmrservices-1.4-cass-poc-branch ---
[INFO] argLine set to -javaagent:C:\\Users\\ubrajbm\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.7.2.201409121644\\org.jacoco.agent-0.7.2.201409121644-runtime.jar=destfile=C:\\Users\\ubrajbm\\Documents\\sumesh\\junk\\target\\jacoco.exec



I am not sure why this is happening.

Below is my jacoco plugin configuration in pom.xml


                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
                                <version>2.18.1</version>
                                <configuration>
                                        <systemPropertyVariables>
                                                <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
                                        </systemPropertyVariables>
                                </configuration>
                        </plugin>
                        <plugin>
                                <groupId>org.jacoco</groupId>
                                <artifactId>jacoco-maven-plugin</artifactId>
                                <version>0.7.2.201409121644</version>
                                <executions>
  <execution>
                                                <id>default-instrument</id>
                                                <goals>
                                                        <goal>instrument</goal>
                                                </goals>
                                        </execution>
  <execution>
                                                <id>default-restore-instrumented-classes</id>
                                                <goals>
                                                        <goal>restore-instrumented-classes</goal>
                                                </goals>
                                        </execution>
                                        <execution>
                                                <goals>
                                                        <goal>prepare-agent</goal>
                                                </goals>
                                        </execution>
                                        <execution>
                                                <id>default-report</id>
                                                <phase>prepare-package</phase>
                                                <goals>
                                                        <goal>report</goal>
                                                </goals>
                                        </execution>
                                        <execution>
                                                <id>default-check</id>
                                                <goals>
                                                        <goal>check</goal>
                                                </goals>
                                                <configuration>
                                                        <rules>
                                                               
                                                                <rule implementation="org.jacoco.maven.RuleConfiguration">
                                                                        <element>BUNDLE</element>
                                                                        <limits>
                                                                               
                                                                                <limit implementation="org.jacoco.report.check.Limit">
                                                                                        <counter>COMPLEXITY</counter>
                                                                                        <value>COVEREDRATIO</value>
                                                                                        <minimum>0.10</minimum>
                                                                                </limit>
                                                                        </limits>
                                                                </rule>
                                                        </rules>
                                                </configuration>
                                        </execution>
                                </executions>
                        </plugin>



Any help would be great or if anyone has fixed these issue