-
Bug
-
Resolution: Fixed
-
Major
-
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)