• Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • maven-plugin
    • None

      After updating Jenkins to 1.519, I have been unable to have a successful Maven build.

      I have updated all of my Jenkins plugins, updated Maven to latest (3.0.5) and JDK to u25 as well. Yet, all of my jobs that were successful prior to the update now fail:

      Building in workspace /var/lib/jenkins/jobs/ActivityMonitor/workspace
      Checkout:workspace / /var/lib/jenkins/jobs/ActivityMonitor/workspace - hudson.remoting.LocalChannel@7c47385f
      Using strategy: Default
      Last Built Revision: Revision fb90a83382ae24fa99a2698711dd129aa741ed81 (origin/master)
      Cloning the remote Git repository
      Cloning repository git@bitbucket.org:TheBetterverse/activitymonitor.git
      git --version
      git version 1.7.1
      Fetching upstream changes from origin
      Commencing build of Revision fb90a83382ae24fa99a2698711dd129aa741ed81 (origin/master)
      Checking out Revision fb90a83382ae24fa99a2698711dd129aa741ed81 (origin/master)
      Parsing POMs
      [workspace] $ /var/lib/jenkins/tools/hudson.model.JDK/java/bin/java -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.3.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven /var/lib/tomcat6/webapps/jenkins/WEB-INF/lib/remoting-2.24.jar /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.3.jar 53091
      <===[JENKINS REMOTING CAPACITY]===>channel started
      Jun 23, 2013 1:52:45 PM hudson.remoting.JarCacheSupport$1 run
      WARNING: Failed to resolve a jar 499d39f122464e098986a83ab40cf1a0
      java.io.IOException: No such file or directory
      	at java.io.UnixFileSystem.createFileExclusively(Native Method)
      	at java.io.File.createTempFile(File.java:1879)
      	at hudson.remoting.FileSystemJarCache.retrieve(FileSystemJarCache.java:60)
      	at hudson.remoting.JarCacheSupport$1.run(JarCacheSupport.java:62)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:89)
      
      channel stopped
      ERROR: Failed to parse POMs
      java.io.IOException: Remote call on Channel to Maven [/var/lib/jenkins/tools/hudson.model.JDK/java/bin/java, -cp, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.3.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven/boot/plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven, /var/lib/tomcat6/webapps/jenkins/WEB-INF/lib/remoting-2.24.jar, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.3.jar, 53091] failed
      	at hudson.remoting.Channel.call(Channel.java:731)
      	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:775)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
      	at hudson.model.Run.execute(Run.java:1593)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:491)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:242)
      Caused by: java.lang.NoClassDefFoundError: hudson/maven/AbstractMavenBuilder
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:635)
      	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:289)
      	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:270)
      	at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:113)
      	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
      	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
      	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
      	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
      	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
      	at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:98)
      	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(FutureTask.java:334)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:724)
      Caused by: java.lang.ClassNotFoundException: hudson.maven.AbstractMavenBuilder
      	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:237)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 25 more
      Caused by: java.util.concurrent.ExecutionException: java.io.IOException: No such file or directory
      	at hudson.remoting.AsyncFutureImpl.get(AsyncFutureImpl.java:75)
      	at hudson.remoting.FutureAdapter.get(FutureAdapter.java:55)
      	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229)
      	... 27 more
      Caused by: java.io.IOException: No such file or directory
      	at java.io.UnixFileSystem.createFileExclusively(Native Method)
      	at java.io.File.createTempFile(File.java:1879)
      	at hudson.remoting.FileSystemJarCache.retrieve(FileSystemJarCache.java:60)
      	at hudson.remoting.JarCacheSupport$1.run(JarCacheSupport.java:62)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:89)
      SSH: Current build result is [FAILURE], not going to run.
      Finished: FAILURE
      

          [JENKINS-18459] IOException: No Such File

          And so ? I don't see the relation to bug 15120 and it's no use to solve the problem.

          Fabrice Bacchella added a comment - And so ? I don't see the relation to bug 15120 and it's no use to solve the problem.

          Timo Boewing added a comment -

          I can confirm the very same issue. Jenkins is running as WAR in Tomcat7 on Ubuntu.

          Timo Boewing added a comment - I can confirm the very same issue. Jenkins is running as WAR in Tomcat7 on Ubuntu.

          Jörg Herbst added a comment -

          I got the same issue on my maschine (jenkins as WAR on tomcat6 on opensuse). After a lot of research we found JENKINS-18578. Jenkins will create a JAR cache in the home directory of the user running tomcat. The home of tomcat6 on opensuse is /usr/share/tomcat6 in my case, but the owner is root, so tomcat cannot create any files or directories here.
          I've create a .jenkins directory manually and changed the owner to tomcat, now everything is working again. Maybe this helps.

          Jörg Herbst added a comment - I got the same issue on my maschine (jenkins as WAR on tomcat6 on opensuse). After a lot of research we found JENKINS-18578 . Jenkins will create a JAR cache in the home directory of the user running tomcat. The home of tomcat6 on opensuse is /usr/share/tomcat6 in my case, but the owner is root, so tomcat cannot create any files or directories here. I've create a .jenkins directory manually and changed the owner to tomcat, now everything is working again. Maybe this helps.

          Jörg Herbst added a comment -

          If the hard coded directory is not writeable no more builds can be done

          Jörg Herbst added a comment - If the hard coded directory is not writeable no more builds can be done

          Yes, it works for me. The build failure are now my own. So bugs 15120 is irrelevant as far as i know.

          Fabrice Bacchella added a comment - Yes, it works for me. The build failure are now my own. So bugs 15120 is irrelevant as far as i know.

          Igor Kostenko added a comment -

          I'm so happy that I found that bug. I couldn't upgrade to jenkins 1.519-1.523, no linux slaves were running (windows slaves were fine) and I couldn't figure out what the issue was. Now I see that it was because of my .jenkins script in home directory of build user (and we have mounted home directories - so it is the same directory on all hosts). After renaming the script and changing all jobs which using it upgraded jenkins is working ok. Hopefully this cache directory wouldn't be messed up because many hosts are using it.

          Igor Kostenko added a comment - I'm so happy that I found that bug. I couldn't upgrade to jenkins 1.519-1.523, no linux slaves were running (windows slaves were fine) and I couldn't figure out what the issue was. Now I see that it was because of my .jenkins script in home directory of build user (and we have mounted home directories - so it is the same directory on all hosts). After renaming the script and changing all jobs which using it upgraded jenkins is working ok. Hopefully this cache directory wouldn't be messed up because many hosts are using it.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          src/main/java/hudson/remoting/FileSystemJarCache.java
          http://jenkins-ci.org/commit/remoting/8c85a77a733473820c1815d9cdf5a30feddd6cbb
          Log:
          JENKINS-18459 reporting where it's failing to write to assist diagnostics

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/hudson/remoting/FileSystemJarCache.java http://jenkins-ci.org/commit/remoting/8c85a77a733473820c1815d9cdf5a30feddd6cbb Log: JENKINS-18459 reporting where it's failing to write to assist diagnostics

            kohsuke Kohsuke Kawaguchi
            asphodan First Last
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: