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

Jenkins Executor, newBuild and SCM logic should be robust runtime exceptions in bogus plugins

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      We have identified an issue with dead Jenkins executor, which happens with the following stacktrace:

      java.lang.NullPointerException 
      at org.jenkinsci.plugins.p4.client.ConnectionConfig.<init>(ConnectionConfig.java:18) 
      at org.jenkinsci.plugins.p4.client.ConnectionHelper.<init>(ConnectionHelper.java:61) 
      at org.jenkinsci.plugins.p4.PerforceScm.guessBrowser(PerforceScm.java:186) 
      at hudson.scm.SCM.getEffectiveBrowser(SCM.java:146) 
      at hudson.scm.ChangeLogSet.browserFromBuild(ChangeLogSet.java:82) 
      at hudson.scm.ChangeLogSet.<init>(ChangeLogSet.java:76) 
      at com.tikal.jenkins.plugins.multijob.MultiJobChangeLogSet.<init>(MultiJobChangeLogSet.java:11) 
      at com.tikal.jenkins.plugins.multijob.MultiJobBuild.<init>(MultiJobBuild.java:36) 
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
      at java.lang.reflect.Constructor.newInstance(Constructor.java:408) 
      at jenkins.model.lazy.LazyBuildMixIn.newBuild(LazyBuildMixIn.java:184) 
      at hudson.model.AbstractProject.newBuild(AbstractProject.java:1018) 
      at hudson.model.AbstractProject.createExecutable(AbstractProject.java:1209) 
      at hudson.model.AbstractProject.createExecutable(AbstractProject.java:144) 
      at hudson.model.Executor$1.call(Executor.java:364) 
      at hudson.model.Executor$1.call(Executor.java:346) 
      at hudson.model.Queue._withLock(Queue.java:1379) 
      at hudson.model.Queue.withLock(Queue.java:1240) 
      at hudson.model.Executor.run(Executor.java:346)
      

      And... all Jenkins logic layers do not catch Runtime exceptions and hence lead to the executor death. These exceptions should be handled in...

      1) hudson.model.Executor.run
      2) jenkins.model.lazy.LazyBuildMixIn.newBuild
      3) hudson.scm.ChangeLogSet.browserFromBuild

      It would make the core more robust

        Attachments

          Issue Links

            Activity

            oleg_nenashev Oleg Nenashev created issue -
            recampbell Ryan Campbell made changes -
            Field Original Value New Value
            Labels robustness
            rysteboe Rebecca Ysteboe made changes -
            Assignee Rebecca Ysteboe [ rysteboe ]
            rysteboe Rebecca Ysteboe made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            rysteboe Rebecca Ysteboe made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            rysteboe Rebecca Ysteboe made changes -
            Assignee Rebecca Ysteboe [ rysteboe ]
            jamesdumay James Dumay made changes -
            Remote Link This issue links to "CloudBees Internal OSS-2428 (Web Link)" [ 18320 ]
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 3267 (Web Link)" [ 19956 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            jglick Jesse Glick made changes -
            Resolution Fixed [ 1 ]
            Status In Review [ 10005 ] Resolved [ 5 ]

              People

              Assignee:
              jglick Jesse Glick
              Reporter:
              oleg_nenashev Oleg Nenashev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: