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

ArrayIndexOutOfBoundsException in getPrimaryView when no view exists

    • Jenkins 2.206

      This exception occurs while defining a view using a job DSL when no other view exists:

      SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed ConfigurationAsCode.init
      java.lang.ArrayIndexOutOfBoundsException: 0
          at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:388)
          at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:397)
          at hudson.model.ViewGroupMixIn.getPrimaryView(ViewGroupMixIn.java:172)
          at hudson.model.ViewGroupMixIn.getView(ViewGroupMixIn.java:134)
          at jenkins.model.Jenkins.getView(Jenkins.java:1834)
          at javaposse.jobdsl.plugin.JenkinsJobManagement.createOrUpdateView(JenkinsJobManagement.java:175)
          at javaposse.jobdsl.dsl.JobManagement$createOrUpdateView$2.call(Unknown Source)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:141)
          at javaposse.jobdsl.dsl.AbstractDslScriptLoader$_extractGeneratedViews_closure5.doCall(AbstractDslScriptLoader.groovy:216)
      

      Can be reproduced using the following Dockerfile:

      FROM jenkins/jenkins:latest
      
      RUN echo job-dsl > /usr/share/jenkins/ref/plugins.txt
      RUN echo configuration-as-code >> /usr/share/jenkins/ref/plugins.txt
      RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
      
      RUN echo 2.0 > /usr/share/jenkins/ref/jenkins.install.UpgradeWizard.state
      
      RUN echo 'jenkins:' > /usr/share/jenkins/ref/jenkins.yaml.override
      RUN echo 'jobs:' >> /usr/share/jenkins/ref/jenkins.yaml.override
      RUN echo '  - file: /var/jenkins_home/my-view.groovy' >> /usr/share/jenkins/ref/jenkins.yaml.override
      
      RUN /bin/echo -e "listView('test') {\n\
          description('test desc')\n\
      }" > /usr/share/jenkins/ref/my-view.groovy
      
      ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false
      

      and the following commands:

      • docker build -t testjenkins .
      • docker run -p 8080:8080 -p 50000:50000 -it testjenkins

          [JENKINS-60092] ArrayIndexOutOfBoundsException in getPrimaryView when no view exists

          Pierre-Louis Bonicoli created issue -
          Oleg Nenashev made changes -
          Link New: This issue is related to JENKINS-60247 [ JENKINS-60247 ]
          Jesse Glick made changes -
          Assignee New: Pierre-Louis Bonicoli [ pilou ]
          Jesse Glick made changes -
          Released As New: 2.206
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Fixed but Unreleased [ 10203 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "jenkins #4348 (Web Link)" [ 24017 ]

          Oleg Nenashev added a comment -

          Fixed it 2.206. I am not sure whether it is a good LTS candidate taking the plan to introduce the default view, but I will leave the decision to olivergondza

          Oleg Nenashev added a comment - Fixed it 2.206. I am not sure whether it is a good LTS candidate taking the plan to introduce the default view, but I will leave the decision to olivergondza
          Oleg Nenashev made changes -
          Status Original: Fixed but Unreleased [ 10203 ] New: Resolved [ 5 ]
          Oleg Nenashev made changes -
          Labels Original: exception New: exception lts-candidate
          Daniel Beck made changes -
          Released As Original: 2.206 New: Jenkins 2.206
          Oliver Gondža made changes -
          Labels Original: exception lts-candidate New: 2.204.2-fixed exception

            pilou Pierre-Louis Bonicoli
            pilou Pierre-Louis Bonicoli
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: