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

Matrix build on multiple hosts cant be imported by 1.373

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • matrix-project-plugin
    • None
    • Solaris 10, sparc. Hudson home on nfs server mounted with v3. JVM 1.5.0_06-b05
      Windows
      Linux ubuntu

      After upgrade to 1.373 our matrix build stop working. Even creating of a new job did not work. The job executes a shell script on multiple nodes in parallel. Configuration changes are simply lost. A NPE option was thrown :

      Caused by: java.lang.NullPointerException
      at java.util.ArrayList.<init>(ArrayList.java:133)
      at hudson.matrix.Axis.<init>(Axis.java:74)
      at hudson.matrix.LabelAxis.<init>(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:494)
      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:466)
      at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:743)
      at hudson.util.DescribableList.rebuildHetero(DescribableList.java:172)
      at hudson.matrix.MatrixProject.submit(MatrixProject.java:561)
      at hudson.model.Job.doConfigSubmit(Job.java:1086)
      at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:571)
      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:585)
      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)

      a roll back to 1.372 fixed the issue.

        1. UIerror.txt
          5 kB
        2. stdouterror.txt
          10 kB
        3. doubleSlaveConfig.png
          doubleSlaveConfig.png
          20 kB

          [JENKINS-7281] Matrix build on multiple hosts cant be imported by 1.373

          anilarora added a comment -

          It appears that the treeview for the Label/Nodes does not submit any data. This happens for the build on multiple nodes tree view as well, meaning that none of my selections will be passed to the server.

          anilarora added a comment - It appears that the treeview for the Label/Nodes does not submit any data. This happens for the build on multiple nodes tree view as well, meaning that none of my selections will be passed to the server.

          emmulator added a comment -

          I just upgraded from 1.36x to 1.374 and my matrix config pages have two sections to specify nodes/slaves: a new detatchable/deletable section titled "Slaves", and the old "Build on multiple nodes" section. Is this the same issue, or am I just not understanding the new UI? I'll attach a screenshot.

          emmulator added a comment - I just upgraded from 1.36x to 1.374 and my matrix config pages have two sections to specify nodes/slaves: a new detatchable/deletable section titled "Slaves", and the old "Build on multiple nodes" section. Is this the same issue, or am I just not understanding the new UI? I'll attach a screenshot.

          emmulator added a comment -

          Screenshot of double slave/node config for matrix build after upgrade to 1.374.

          emmulator added a comment - Screenshot of double slave/node config for matrix build after upgrade to 1.374.

          emmulator added a comment -

          If I try to manually kick off the job as configured in the screenshot, I get the stacktrace captured in UIerror.txt.

          If I uncheck the old "Build on multiple nodes" and select the slaves I want in the new UI element, then try to kick off the build manually, I get no feedback in the UI, but the contents of stdouterror.txt in the hudson log.

          If I delete the new 'Slave' section and try to configure with the old "Build on multiple nodes" section, I see the behavior described in this ticket, where my selections are never saved. And if I try to kick off the build I get no feedback in the UI and a similar stacktrace in the log

          emmulator added a comment - If I try to manually kick off the job as configured in the screenshot, I get the stacktrace captured in UIerror.txt. If I uncheck the old "Build on multiple nodes" and select the slaves I want in the new UI element, then try to kick off the build manually, I get no feedback in the UI, but the contents of stdouterror.txt in the hudson log. If I delete the new 'Slave' section and try to configure with the old "Build on multiple nodes" section, I see the behavior described in this ticket, where my selections are never saved. And if I try to kick off the build I get no feedback in the UI and a similar stacktrace in the log

          emmulator added a comment -

          I tried reverting to 1.372, but I still got the "java.lang.InstantiationError: hudson.model.Label". Reverting to 1.371 allowed me to start running matrix builds again.

          emmulator added a comment - I tried reverting to 1.372, but I still got the "java.lang.InstantiationError: hudson.model.Label". Reverting to 1.371 allowed me to start running matrix builds again.

          emmulator added a comment -

          Are this and issue JENKINS-7314 the same?

          emmulator added a comment - Are this and issue JENKINS-7314 the same?

          jrvilda added a comment -

          Also happens in windows.
          Having already set up tasks with nodes, to modify any configuration parameter nodes loses or gives error 500, forced to modify the config.xml by hand.

          jrvilda added a comment - Also happens in windows. Having already set up tasks with nodes, to modify any configuration parameter nodes loses or gives error 500, forced to modify the config.xml by hand.

          Code changed in hudson
          User: : mindless
          Path:
          trunk/hudson/main/core/src/main/java/hudson/matrix/AxisList.java
          http://jenkins-ci.org/commit/34498
          Log:
          JENKINS-7281 return emptyList for empty AxisList so "Build on multiple nodes"
          on config page doesn't always come up checked even when unused.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : mindless Path: trunk/hudson/main/core/src/main/java/hudson/matrix/AxisList.java http://jenkins-ci.org/commit/34498 Log: JENKINS-7281 return emptyList for empty AxisList so "Build on multiple nodes" on config page doesn't always come up checked even when unused.

          Code changed in hudson
          User: : mindless
          Path:
          trunk/hudson/main/core/src/main/resources/hudson/matrix/LabelAxis/config.jelly
          http://jenkins-ci.org/commit/34500
          Log:
          JENKINS-7281 add setTimeout call before creating TreeView.. avoids JS errors,
          at least on firefox/mac.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : mindless Path: trunk/hudson/main/core/src/main/resources/hudson/matrix/LabelAxis/config.jelly http://jenkins-ci.org/commit/34500 Log: JENKINS-7281 add setTimeout call before creating TreeView.. avoids JS errors, at least on firefox/mac.

          dogfood added a comment -

          Integrated in hudson_main_trunk #243
          JENKINS-7281 add setTimeout call before creating TreeView.. avoids JS errors,
          at least on firefox/mac.
          JENKINS-7281 return emptyList for empty AxisList so "Build on multiple nodes"
          on config page doesn't always come up checked even when unused.

          mindless :
          Files :

          • /trunk/hudson/main/core/src/main/resources/hudson/matrix/LabelAxis/config.jelly

          mindless :
          Files :

          • /trunk/hudson/main/core/src/main/java/hudson/matrix/AxisList.java

          dogfood added a comment - Integrated in hudson_main_trunk #243 JENKINS-7281 add setTimeout call before creating TreeView.. avoids JS errors, at least on firefox/mac. JENKINS-7281 return emptyList for empty AxisList so "Build on multiple nodes" on config page doesn't always come up checked even when unused. mindless : Files : /trunk/hudson/main/core/src/main/resources/hudson/matrix/LabelAxis/config.jelly mindless : Files : /trunk/hudson/main/core/src/main/java/hudson/matrix/AxisList.java

          Code changed in hudson
          User: : kohsuke
          Path:
          branches/rc/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly
          trunk/www/changelog.html
          http://jenkins-ci.org/commit/34598
          Log:
          [FIXED JENKINS-7281]
          A matrix build configuration page with multiple nodes/labels was broken since 1.373.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : kohsuke Path: branches/rc/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly trunk/www/changelog.html http://jenkins-ci.org/commit/34598 Log: [FIXED JENKINS-7281] A matrix build configuration page with multiple nodes/labels was broken since 1.373.

          dogfood added a comment -

          Integrated in hudson_main_trunk #254
          Merged revisions 34598 via svnmerge from
          https://www.dev.java.net/svn/hudson/branches/rc

          ........
          r34598 | kohsuke | 2010-09-09 22:00:37 +0200 (Thu, 09 Sep 2010) | 2 lines

          [FIXED JENKINS-7281]
          A matrix build configuration page with multiple nodes/labels was broken since 1.373.
          ........

          kohsuke :
          Files :

          • /trunk/hudson/main
          • /trunk/hudson/main/test/pom.xml
          • /trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly

          dogfood added a comment - Integrated in hudson_main_trunk #254 Merged revisions 34598 via svnmerge from https://www.dev.java.net/svn/hudson/branches/rc ........ r34598 | kohsuke | 2010-09-09 22:00:37 +0200 (Thu, 09 Sep 2010) | 2 lines [FIXED JENKINS-7281] A matrix build configuration page with multiple nodes/labels was broken since 1.373. ........ kohsuke : Files : /trunk/hudson/main /trunk/hudson/main/test/pom.xml /trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly

          Alan Harder added a comment -

          This UI is really not working at all for me, on Firefox 3.6.8 / Mac OS X.
          The setTimeout thing I added does allow a first newly-added Slave axis to work, but adding another one results in js errors when I mouseover the first one, and clicking on the 2nd one results in the first one expanding/collapsing. If I save a job with a slave axis and then come back to configure, that control
          works when the page comes up but again things break when I add another one.

          Alan Harder added a comment - This UI is really not working at all for me, on Firefox 3.6.8 / Mac OS X. The setTimeout thing I added does allow a first newly-added Slave axis to work, but adding another one results in js errors when I mouseover the first one, and clicking on the 2nd one results in the first one expanding/collapsing. If I save a job with a slave axis and then come back to configure, that control works when the page comes up but again things break when I add another one.

          Alan Harder added a comment -

          I've got a refactor that is working for me.. will cleanup and commit.

          Alan Harder added a comment - I've got a refactor that is working for me.. will cleanup and commit.

          Alan Harder added a comment -

          oops, I didn't notice the commit above was to branches/rc, so my last testing didn't use the latest code. that fix is working.. I'll just move the include from layout.jelly to MatrixProject/configure-entries.jelly for a more localized fix.

          Alan Harder added a comment - oops, I didn't notice the commit above was to branches/rc, so my last testing didn't use the latest code. that fix is working.. I'll just move the include from layout.jelly to MatrixProject/configure-entries.jelly for a more localized fix.

          Code changed in hudson
          User: : mindless
          Path:
          trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly
          trunk/hudson/main/core/src/main/resources/lib/layout/layout.jelly
          http://jenkins-ci.org/commit/34729
          Log:
          JENKINS-7281 move include of yui treeview from layout.jelly
          to MatrixProject/configure-entries.jelly

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : mindless Path: trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly trunk/hudson/main/core/src/main/resources/lib/layout/layout.jelly http://jenkins-ci.org/commit/34729 Log: JENKINS-7281 move include of yui treeview from layout.jelly to MatrixProject/configure-entries.jelly

          dogfood added a comment -

          Integrated in hudson_main_trunk #255
          JENKINS-7281 move include of yui treeview from layout.jelly
          to MatrixProject/configure-entries.jelly

          mindless :
          Files :

          • /trunk/hudson/main/core/src/main/resources/lib/layout/layout.jelly
          • /trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly

          dogfood added a comment - Integrated in hudson_main_trunk #255 JENKINS-7281 move include of yui treeview from layout.jelly to MatrixProject/configure-entries.jelly mindless : Files : /trunk/hudson/main/core/src/main/resources/lib/layout/layout.jelly /trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixProject/configure-entries.jelly

          erwan_q added a comment -

          I have the same issue with 1.376.

          erwan_q added a comment - I have the same issue with 1.376.

          kofemann added a comment -

          Looks like 1.376 only partially fix. I can select nodes to run on but when re-open it again, than values are lost and
          I have to re-select again.

          kofemann added a comment - Looks like 1.376 only partially fix. I can select nodes to run on but when re-open it again, than values are lost and I have to re-select again.

          Alan Harder added a comment -

          kofemann, erwan_g.. please provide more detail. what browser type/version/platform are you using? any javascript errors reported in the browser? any exceptions in the hudson server log? kofemann, if you look at the config.xml file for the job after saving, are the values there? ie, is the problem in saving what you selected (so showing nothing when you come back is actually correct, as values were not saved), or in showing the config page (values were saved, but config page not shown correctly).

          Alan Harder added a comment - kofemann, erwan_g.. please provide more detail. what browser type/version/platform are you using? any javascript errors reported in the browser? any exceptions in the hudson server log? kofemann, if you look at the config.xml file for the job after saving, are the values there? ie, is the problem in saving what you selected (so showing nothing when you come back is actually correct, as values were not saved), or in showing the config page (values were saved, but config page not shown correctly).

          kofemann added a comment -

          My browser is firefox 3.6.8 on openSuSE 11.3 x64. I checked config.xml and can see or nodes there:

          <axes>
          <hudson.matrix.LabelAxis>
          <name>label</name>
          <values>
          <string>dev-vm01</string>
          <string>dev-vm02</string>
          <string>dev-vm03</string>
          <string>dev-vm08</string>
          <string>dev-vm09</string>
          <string>dev-vm10</string>
          <string>dev-vm11</string>
          </values>
          </hudson.matrix.LabelAxis>
          </axes>

          And cant see any errors in JavaScript, but in hudson.log:
          [webapp 2010/09/13 09:22:25] - Error while serving http://build01:8080/build/view/Test%20Suite/job/Parallel-S2/configSubmit
          java.lang.reflect.InvocationTargetException
          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:585)
          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.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:595)
          Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.matrix.LabelAxis from

          {"kind":"hudson.matrix.LabelAxis$Descri ptorImpl","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)
          ... 53 more
          Caused by: java.lang.NullPointerException
          at java.util.ArrayList.<init>(ArrayList.java:133)
          at hudson.matrix.Axis.<init>(Axis.java:74)
          at hudson.matrix.LabelAxis.<init>(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:494)
          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)
          ... 58 more
          [Winstone 2010/09/13 09:22:25] - Untrapped Error in Servlet
          javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.matrix.LabelAxis from

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

          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:569)
          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.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:595)
          Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.matrix.LabelAxis from

          {"kind":"hudson.matrix.LabelAxis$Descri ptorImpl","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:585)
          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)
          ... 43 more
          Caused by: java.lang.NullPointerException
          at java.util.ArrayList.<init>(ArrayList.java:133)
          at hudson.matrix.Axis.<init>(Axis.java:74)
          at hudson.matrix.LabelAxis.<init>(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:494)
          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)
          ... 58 more

          Sep 13, 2010 9:22:42 AM hudson.slaves.CommandLauncher launch
          SEVERE: Unable to launch the slave agent for srm-devel
          java.io.EOFException: unexpected stream termination
          at hudson.remoting.Channel.<init>(Channel.java:342)
          at hudson.remoting.Channel.<init>(Channel.java:276)
          at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:297)
          at hudson.slaves.CommandLauncher.launch(CommandLauncher.java:120)
          at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:184)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
          at java.util.concurrent.FutureTask.run(FutureTask.java:123)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
          at java.lang.Thread.run(Thread.java:595)

          It is still the same host:

          1. uname -a
            SunOS build01 5.10 Generic_118833-36 sun4u sparc SUNW,Sun-Fire-V240
          2. java -version
            java version "1.5.0_06"
            Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
            Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)

          kofemann added a comment - My browser is firefox 3.6.8 on openSuSE 11.3 x64. I checked config.xml and can see or nodes there: <axes> <hudson.matrix.LabelAxis> <name>label</name> <values> <string>dev-vm01</string> <string>dev-vm02</string> <string>dev-vm03</string> <string>dev-vm08</string> <string>dev-vm09</string> <string>dev-vm10</string> <string>dev-vm11</string> </values> </hudson.matrix.LabelAxis> </axes> And cant see any errors in JavaScript, but in hudson.log: [webapp 2010/09/13 09:22:25] - Error while serving http://build01:8080/build/view/Test%20Suite/job/Parallel-S2/configSubmit java.lang.reflect.InvocationTargetException 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:585) 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.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:595) Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.matrix.LabelAxis from {"kind":"hudson.matrix.LabelAxis$Descri ptorImpl","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) ... 53 more Caused by: java.lang.NullPointerException at java.util.ArrayList.<init>(ArrayList.java:133) at hudson.matrix.Axis.<init>(Axis.java:74) at hudson.matrix.LabelAxis.<init>(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:494) 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) ... 58 more [Winstone 2010/09/13 09:22:25] - Untrapped Error in Servlet javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.matrix.LabelAxis from {"kind":"hudson.ma trix.LabelAxis$DescriptorImpl","name":"label","stapler-class":"hudson.matrix.LabelAxis"} at org.kohsuke.stapler.Stapler.invoke(Stapler.java:569) 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.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:595) Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.matrix.LabelAxis from {"kind":"hudson.matrix.LabelAxis$Descri ptorImpl","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:585) 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) ... 43 more Caused by: java.lang.NullPointerException at java.util.ArrayList.<init>(ArrayList.java:133) at hudson.matrix.Axis.<init>(Axis.java:74) at hudson.matrix.LabelAxis.<init>(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:494) 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) ... 58 more Sep 13, 2010 9:22:42 AM hudson.slaves.CommandLauncher launch SEVERE: Unable to launch the slave agent for srm-devel java.io.EOFException: unexpected stream termination at hudson.remoting.Channel.<init>(Channel.java:342) at hudson.remoting.Channel.<init>(Channel.java:276) at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:297) at hudson.slaves.CommandLauncher.launch(CommandLauncher.java:120) at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:184) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) It is still the same host: uname -a SunOS build01 5.10 Generic_118833-36 sun4u sparc SUNW,Sun-Fire-V240 java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)

          erwan_q added a comment -

          I use chrome 6. Hudson use java 1.6
          I reproduce the kofemann case too: Save a configuration,check hudson or Confile file: nodes are configured, then when select configure the nodes (with label configuration in slaves section) are sometimes empty... It's no systematic

          erwan_q added a comment - I use chrome 6. Hudson use java 1.6 I reproduce the kofemann case too: Save a configuration,check hudson or Confile file: nodes are configured, then when select configure the nodes (with label configuration in slaves section) are sometimes empty... It's no systematic

          David Aldrich added a comment -

          Hi

          We are running Hudson 1.376 on a Windows XP master. Hudson currently runs as a Windows service under my user account.

          We have a matrix job that I can modify without problems. However, if another internal user accesses Hudson (with IE8) and modifies that job (we have no security set-up) she gets an exception when she saves the job.

          This is a recent problem, it was working fine a few weeks back. Please see stack trace below. I wonder if the exception I am seeing is associated with this JIRA issue?

          Best regards

          David

          ============================================

          type Exception report
          message
          description The server encountered an internal error () that prevented it from fulfilling this request.
          exception
          javax.servlet.ServletException
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:569)
          org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
          org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:450)
          org.kohsuke.stapler.Stapler.service(Stapler.java:132)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
          hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
          hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
          hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
          root cause
          java.lang.NullPointerException
          java.util.ArrayList.<init>(Unknown Source)
          hudson.matrix.Axis.<init>(Axis.java:74)
          hudson.matrix.LabelAxis.<init>(LabelAxis.java:40)
          sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
          sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
          java.lang.reflect.Constructor.newInstance(Unknown Source)
          org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:409)
          org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:355)
          hudson.model.Descriptor.newInstance(Descriptor.java:479)
          hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:756)
          hudson.util.DescribableList.rebuildHetero(DescribableList.java:171)
          hudson.matrix.MatrixProject.submit(MatrixProject.java:563)
          hudson.model.Job.doConfigSubmit(Job.java:1062)
          hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:578)
          sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          java.lang.reflect.Method.invoke(Unknown Source)
          org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:259)
          org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
          org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65)
          org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
          org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
          org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
          org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
          org.kohsuke.stapler.Stapler.invoke(Stapler.java:450)
          org.kohsuke.stapler.Stapler.service(Stapler.java:132)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
          hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
          hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
          hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
          hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)

          David Aldrich added a comment - Hi We are running Hudson 1.376 on a Windows XP master. Hudson currently runs as a Windows service under my user account. We have a matrix job that I can modify without problems. However, if another internal user accesses Hudson (with IE8) and modifies that job (we have no security set-up) she gets an exception when she saves the job. This is a recent problem, it was working fine a few weeks back. Please see stack trace below. I wonder if the exception I am seeing is associated with this JIRA issue? Best regards David ============================================ type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException org.kohsuke.stapler.Stapler.invoke(Stapler.java:569) org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219) org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) org.kohsuke.stapler.Stapler.invoke(Stapler.java:534) org.kohsuke.stapler.Stapler.invoke(Stapler.java:450) org.kohsuke.stapler.Stapler.service(Stapler.java:132) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94) hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) root cause java.lang.NullPointerException java.util.ArrayList.<init>(Unknown Source) hudson.matrix.Axis.<init>(Axis.java:74) hudson.matrix.LabelAxis.<init>(LabelAxis.java:40) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) java.lang.reflect.Constructor.newInstance(Unknown Source) org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:409) org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:355) hudson.model.Descriptor.newInstance(Descriptor.java:479) hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:756) hudson.util.DescribableList.rebuildHetero(DescribableList.java:171) hudson.matrix.MatrixProject.submit(MatrixProject.java:563) hudson.model.Job.doConfigSubmit(Job.java:1062) hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:578) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:259) org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126) org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65) org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79) org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) org.kohsuke.stapler.Stapler.invoke(Stapler.java:534) org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219) org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) org.kohsuke.stapler.Stapler.invoke(Stapler.java:534) org.kohsuke.stapler.Stapler.invoke(Stapler.java:450) org.kohsuke.stapler.Stapler.service(Stapler.java:132) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94) hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)

          Dirk Haun added a comment -

          With Hudson 1.377, when trying to change the settings for a Matrix Job, we are now getting:

          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:596)
          at hudson.model.Job.doConfigSubmit(Job.java:1062)
          at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:581)
          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.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.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:51)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
          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)
          ... 60 more

          Dirk Haun added a comment - With Hudson 1.377, when trying to change the settings for a Matrix Job, we are now getting: 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:596) at hudson.model.Job.doConfigSubmit(Job.java:1062) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:581) 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.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.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:51) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97) 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) ... 60 more

          David Aldrich added a comment -

          The problem I see (reported above) is not fixed in release 1.377.

          David Aldrich added a comment - The problem I see (reported above) is not fixed in release 1.377.

          ken_graham added a comment -

          Under hello world (task is echo hi, and nothing else enabled/selected) conditions, and no slave labels,
          a test with two out of two slaves, does not reproduce the problem,
          whereas a test with ten out of ten slaves, does reproduce the problem.

          Thought the additional information regarding reproduction of the issue might be of assistance.

          ken_graham added a comment - Under hello world (task is echo hi, and nothing else enabled/selected) conditions, and no slave labels, a test with two out of two slaves, does not reproduce the problem, whereas a test with ten out of ten slaves, does reproduce the problem. Thought the additional information regarding reproduction of the issue might be of assistance.

          Alan Harder added a comment -

          Can someone post steps to reproduce this issue in a new install of the latest Hudson release? Include your environment details (server and your browser) too... thanks.

          Alan Harder added a comment - Can someone post steps to reproduce this issue in a new install of the latest Hudson release? Include your environment details (server and your browser) too... thanks.

          ken_graham added a comment -

          Start with a clean 1.377
          // no additional plugins - no command line flags, nothing special.

          Add two slaves, specifying only the number of executors, home path, and how to connect.
          // does not seem to matter what they are or how they are connected (ssh or windows service).

          Add a Multi-configuration job.

          Select "Add Axis" then select "Slaves".
          // This should pull up a dialog box, where only Individual Nodes is expandable, if directions above were followed.

          Select all entries (should be three if directions above were followed).

          Save the job.

          The display should show three status indicators.

          Select Configure.

          Expand the "Individual Nodes" node in the Slaves dialog box.

          Note that the Master node is the only one selected.

          ken_graham added a comment - Start with a clean 1.377 // no additional plugins - no command line flags, nothing special. Add two slaves, specifying only the number of executors, home path, and how to connect. // does not seem to matter what they are or how they are connected (ssh or windows service). Add a Multi-configuration job. Select "Add Axis" then select "Slaves". // This should pull up a dialog box, where only Individual Nodes is expandable, if directions above were followed. Select all entries (should be three if directions above were followed). Save the job. The display should show three status indicators. Select Configure. Expand the "Individual Nodes" node in the Slaves dialog box. Note that the Master node is the only one selected.

          ken_graham added a comment -

          Above behavior is repeated in 1.378, with the exception that upon selecting configure after saving, no slaves are displayed as selected.

          ken_graham added a comment - Above behavior is repeated in 1.378, with the exception that upon selecting configure after saving, no slaves are displayed as selected.

          Nathan Parry added a comment -

          The last couple of comments sound similar to JENKINS-7500

          Nathan Parry added a comment - The last couple of comments sound similar to JENKINS-7500

          ircmicks added a comment -

          This issue is still reproducible on 1.384.
          Any idea when this will be fixed ?

          ircmicks added a comment - This issue is still reproducible on 1.384. Any idea when this will be fixed ?

          As of 1.398 I can no longer reproduce this problem. So I'm marking this as fixed.

          If people continue to see the problem, please post the steps to reproduce the problem, which would make it a lot easier for us to fix the problem.

          Kohsuke Kawaguchi added a comment - As of 1.398 I can no longer reproduce this problem. So I'm marking this as fixed. If people continue to see the problem, please post the steps to reproduce the problem, which would make it a lot easier for us to fix the problem.

            kohsuke Kohsuke Kawaguchi
            kofemann kofemann
            Votes:
            19 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: