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

role management or view configuration leads to server Error 500, and the configuration works in memory but not in Jenkins's config.xml

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Critical Critical
    • role-strategy-plugin
    • None
    • Red Hat Enterprise Linux Server release 5.4,

      When configure "Manage Roles", or manage views or do some other configurations, Jenkins returns the following error messg.
      The question is the configuration did works! But restart Jenkins or reload the configuration from file, the former configuration
      disappears.
      This problem works with server latest Jenkins version.

      javax.servlet.ServletException: java.lang.RuntimeException: Failed to serialize jenkins.model.Jenkins#authorizationStrategy for class hudson.model.Hudson
      org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:603)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
      net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      root cause

      java.lang.RuntimeException: Failed to serialize jenkins.model.Jenkins#authorizationStrategy for class hudson.model.Hudson
      hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
      hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
      com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
      hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
      hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
      com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
      com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:98)
      com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:38)
      com.thoughtworks.xstream.XStream.marshal(XStream.java:840)
      com.thoughtworks.xstream.XStream.marshal(XStream.java:829)
      com.thoughtworks.xstream.XStream.toXML(XStream.java:804)
      hudson.XmlFile.write(XmlFile.java:173)
      jenkins.model.Jenkins.save(Jenkins.java:2431)
      hudson.model.ViewGroupMixIn.addView(ViewGroupMixIn.java:78)
      jenkins.model.Jenkins.addView(Jenkins.java:1334)
      jenkins.model.Jenkins.doCreateView(Jenkins.java:2704)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
      org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
      org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
      org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:104)
      org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
      net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      root cause

      java.lang.NullPointerException
      com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$ConverterImpl.marshal(RoleBasedAuthorizationStrategy.java:239)
      hudson.util.XStream2$AssociatedConverterImpl.marshal(XStream2.java:289)
      com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
      hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:175)
      hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
      hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
      com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
      hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
      hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
      com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:78)
      com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:63)
      com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:98)
      com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:38)
      com.thoughtworks.xstream.XStream.marshal(XStream.java:840)
      com.thoughtworks.xstream.XStream.marshal(XStream.java:829)
      com.thoughtworks.xstream.XStream.toXML(XStream.java:804)
      hudson.XmlFile.write(XmlFile.java:173)
      jenkins.model.Jenkins.save(Jenkins.java:2431)
      hudson.model.ViewGroupMixIn.addView(ViewGroupMixIn.java:78)
      jenkins.model.Jenkins.addView(Jenkins.java:1334)
      jenkins.model.Jenkins.doCreateView(Jenkins.java:2704)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:597)
      org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
      org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
      org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
      org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:104)
      org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
      org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185)
      net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159)
      net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.

          [JENKINS-12184] role management or view configuration leads to server Error 500, and the configuration works in memory but not in Jenkins's config.xml

          pixman20 added a comment - - edited

          I have a similar issue that is occurring. I'm not sure if it is related, but I am getting error 500 with what appears to be the same common cause:

          java.lang.NullPointerException
          com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$ConverterImpl.marshal(RoleBasedAuthorizationStrategy.java:239)

          I get this error when trying to save the configuration on Jenkins slave nodes. The full stack trace I am getting is:

          java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from {"":["hudson.slaves.JNLPLauncher","hudson.slaves.RetentionStrategy$Always"],"labelString":"USER","launcher":

          {"stapler-class":"hudson.slaves.JNLPLauncher","tunnel":"","vmargs":""}

          ,"mode":"EXCLUSIVE","name":"mynode","nodeDescription":"Slave used to run jobs as USER","nodeProperties":

          {"stapler-class-bag":"true"}

          ,"numExecutors":"2","remoteFS":"D:\\jenkins\\slaves
          USER","retentionStrategy":{"stapler-class":"hudson.slaves.RetentionStrategy$Always"}}
          at hudson.model.Descriptor.newInstance(Descriptor.java:568)
          at hudson.model.Node.reconfigure(Node.java:410)
          at hudson.model.Computer.doConfigSubmit(Computer.java:1069)
          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:111)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
          at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
          at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:203)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
          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:248)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
          at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
          at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          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 jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
          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:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
          at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
          at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
          at java.lang.Thread.run(Unknown Source)
          Caused by: java.lang.RuntimeException: Failed to serialize jenkins.model.Jenkins#authorizationStrategy for class hudson.model.Hudson
          at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167)
          at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135)
          at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130)
          at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120)
          at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94)
          at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
          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:840)
          at com.thoughtworks.xstream.XStream.marshal(XStream.java:829)
          at com.thoughtworks.xstream.XStream.toXML(XStream.java:804)
          at hudson.XmlFile.write(XmlFile.java:173)
          at jenkins.model.Jenkins.save(Jenkins.java:2439)
          at hudson.util.PersistedList.onModified(PersistedList.java:152)
          at hudson.util.PersistedList.replaceBy(PersistedList.java:79)
          at hudson.model.Slave.<init>(Slave.java:156)
          at hudson.model.Slave.<init>(Slave.java:132)
          at hudson.slaves.DumbSlave.<init>(DumbSlave.java:53)
          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 org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:424)
          at org.kohsuke.stapler.RequestImpl.access$300(RequestImpl.java:76)
          at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:631)
          at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:377)
          at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:373)
          at hudson.model.Descriptor.newInstance(Descriptor.java:559)
          ... 66 more
          Caused by: java.lang.NullPointerException
          at com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$ConverterImpl.marshal(RoleBasedAuthorizationStrategy.java:239)
          at hudson.util.XStream2$AssociatedConverterImpl.marshal(XStream2.java:289)
          at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
          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:175)
          at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163)
          ... 95 more

          pixman20 added a comment - - edited I have a similar issue that is occurring. I'm not sure if it is related, but I am getting error 500 with what appears to be the same common cause: java.lang.NullPointerException com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$ConverterImpl.marshal(RoleBasedAuthorizationStrategy.java:239) I get this error when trying to save the configuration on Jenkins slave nodes. The full stack trace I am getting is: java.lang.RuntimeException: Failed to instantiate class hudson.slaves.DumbSlave from {"": ["hudson.slaves.JNLPLauncher","hudson.slaves.RetentionStrategy$Always"] ,"labelString":"USER","launcher": {"stapler-class":"hudson.slaves.JNLPLauncher","tunnel":"","vmargs":""} ,"mode":"EXCLUSIVE","name":"mynode","nodeDescription":"Slave used to run jobs as USER","nodeProperties": {"stapler-class-bag":"true"} ,"numExecutors":"2","remoteFS":"D:\\jenkins\\slaves USER","retentionStrategy":{"stapler-class":"hudson.slaves.RetentionStrategy$Always"}} at hudson.model.Descriptor.newInstance(Descriptor.java:568) at hudson.model.Node.reconfigure(Node.java:410) at hudson.model.Computer.doConfigSubmit(Computer.java:1069) 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:111) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648) at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:203) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648) 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:248) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) 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 jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61) 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:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at winstone.RequestDispatcher.forward(RequestDispatcher.java:331) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.RuntimeException: Failed to serialize jenkins.model.Jenkins#authorizationStrategy for class hudson.model.Hudson at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:167) at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:135) at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:130) at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:120) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:94) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) 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:840) at com.thoughtworks.xstream.XStream.marshal(XStream.java:829) at com.thoughtworks.xstream.XStream.toXML(XStream.java:804) at hudson.XmlFile.write(XmlFile.java:173) at jenkins.model.Jenkins.save(Jenkins.java:2439) at hudson.util.PersistedList.onModified(PersistedList.java:152) at hudson.util.PersistedList.replaceBy(PersistedList.java:79) at hudson.model.Slave.<init>(Slave.java:156) at hudson.model.Slave.<init>(Slave.java:132) at hudson.slaves.DumbSlave.<init>(DumbSlave.java:53) 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 org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:424) at org.kohsuke.stapler.RequestImpl.access$300(RequestImpl.java:76) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:631) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:377) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:373) at hudson.model.Descriptor.newInstance(Descriptor.java:559) ... 66 more Caused by: java.lang.NullPointerException at com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$ConverterImpl.marshal(RoleBasedAuthorizationStrategy.java:239) at hudson.util.XStream2$AssociatedConverterImpl.marshal(XStream2.java:289) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) 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:175) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:163) ... 95 more

          I had trouble with the Artifactory-plugin. I tried to upgrade but kept the issues. Jenkins complained about incompatible configuration and even discarding didn't help. So I decided to remove the plugin. And still the issue above remained.
          As mentioned above, apart from the exception everything looks fine. But that data seems to be kept in memory, because a restart removed all the roles.

          [Workaround] Find the config.xml and search for unwanted permissions ( permissions related to a plugin you've removed) and remove these. Next restart Jenkins.

          Robert Scholte added a comment - I had trouble with the Artifactory-plugin. I tried to upgrade but kept the issues. Jenkins complained about incompatible configuration and even discarding didn't help. So I decided to remove the plugin. And still the issue above remained. As mentioned above, apart from the exception everything looks fine. But that data seems to be kept in memory, because a restart removed all the roles. [Workaround] Find the config.xml and search for unwanted permissions ( permissions related to a plugin you've removed) and remove these. Next restart Jenkins.

          Jesse Glick added a comment -

          Reported to no longer happen in a newer version of the plugin; is this still an issue?

          Jesse Glick added a comment - Reported to no longer happen in a newer version of the plugin; is this still an issue?

          Oleg Nenashev added a comment -

          I've got JENKINS-23216 for this issue today.
          BTW, the submitter uses an outdated plugin version

          Oleg Nenashev added a comment - I've got JENKINS-23216 for this issue today. BTW, the submitter uses an outdated plugin version

            danielpetisme Daniel Petisme
            halcyon Halcyon Yang
            Votes:
            3 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: