• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • matrix-project-plugin
    • None
    • RHEL 5.4, Java SE 1.6

      Starting with Hudson Version 1.376 every time entering the configuration of a job, all selected Slaves will be deselected.

      Trying to save such a configuration throws an exception:

      Status Code: 500
      Exception:
      Stacktrace:

      java.lang.RuntimeException: Failed to instantiate class hudson.matrix.LabelAxis from

      {"kind":"hudson.matrix.LabelAxis$DescriptorImpl","name":"label","stapler-class":"hudson.matrix.LabelAxis"}

      at hudson.model.Descriptor.newInstance(Descriptor.java:497)
      at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:767)
      at hudson.util.DescribableList.rebuildHetero(DescribableList.java:171)
      at hudson.matrix.MatrixProject.submit(MatrixProject.java:563)
      at hudson.model.Job.doConfigSubmit(Job.java:1062)
      at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:578)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:259)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
      at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:450)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:132)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.NullPointerException
      at java.util.ArrayList.(ArrayList.java:131)
      at hudson.matrix.Axis.(Axis.java:74)
      at hudson.matrix.LabelAxis.(LabelAxis.java:40)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:409)
      at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:355)
      at hudson.model.Descriptor.newInstance(Descriptor.java:488)
      ... 55 more

      Generated by Winstone Servlet Engine v0.9.10 at Fri Sep 17 15:56:52 CEST 2010

      Workaround so far, reselect nodes/labels each time.

          [JENKINS-7500] Configure Job deselects all Node/Label slaves

          pingus created issue -

          pingus added a comment -

          With version 1.377 and recreating the matrix jobs, the issue is solved. Label and node selections are persistant again.

          Without recreating the job, the system only saved the lable part of the configuration (directly after upgrading to 1.377).

          (Is it OK to close this issue being the reporter in this case?)

          pingus added a comment - With version 1.377 and recreating the matrix jobs, the issue is solved. Label and node selections are persistant again. Without recreating the job, the system only saved the lable part of the configuration (directly after upgrading to 1.377). (Is it OK to close this issue being the reporter in this case?)
          pingus made changes -
          Fix Version/s New: current [ 10162 ]
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Closed [ 6 ]

          pingus added a comment -

          Sorry, too early too happy.

          After a while of further configuration work, the issue reappears. Every time I open the configuration all selected nodes and labels are gone again.

          pingus added a comment - Sorry, too early too happy. After a while of further configuration work, the issue reappears. Every time I open the configuration all selected nodes and labels are gone again.
          pingus made changes -
          Resolution Original: Fixed [ 1 ]
          Status Original: Closed [ 6 ] New: Reopened [ 4 ]

          Alan Harder added a comment -

          do you get any javascript errors reported in your browser?

          can you post steps to recreate the issue with a newly created matrix project?

          Alan Harder added a comment - do you get any javascript errors reported in your browser? can you post steps to recreate the issue with a newly created matrix project?
          Alan Harder made changes -
          Status Original: Reopened [ 4 ] New: Open [ 1 ]
          Alan Harder made changes -
          Link New: This issue is duplicated by JENKINS-7499 [ JENKINS-7499 ]

          pingus added a comment -

          Yes, after some additional tests I've seen the issue occurs when selecting all nodes or all labels only.

          1. Create new matrix project
          2. Add axis slave
          3.a Select all nodes
          3.b Select all labels
          4. Save
          5. Configure again
          6. Open axis and all selections are gone

          If you select only a subset, the selection will be stored.

          pingus added a comment - Yes, after some additional tests I've seen the issue occurs when selecting all nodes or all labels only. 1. Create new matrix project 2. Add axis slave 3.a Select all nodes 3.b Select all labels 4. Save 5. Configure again 6. Open axis and all selections are gone If you select only a subset, the selection will be stored.

          jpschewe added a comment -

          In my case I'm only selecting a subset.
          1. create new matrix project
          2. default axis
          3. select subset of labels
          4. save
          5. configure job
          6. all selections are gone
          At this point the save results in the exception.

          jpschewe added a comment - In my case I'm only selecting a subset. 1. create new matrix project 2. default axis 3. select subset of labels 4. save 5. configure job 6. all selections are gone At this point the save results in the exception.

            abayer Andrew Bayer
            pingus pingus
            Votes:
            17 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated:
              Resolved: