Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-58211

ArtifactDeployer fails with java.lang.NoClassDefFoundError: Could not initialize class org.jruby.ext.posix.Linux64HeapFileStat

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • Jenkins 2.182
      ArtifactDeployer 1.2
      Ubuntu 16.04 LTS
      OpenJDK 1.8.0_212-8u212-b03-0ubuntu1.16.04.1-b03

      All of my jobs that use ArtifactDeployer have started failing with the following error since June 18 (which is probably when I updated all the plugin versions before leaving for a nice vacation):

      Archiving artifacts
      [ArtifactDeployer] - Starting deployment from the post-action ...
      ERROR: Step ‘[ArtifactDeployer] - Deploy the artifacts from build workspace to remote locations’ aborted due to exception:
      java.lang.NoClassDefFoundError: Could not initialize class org.jruby.ext.posix.Linux64HeapFileStat
      at org.jruby.ext.posix.LinuxPOSIX.allocateStat(LinuxPOSIX.java:44)
      at org.jruby.ext.posix.LinuxPOSIX.stat(LinuxPOSIX.java:87)
      at com.atlassian.ant.tasks.PermissionsUtils.getPermissions(PermissionsUtils.java:21)
      at com.atlassian.ant.tasks.CopyWithPerms.doFileOperations(CopyWithPerms.java:75)
      at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy$1CopyImpl.doFileOperations(LocalCopy.java:60)
      at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:568)
      at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy.copyAndGetNumbers(LocalCopy.java:83)
      at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:71)
      at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:41)
      at hudson.FilePath.act(FilePath.java:1078)
      at hudson.FilePath.act(FilePath.java:1061)
      at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher.processDeployment(ArtifactDeployerPublisher.java:204)
      at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher._perform(ArtifactDeployerPublisher.java:130)
      at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher.perform(ArtifactDeployerPublisher.java:99)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
      at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
      at hudson.model.Build$BuildExecution.post2(Build.java:186)
      at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
      at hudson.model.Run.execute(Run.java:1843)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:97)
      at hudson.model.Executor.run(Executor.java:429)

       

          [JENKINS-58211] ArtifactDeployer fails with java.lang.NoClassDefFoundError: Could not initialize class org.jruby.ext.posix.Linux64HeapFileStat

          Marius Gedminas created issue -

          Christian Molson added a comment - - edited

          I have a very similar issue, updated all plugins and Jenkins on July 2nd 2019. Here is the stack trace:

           

          java.lang.NoSuchFieldError: SIZE at org.jruby.ext.posix.HeapStruct.<clinit>(HeapStruct.java:52) at org.jruby.ext.posix.LinuxPOSIX.allocateStat(LinuxPOSIX.java:44) at org.jruby.ext.posix.LinuxPOSIX.stat(LinuxPOSIX.java:87) at com.atlassian.ant.tasks.PermissionsUtils.getPermissions(PermissionsUtils.java:21) at com.atlassian.ant.tasks.CopyWithPerms.doFileOperations(CopyWithPerms.java:75) at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy$1CopyImpl.doFileOperations(LocalCopy.java:60) at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:568) at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy.copyAndGetNumbers(LocalCopy.java:83) at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:71) at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:41) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3052) at hudson.remoting.UserRequest.perform(UserRequest.java:212) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

           

          It seems that the update of JNA in 2.181 may have caused this for us based on this commit changing SIZE to NATIVE.POINTER_SIZE: https://github.com/java-native-access/jna/commit/869bb33984a2cf701f9343ea40cca27ffec4be88#diff-d5b04c438e96aeec3c0fdad0596087ee

           To get it back up right away I've rolled back to 2.180 for now.

          Christian Molson added a comment - - edited I have a very similar issue, updated all plugins and Jenkins on July 2nd 2019. Here is the stack trace:   java.lang.NoSuchFieldError: SIZE at org.jruby.ext.posix.HeapStruct.<clinit>(HeapStruct.java:52) at org.jruby.ext.posix.LinuxPOSIX.allocateStat(LinuxPOSIX.java:44) at org.jruby.ext.posix.LinuxPOSIX.stat(LinuxPOSIX.java:87) at com.atlassian.ant.tasks.PermissionsUtils.getPermissions(PermissionsUtils.java:21) at com.atlassian.ant.tasks.CopyWithPerms.doFileOperations(CopyWithPerms.java:75) at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy$1CopyImpl.doFileOperations(LocalCopy.java:60) at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:568) at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy.copyAndGetNumbers(LocalCopy.java:83) at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:71) at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:41) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3052) at hudson.remoting.UserRequest.perform(UserRequest.java:212) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)   It seems that the update of JNA in 2.181 may have caused this for us based on this commit changing SIZE to NATIVE.POINTER_SIZE:  https://github.com/java-native-access/jna/commit/869bb33984a2cf701f9343ea40cca27ffec4be88#diff-d5b04c438e96aeec3c0fdad0596087ee  To get it back up right away I've rolled back to 2.180 for now.
          Kai Sieben made changes -
          Component/s New: copyartifact-plugin [ 15692 ]
          Kai Sieben made changes -
          Component/s Original: copyartifact-plugin [ 15692 ]

          Kai Sieben added a comment -

          I am having the same issue as cmolson. Also rolling back Jenkins from 2.184 to 2.180 solved it for now.

          Stack trace:

          ERROR: Step ‘[ArtifactDeployer] - Deploy the artifacts from build workspace to remote locations’ aborted due to exception:
          java.lang.NoSuchFieldError: SIZE
          at org.jruby.ext.posix.HeapStruct.<clinit>(HeapStruct.java:52)
          at org.jruby.ext.posix.LinuxPOSIX.allocateStat(LinuxPOSIX.java:44)
          at org.jruby.ext.posix.LinuxPOSIX.stat(LinuxPOSIX.java:87)
          at com.atlassian.ant.tasks.PermissionsUtils.getPermissions(PermissionsUtils.java:21)
          at com.atlassian.ant.tasks.CopyWithPerms.doFileOperations(CopyWithPerms.java:75)
          at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy$1CopyImpl.doFileOperations(LocalCopy.java:60)
          at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:568)
          at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy.copyAndGetNumbers(LocalCopy.java:83)
          at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:71)
          at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:41)
          at hudson.FilePath.act(FilePath.java:1078)
          at hudson.FilePath.act(FilePath.java:1061)
          at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher.processDeployment(ArtifactDeployerPublisher.java:204)
          at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher._perform(ArtifactDeployerPublisher.java:130)
          at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher.perform(ArtifactDeployerPublisher.java:99)
          at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
          at hudson.model.Build$BuildExecution.post2(Build.java:186)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
          at hudson.model.Run.execute(Run.java:1843)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          at hudson.model.ResourceController.execute(ResourceController.java:97)
          at hudson.model.Executor.run(Executor.java:429)

          Kai Sieben added a comment - I am having the same issue as cmolson . Also rolling back Jenkins from 2.184 to 2.180 solved it for now. Stack trace: ERROR: Step ‘ [ArtifactDeployer] - Deploy the artifacts from build workspace to remote locations’ aborted due to exception: java.lang.NoSuchFieldError: SIZE at org.jruby.ext.posix.HeapStruct.<clinit>(HeapStruct.java:52) at org.jruby.ext.posix.LinuxPOSIX.allocateStat(LinuxPOSIX.java:44) at org.jruby.ext.posix.LinuxPOSIX.stat(LinuxPOSIX.java:87) at com.atlassian.ant.tasks.PermissionsUtils.getPermissions(PermissionsUtils.java:21) at com.atlassian.ant.tasks.CopyWithPerms.doFileOperations(CopyWithPerms.java:75) at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy$1CopyImpl.doFileOperations(LocalCopy.java:60) at org.apache.tools.ant.taskdefs.Copy.execute(Copy.java:568) at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy.copyAndGetNumbers(LocalCopy.java:83) at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:71) at org.jenkinsci.plugins.artifactdeployer.service.ArtifactDeployerCopy.invoke(ArtifactDeployerCopy.java:41) at hudson.FilePath.act(FilePath.java:1078) at hudson.FilePath.act(FilePath.java:1061) at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher.processDeployment(ArtifactDeployerPublisher.java:204) at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher._perform(ArtifactDeployerPublisher.java:130) at org.jenkinsci.plugins.artifactdeployer.ArtifactDeployerPublisher.perform(ArtifactDeployerPublisher.java:99) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) at hudson.model.Run.execute(Run.java:1843) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429)

          Same issue

          Same stack trace as OP (java.lang.NoClassDefFoundError: Could not initialize class org.jruby.ext.posix.Linux64HeapFileStat)

          Same rollback to 2.180 here.

          No fix or workaround yet ?

          Raphaël BERGERET added a comment - Same issue Same stack trace as OP (java.lang.NoClassDefFoundError: Could not initialize class org.jruby.ext.posix.Linux64HeapFileStat) Same rollback to 2.180 here. No fix or workaround yet ?

          Joe Mihalich added a comment - - edited

          Same error on 2.186.  Rolled back to 2.180 as others did, and problem went away.

           

          ERROR: Step ‘[ArtifactDeployer] - Deploy the artifacts from build workspace to remote locations’ aborted due to exception: 
          java.lang.NoSuchFieldError: SIZE
          at org.jruby.ext.posix.HeapStruct.<clinit>(HeapStruct.java:52)
          at org.jruby.ext.posix.LinuxPOSIX.allocateStat(LinuxPOSIX.java:44)
          at org.jruby.ext.posix.LinuxPOSIX.stat(LinuxPOSIX.java:87)
          at com.atlassian.ant.tasks.PermissionsUtils.getPermissions(PermissionsUtils.java:21)
          at com.atlassian.ant.tasks.CopyWithPerms.doFileOperations(CopyWithPerms.java:75)
          at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy$1CopyImpl.doFileOperations(LocalCopy.java:60)

          Joe Mihalich added a comment - - edited Same error on 2.186.  Rolled back to 2.180 as others did, and problem went away.   ERROR: Step ‘ [ArtifactDeployer]  - Deploy the artifacts from build workspace to remote locations’ aborted due to exception:  java.lang.NoSuchFieldError: SIZE at org.jruby.ext.posix.HeapStruct.<clinit>(HeapStruct.java:52) at org.jruby.ext.posix.LinuxPOSIX.allocateStat(LinuxPOSIX.java:44) at org.jruby.ext.posix.LinuxPOSIX.stat(LinuxPOSIX.java:87) at com.atlassian.ant.tasks.PermissionsUtils.getPermissions(PermissionsUtils.java:21) at com.atlassian.ant.tasks.CopyWithPerms.doFileOperations(CopyWithPerms.java:75) at org.jenkinsci.plugins.artifactdeployer.service.LocalCopy$1CopyImpl.doFileOperations(LocalCopy.java:60)

          Still present in 2.187/1.2

          Mariusz Gronczewski added a comment - Still present in 2.187/1.2

          Joe Mihalich added a comment - - edited

          Is someone going to look into this issue?  We're blocked from upgrading until this is fixed.  

          Also if anyone has a workaround, please post it here.

          Joe Mihalich added a comment - - edited Is someone going to look into this issue?  We're blocked from upgrading until this is fixed.   Also if anyone has a workaround, please post it here.
          Joe Mihalich made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]

            seanturner83 Sean Turner
            mgedmin Marius Gedminas
            Votes:
            14 Vote for this issue
            Watchers:
            19 Start watching this issue

              Created:
              Updated: