-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Jenkins 1.427 (also tested git 9dca500e2 private build).
Master ubuntu 10.04 and slave ubuntu 11.04
Build is configured to use maven 2.2.1.
I have a multi-module maven project that builds correctly on a slave node but when I invoke a "build now" on one of the sub-modules of the build it fails with mkdir failed.
The mkdir path is correct for the slave but I instrumented the code and did a local build based off current git and it seems to me that the mkdir is being performed on the master node (this would explain the failure because directory permissions will forbid the mkdir on the master).
I see the following in the build log.
Started by user richm
Building remotely on bishop
java.io.IOException: Failed to mkdirs: /opt/jenkins/slave/workspace/tcserv/tcserv/tcweb
at hudson.FilePath.mkdirs(FilePath.java:817)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1191)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:555)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:443)
at hudson.model.Run.run(Run.java:1376)
at hudson.maven.MavenBuild.run(MavenBuild.java:257)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:230)
FATAL: null
java.lang.NullPointerException
at hudson.maven.MavenBuild$RunnerImpl.post2(MavenBuild.java:753)
at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:604)
at hudson.model.Run.run(Run.java:1401)
at hudson.maven.MavenBuild.run(MavenBuild.java:257)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:230)
But after having added a few LOGGER.warn() calls into FilePath#mkdir() I see the following output on the master log (but nothing in the slave log)
26-Aug-2011 22:40:39 hudson.FilePath$8 invoke
WARNING: Mkdirs for file /opt/jenkins/slave/workspace/tcserv/tcserv/tcweb with channel hudson.remoting.LocalChannel@45cb0cdc
26-Aug-2011 22:40:39 hudson.FilePath$8 invoke
WARNING: 2nd Mkdirs for file /opt/jenkins/slave/workspace/tcserv/tcserv/tcweb
26-Aug-2011 22:40:39 hudson.FilePath$8 invoke
WARNING: mkdirs said false
If I temporarily create a writable parent folder on the master then the mkdirs succeeds.
Note the NPE that occurs after the mkdirs/checkout has failed is unrelated to the primary failure. I've got a patch that stops the NPE and will issue a pull request for that particular bit in due course.