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

"Trigger even if build is unstable" throws an NPE in a 500 reply

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None
    • Platform: Macintosh, OS: All

      If I create or modify a job with the "Trigger even if build is unstable"
      checkbox checked under Post-build Actions -> Build other projects, and click
      Save, I get a NPE. This also causes the pre-build trigger on the post-build job
      to be unset, which the documentation implies is not supposed to happen.

      If I load the config page after the 500 error, the checkbox remains checked, and
      the dependent job does run. However, if I edit the dependent job, the
      post-build action on the preceding job is lost.

      Here's the stack trace:

      java.lang.NullPointerException
      at
      com.thoughtworks.xstream.io.xml.PrettyPrintWriter.writeText(PrettyPrintWriter.java:203)
      at
      com.thoughtworks.xstream.io.xml.PrettyPrintWriter.writeText(PrettyPrintWriter.java:199)
      at
      com.thoughtworks.xstream.io.xml.PrettyPrintWriter.setValue(PrettyPrintWriter.java:182)
      at com.thoughtworks.xstream.io.WriterWrapper.setValue(WriterWrapper.java:45)
      at
      com.thoughtworks.xstream.converters.basic.AbstractBasicConverter.marshal(AbstractBasicConverter.java:41)
      at hudson.util.XStream2$AssociatedConverterImpl.marshal(XStream2.java:84)
      at
      com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:65)
      at
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
      at
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
      at
      hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:139)
      at
      hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:131)
      at
      hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:107)
      at
      com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:129)
      at
      hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:92)
      at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:65)
      at
      com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:65)
      at
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
      at
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
      at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:98)
      at
      com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:38)
      at com.thoughtworks.xstream.XStream.marshal(XStream.java:845)
      at com.thoughtworks.xstream.XStream.marshal(XStream.java:834)
      at com.thoughtworks.xstream.XStream.toXML(XStream.java:815)
      at hudson.XmlFile.write(XmlFile.java:138)
      at hudson.model.AbstractItem.save(AbstractItem.java:190)
      at hudson.model.Job.doConfigSubmit(Job.java:833)
      at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:312)
      at sun.reflect.GeneratedMethodAccessor843.invoke(Unknown Source)
      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:103)
      at org.kohsuke.stapler.Function.bindAndinvoke(Function.java:57)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:75)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:440)
      at org.kohsuke.stapler.MetaClass$9.doDispatch(MetaClass.java:263)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:440)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:361)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:121)
      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:38)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:30)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:52)
      at
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:28)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
      at
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
      at
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
      at
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
      at
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
      at
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
      at
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:42)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:44)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:85)
      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:613)

            Unassigned Unassigned
            mhorowitz mhorowitz
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: