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

Promoted builds plugin produces exceptions in the logs

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • promoted-builds-plugin
    • None
    • SLED 10.2, Jenkins 1.418, promoted builds plugin 2.1

      After the latest Jenkins upgrade, we see showers of exceptions coming from the promoted builds plugin in our logs:

      Jul 1, 2011 6:06:06 AM hudson.util.RobustReflectionConverter doUnmarshal
      WARNING: Skipping a non-existent field targetBuildNumber
      com.thoughtworks.xstream.converters.reflection.NonExistentFieldException: No such field hudson.plugins.promoted_builds.Promotion.targetBuildNumber
              at com.thoughtworks.xstream.converters.reflection.FieldDictionary.field(FieldDictionary.java:106)
              at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.getFieldType(PureJavaReflectionProvider.java:152)
              at hudson.util.RobustReflectionConverter.determineType(RobustReflectionConverter.java:356)
              at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:229)
              at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:180)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
              at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
              at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
              at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:926)
              at hudson.util.XStream2.unmarshal(XStream2.java:84)
              at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:912)
              at hudson.XmlFile.unmarshal(XmlFile.java:148)
              at hudson.model.Run.reload(Run.java:282)
              at hudson.model.Run.<init>(Run.java:271)
              at hudson.model.AbstractBuild.<init>(AbstractBuild.java:159)
              at hudson.plugins.promoted_builds.Promotion.<init>(Promotion.java:41)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
              at java.lang.reflect.Constructor.newInstance(Unknown Source)
              at hudson.model.AbstractProject.loadBuild(AbstractProject.java:938)
              at hudson.model.AbstractProject$1.create(AbstractProject.java:256)
              at hudson.model.AbstractProject$1.create(AbstractProject.java:254)
              at hudson.model.RunMap.load(RunMap.java:221)
              at hudson.model.AbstractProject.onLoad(AbstractProject.java:254)
              at hudson.model.Items.load(Items.java:115)
              at hudson.model.ItemGroupMixIn.loadChildren(ItemGroupMixIn.java:99)
              at hudson.plugins.promoted_builds.JobPropertyImpl.setOwner(JobPropertyImpl.java:147)
              at hudson.plugins.promoted_builds.JobPropertyImpl.setOwner(JobPropertyImpl.java:47)
              at hudson.model.Job.onLoad(Job.java:185)
              at hudson.model.AbstractProject.onLoad(AbstractProject.java:251)
              at hudson.model.Project.onLoad(Project.java:88)
              at hudson.model.Items.load(Items.java:115)
              at jenkins.model.Jenkins$14.run(Jenkins.java:2180)
              at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
              at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
              at jenkins.model.Jenkins$5.runTask(Jenkins.java:724)
              at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
              at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
      

      ...

      Jul 1, 2011 10:26:12 PM hudson.util.RobustReflectionConverter doUnmarshal
      WARNING: Skipping a non-existent field targetBuildNumber
      com.thoughtworks.xstream.converters.reflection.NonExistentFieldException: No such field hudson.plugins.promoted_builds.Promotion.targetBuildNumber
              at com.thoughtworks.xstream.converters.reflection.FieldDictionary.field(FieldDictionary.java:106)
              at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.getFieldType(PureJavaReflectionProvider.java:152)
              at hudson.util.RobustReflectionConverter.determineType(RobustReflectionConverter.java:356)
              at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:229)
              at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:180)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
              at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
              at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
              at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
              at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:926)
              at hudson.util.XStream2.unmarshal(XStream2.java:84)
              at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:912)
              at hudson.XmlFile.unmarshal(XmlFile.java:148)
              at hudson.model.Run.reload(Run.java:282)
              at hudson.model.Run.<init>(Run.java:271)
              at hudson.model.AbstractBuild.<init>(AbstractBuild.java:159)
              at hudson.plugins.promoted_builds.Promotion.<init>(Promotion.java:41)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
              at java.lang.reflect.Constructor.newInstance(Unknown Source)
              at hudson.model.AbstractProject.loadBuild(AbstractProject.java:938)
              at hudson.model.AbstractProject$1.create(AbstractProject.java:256)
              at hudson.model.AbstractProject$1.create(AbstractProject.java:254)
              at hudson.model.RunMap.load(RunMap.java:221)
              at hudson.model.AbstractProject.onLoad(AbstractProject.java:254)
              at hudson.model.Items.load(Items.java:115)
              at hudson.plugins.promoted_builds.JobPropertyImpl.<init>(JobPropertyImpl.java:99)
              at hudson.plugins.promoted_builds.JobPropertyImpl.<init>(JobPropertyImpl.java:47)
              at hudson.plugins.promoted_builds.JobPropertyImpl$DescriptorImpl.newInstance(JobPropertyImpl.java:299)
              at hudson.plugins.promoted_builds.JobPropertyImpl$DescriptorImpl.newInstance(JobPropertyImpl.java:284)
              at hudson.model.JobProperty.reconfigure(JobProperty.java:177)
              at hudson.model.JobProperty.reconfigure(JobProperty.java:75)
              at hudson.util.DescribableList.rebuild(DescribableList.java:153)
              at hudson.model.Job.doConfigSubmit(Job.java:962)
              at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:634)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
              at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
              at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
              at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:103)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
              at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:233)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
              at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:233)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
              at org.kohsuke.stapler.Stapler.service(Stapler.java:159)
              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.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:65)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
              at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:52)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
              at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:157)
              at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:131)
              at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:82)
              at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
              at hudson.plugins.collabnet.auth.CNFilter.doFilter(CNFilter.java:90)
              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 hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
              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(Unknown Source)
      

      ...

      Also, the promotion process has not been working for two of our jobs for some time now. When we look at the promotion status, everything seems fine and all qualifications are met but it only says "This promotion has not happened.", which is weird because we have another job where the promotions are just working fine.
      I tried to check the logs to find a clue to what the problem is but I only find the above exceptions.

          [JENKINS-10199] Promoted builds plugin produces exceptions in the logs

          I found the cause of this. Apparently, the promoted builds plugin never throws away any builds!
          It should only keep that many builds as configured in the parent job.

          Angela Johansson added a comment - I found the cause of this. Apparently, the promoted builds plugin never throws away any builds! It should only keep that many builds as configured in the parent job.

          Manuel Steurer added a comment - - edited

          Older versions of the plugin write the field 'targetBuildNumber' into
          <jenkins-home>/jobs/<job>/promotions/<promotion>/builds/<number>/build.xml:

            ...
            <targetBuildNumber>22</targetBuildNumber>
          </hudson.plugins.promoted__builds.Promotion>
          

          Later plugins do not know this field anymore, which causes the exceptions.
          Workaround: use http://yourjenkins/administrativeMonitor/OldData/manage to have these fields deleted.

          Manuel Steurer added a comment - - edited Older versions of the plugin write the field 'targetBuildNumber' into <jenkins-home>/jobs/<job>/promotions/<promotion>/builds/<number>/build.xml : ... <targetBuildNumber> 22 </targetBuildNumber> </hudson.plugins.promoted__builds.Promotion> Later plugins do not know this field anymore, which causes the exceptions. Workaround: use http://yourjenkins/administrativeMonitor/OldData/manage to have these fields deleted.

            Unassigned Unassigned
            dreamtime Angela Johansson
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: