Bob Ballantyne edited a comment on Bug JENKINS-15593

I have one slave with:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
the other uses:
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) Client VM (build 20.10-b01, mixed mode, sharing)
The issue occurs on both.

I connect both slaves to the master using slave-agent.jnlp

I did copy the pmd.xml and cpd.xml to the master, configured a new job which only published these files. PMD publishing was successful, while parsing cpd.xml was not giving the following exception (which I have seen previously):

Building on master in workspace /var/lib/jenkins/workspace/pmd-test
[PMD] Collecting PMD analysis files...
[PMD] Finding all files that match the pattern reports/pmd.xml
[PMD] Parsing 1 files in /var/lib/jenkins/workspace/pmd-test
[PMD] Successfully parsed file /var/lib/jenkins/workspace/pmd-test/reports/pmd.xml of module with 2269 warnings.
[DRY] Collecting duplicate code analysis files...
[DRY] Finding all files that match the pattern reports/cpd.xml
[DRY] Parsing 1 files in /var/lib/jenkins/workspace/pmd-test
[DRY] Parsing of file /var/lib/jenkins/workspace/pmd-test/reports/cpd.xml failed due to an exception:

java.io.IOException: No parser found for duplicated code results file /var/lib/jenkins/workspace/pmd-test/reports/cpd.xml
at hudson.plugins.dry.parser.DuplicationParserRegistry.parse(DuplicationParserRegistry.java:93)
at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:261)
at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:220)
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:169)
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
at hudson.FilePath.act(FilePath.java:851)
at hudson.FilePath.act(FilePath.java:824)
at hudson.plugins.dry.DryPublisher.perform(DryPublisher.java:175)
at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:144)
at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:329)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:807)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:782)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:729)
at hudson.model.Run.execute(Run.java:1541)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:236)

(FYI: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.class is in the CLASSPATH because it is in the SUN rt.jar, but not what we are looking for.)

I have only one jar (xercesImpl.jar) in the PATH, which implements org.apache.xerces.jaxp.SAXParserFactoryImpl.
I created the folder "c:\Program Files\Java\jre6\lib\endorsed\" and copied that jar into it. Now PMD publishing runs successfully.

Copy/Paste detection publishing (DRY) again fails with the following error on the slave console:
Oct 23, 2012 3:40:34 PM com.youdevise.hudson.slavestatus.SlaveListener call
INFO: Slave-status listener starting
Oct 23, 2012 3:40:34 PM com.youdevise.hudson.slavestatus.SocketHTTPListener waitForConnection
INFO: Slave-status listener ready on port 3141
Oct 23, 2012 3:40:45 PM org.apache.commons.digester3.Digester getParser
SEVERE: Digester.getParser:
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
at javax.xml.parsers.SAXParserFactory.setXIncludeAware(Unknown Source)
at org.apache.commons.digester3.Digester.getFactory(Digester.java:439)
at org.apache.commons.digester3.Digester.getParser(Digester.java:652)
at org.apache.commons.digester3.Digester.getXMLReader(Digester.java:799)
at org.apache.commons.digester3.Digester.parse(Digester.java:1642)
at org.apache.commons.digester3.Digester.parse(Digester.java:1701)
at hudson.plugins.dry.parser.cpd.CpdParser.accepts(CpdParser.java:48)
at hudson.plugins.dry.parser.DuplicationParserRegistry.parse(DuplicationParserRegistry.java:77)
at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:261)
at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:220)
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:169)
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2308)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:60)
at java.lang.Thread.run(Unknown Source)
And the Jenkins log shows:
[DRY] Collecting duplicate code analysis files...
ERROR: Publisher hudson.plugins.dry.DryPublisher aborted due to exception
java.lang.NullPointerException
at org.apache.commons.digester3.Digester.getXMLReader(Digester.java:799)
at org.apache.commons.digester3.Digester.parse(Digester.java:1642)
at org.apache.commons.digester3.Digester.parse(Digester.java:1701)
at hudson.plugins.dry.parser.cpd.CpdParser.accepts(CpdParser.java:48)
at hudson.plugins.dry.parser.DuplicationParserRegistry.parse(DuplicationParserRegistry.java:77)
at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:261)
at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:220)
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:169)
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2308)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:60)
at java.lang.Thread.run(Unknown Source)

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to