-
Bug
-
Resolution: Fixed
-
Major
I am running Jenkins 1.486 on an OpenSUSE linux with various plugins (see attached System_Info.pdf for full list). I have 2 Windows slaves attached on which I run FLEX build/analysis/unit-test/flexcover.
(This is a follow on from https://issues.jenkins-ci.org/browse/JENKINS-15593 - and has the workaround which includes "c:\Program Files\Java\jre6\lib\endorsed\xercesImpl.jar" to prevent exceptions).
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
For static analysis, I use FlexPMD which produces pmd.xml and cpd.xml files. Whenever I try to publish a cpd.xml file (from either slave), I get the following exception:
[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)
Finished: FAILURE
The Java console on the slave shows the following:
Oct 24, 2012 11:23:38 AM com.youdevise.hudson.slavestatus.SlaveListener call
INFO: Slave-status listener starting
Oct 24, 2012 11:23:38 AM com.youdevise.hudson.slavestatus.SocketHTTPListener waitForConnection
INFO: Slave-status listener ready on port 3141
Oct 24, 2012 11:23:55 AM 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)
Sample cpd.xml file attached