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

ArrayOutOfBoundsException running CMakeBuild step in podman in docker

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core
    • Master: jenkins-lts docker image
      Slave 1: Centos 8 + podman in docker
      Slave 2: Debian Sid + podman in docker

      CMakeBuild step within a declarative pipeline fails with:

      Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from jenkins3_slave_1.jenkins3_default/172.21.0.3:40228
      		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1800)
      		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
      		at hudson.remoting.Channel.call(Channel.java:1001)
      		at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1121)
      		at hudson.Launcher$DecoratedLauncher.launch(Launcher.java:1253)
      		at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Decorator$1.launch(WithContainerStep.java:335)
      		at hudson.Launcher$ProcStarter.start(Launcher.java:508)
      		at hudson.Launcher$ProcStarter.join(Launcher.java:519)
      		at hudson.plugins.cmake.CmakeBuilderStep$Execution.run(CmakeBuilderStep.java:326)
      		at hudson.plugins.cmake.CmakeBuilderStep$Execution.run(CmakeBuilderStep.java:257)
      		at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
      		at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      		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)
      java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 75
      	at hudson.Launcher.maskedPrintCommandLine(Launcher.java:838)
      	at hudson.Launcher$LocalLauncher.launch(Launcher.java:976)
      	at hudson.Launcher$ProcStarter.start(Launcher.java:508)
      	at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1390)
      	at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1333)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:211)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
      	at hudson.remoting.Request$2.run(Request.java:375)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:118)
      	at java.lang.Thread.run(Thread.java:834)
      Finished: FAILURE
      

        1. docker-compose.yml
          0.4 kB
        2. Dockerfile
          0.3 kB
        3. Dockerfile_slave
          1 kB
        4. Dockerfile_slave_centos
          1 kB
        5. Jenkinsfile_linux
          2 kB
        6. plugins.txt
          0.1 kB

          [JENKINS-64414] ArrayOutOfBoundsException running CMakeBuild step in podman in docker

          This happens on versions 2.6.3 and 2.6.0 of the cmakebuilder plugin. I'm going to test some different versions of Jenkins core as well.

          James Reynolds added a comment - This happens on versions 2.6.3 and 2.6.0 of the cmakebuilder plugin. I'm going to test some different versions of Jenkins core as well.

          Further investigation makes it look like one of the arguments from "cmakeCall" are null. Unfortunately, my attempts to build and install the plugin have only ever resulted in "No such DSL method 'cmakeBuild'" from an install of the hpi generated from "mvn hpi:hpi" - so at this point I can't debug any more.

          James Reynolds added a comment - Further investigation makes it look like one of the arguments from "cmakeCall" are null. Unfortunately, my attempts to build and install the plugin have only ever resulted in "No such DSL method 'cmakeBuild'" from an install of the hpi generated from "mvn hpi:hpi" - so at this point I can't debug any more.

          It turns out this is ultimately caused by Jenkins not liking podman. Swapping out the docker link for this script:
          https://raw.githubusercontent.com/mgoltzsche/jenkins-jnlp-slave/master/docker
          fixes the problem.

          Presumably this then is caused by a permissions issue inside the build folder where the CMake plugin is unable to access some of the source files.

          This can probably be closed.

          James Reynolds added a comment - It turns out this is ultimately caused by Jenkins not liking podman. Swapping out the docker link for this script: https://raw.githubusercontent.com/mgoltzsche/jenkins-jnlp-slave/master/docker fixes the problem. Presumably this then is caused by a permissions issue inside the build folder where the CMake plugin is unable to access some of the source files. This can probably be closed.

            Unassigned Unassigned
            james_reynolds James Reynolds
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: