Dmitry
Dmitry

Reputation: 1096

Static analysis on Jenkins slave fails

My job fails on Jenkins slave node while collecting static analysis results.

The same job works fine on master Jenkins node. I tried to connect Jenkins using ssh credentials or via "execute command" - the same result.

Master and slave use the same Java version: OpenJDK Zulu 8.20.0.5-linux64.

I tried to clean Maven repo, .jenkins/cache and slave.jar - nothing helps. slave.jar is the correct file, md5 matches the one on master.

Static Analysis Collector Plug-in is latest version (1.50). Checkstyle plugin is in latest version as well (3.47). Jenkins version is 1.642.3.

00:02:49.892 [INFO] ------------------------------------------------------------------------
00:02:49.892 [INFO] BUILD SUCCESS
00:02:49.892 [INFO] ------------------------------------------------------------------------
00:02:49.892 [INFO] Total time: 01:58 min
00:02:49.892 [INFO] Finished at: 2017-02-07T23:13:52+02:00
00:02:50.165 [INFO] Final Memory: 48M/1332M
00:02:50.165 [INFO] ------------------------------------------------------------------------
00:02:50.197 ###################################################################
00:02:50.197 job-exporter plugin  started
00:02:50.197     hudson.version: 1.642.3
00:02:50.197     host: 
00:02:50.197     id: 11
00:02:50.197     duration: 2 min 50 sec
00:02:50.197     slave: jenkins-slave
00:02:50.197     started: 2017-02-07T23:11:02
00:02:50.197     result: SUCCESS
00:02:50.197     summary: Executor #3 for jenkins-slave : executing phb-test-1 #11
00:02:50.197     executor: 3
00:02:50.197     elapsedTime: 170200
00:02:50.197     number: 11
00:02:50.198     jobName: phb-test-1
00:02:50.198     gitBranch: origin/master
00:02:50.198   we have 1 build cause:
00:02:50.241       Cause.UserIdCause  Started by user ---
00:02:50.241     user.id: ---
00:02:50.241     user.name: --- --- (---)
00:02:50.241     user.fullName: --- --- (---)
00:02:50.241     user.emailAddress: [email protected]
00:02:50.247   new file written: /root/workspace/phb-test-1/hudsonBuild.properties
00:02:50.247 job-exporter plugin  finished.  That's All Folks!
00:02:50.247 ###################################################################
00:02:50.430 [CHECKSTYLE] Collecting checkstyle analysis files...
00:02:51.087 ERROR: Build step failed with exception
00:02:51.087 java.lang.NullPointerException
00:02:51.089    at org.apache.commons.digester3.Digester.getXMLReader(Digester.java:799)
00:02:51.089    at org.apache.commons.digester3.Digester.parse(Digester.java:1642)
00:02:51.089    at org.apache.commons.digester3.Digester.parse(Digester.java:1745)
00:02:51.089    at hudson.plugins.checkstyle.parser.CheckStyleParser.parse(CheckStyleParser.java:67)
00:02:51.089    at hudson.plugins.analysis.core.AbstractAnnotationParser.parse(AbstractAnnotationParser.java:54)
00:02:51.089    at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:325)
00:02:51.089    at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:283)
00:02:51.089    at hudson.plugins.analysis.core.FilesParser.parserCollectionOfFiles(FilesParser.java:234)
00:02:51.089    at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:203)
00:02:51.089    at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
00:02:51.089    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2719)
00:02:51.089    at hudson.remoting.UserRequest.perform(UserRequest.java:120)
00:02:51.089    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
00:02:51.089    at hudson.remoting.Request$2.run(Request.java:326)
00:02:51.089    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
00:02:51.089    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
00:02:51.089    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
00:02:51.089    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
00:02:51.089    at java.lang.Thread.run(Thread.java:745)
00:02:51.089    at ......remote call to ph-jenkins-slave-ntn(Native Method)
00:02:51.089    at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
00:02:51.089    at hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
00:02:51.089    at hudson.remoting.Channel.call(Channel.java:781)
00:02:51.089    at hudson.FilePath.act(FilePath.java:979)
00:02:51.089    at hudson.FilePath.act(FilePath.java:968)
00:02:51.089    at hudson.plugins.checkstyle.CheckStylePublisher.perform(CheckStylePublisher.java:78)
00:02:51.089    at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:68)
00:02:51.089    at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:295)
00:02:51.089    at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
00:02:51.089    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
00:02:51.089    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782)
00:02:51.089    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723)
00:02:51.089    at hudson.model.Build$BuildExecution.post2(Build.java:185)
00:02:51.089    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668)
00:02:51.089    at hudson.model.Run.execute(Run.java:1763)
00:02:51.089    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
00:02:51.089    at hudson.model.ResourceController.execute(ResourceController.java:98)
00:02:51.089    at hudson.model.Executor.run(Executor.java:410)
00:02:51.089 Build step 'Publish Checkstyle analysis results' marked build as failure
00:02:51.096 Finished: FAILURE

When I enable log for org.apache.commons.digester3.Digester category, I also see the following exception:

Feb 07, 2017 11:13:53 PM SEVERE org.apache.commons.digester3.Digester getParser
Digester.getParser: 
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.SAXParserFactory.setSchema(SAXParserFactory.java:394)
    at org.apache.commons.digester3.Digester.getFactory(Digester.java:441)
    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:1745)
    at hudson.plugins.checkstyle.parser.CheckStyleParser.parse(CheckStyleParser.java:67)
    at hudson.plugins.analysis.core.AbstractAnnotationParser.parse(AbstractAnnotationParser.java:54)
    at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:325)
    at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:283)
    at hudson.plugins.analysis.core.FilesParser.parserCollectionOfFiles(FilesParser.java:234)
    at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:203)
    at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2719)
    at hudson.remoting.UserRequest.perform(UserRequest.java:120)
    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:68)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Thank you

Upvotes: 1

Views: 861

Answers (1)

Dmitry
Dmitry

Reputation: 1096

I noticed that on master node there is -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl argument to the running process. I added the same as VM arguments to slave node definition and now it works fine.

Upvotes: 1

Related Questions