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

Failed to write defaultParameterValue: IAE from ExtensibleChoiceParameterDefinition.createValueCommon

    XMLWordPrintable

    Details

    • Similar Issues:
    • Epic Link:
    • Sprint:
      arctic, tasman, tethys

      Description

      Context
      If a plugin’s Action fails to serialize it fails the serialization of the rest response. Just like the remote APIs, Blue Ocean returns serialized Actions for many of its responses.

      For Blue Ocean this is incredibly important as a failed REST call can cause the entire UI to fail and the blame is assigned to Blue Ocean rather than the plugin that threw the exception. There are thousands of plugins and 1000s of ways to make the UI fall over.

      In Scope

      • If an Actions property fails to serialize then the serialized action should not be visible in the response
        • Could we return the error somehow without failing the whole request? We might want to let the user know if we cant render that action (e.g. Test screen shouldn't look like there are no tests if the action breaks)
      • When serialization failure occurs, the stack trace is logged along with the identity of the plugin providing the action and a link to its wiki page explaining how to file a bug.

      Original request
      Getting a 500 error when attempting to hit the blue/rest service with Multibranch Pipeline. Looks like it might be an issue with Extensible Choice Paramater plugin.

      java.io.IOException: Failed to write defaultParameterValue
      	at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
      	at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
      	at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
      	at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
      	at hudson.model.Api.doJson(Api.java:211)
      	at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:63)
      	at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
      	at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
      	at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
      	at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:206)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      	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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
      	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:67)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      	at org.eclipse.jetty.server.Server.handle(Server.java:499)
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.reflect.InvocationTargetException
      	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.export.MethodProperty.getValue(MethodProperty.java:66)
      	at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:145)
      	... 102 more
      Caused by: java.lang.IllegalArgumentException: Illegal choice: 
      	at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValueCommon(ExtensibleChoiceParameterDefinition.java:397)
      	at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValue(ExtensibleChoiceParameterDefinition.java:430)
      	at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.getDefaultParameterValue(ExtensibleChoiceParameterDefinition.java:450)
      	... 108 more
      

        Attachments

          Issue Links

            Activity

            sheibeck Sterling Heibeck created issue -
            Hide
            jamesdumay James Dumay added a comment -

            Sterling Heibeck thanks for this bug report. What version of the Extensible Choice Paramater plugin do you have installed?

            Show
            jamesdumay James Dumay added a comment - Sterling Heibeck thanks for this bug report. What version of the Extensible Choice Paramater plugin do you have installed?
            jamesdumay James Dumay made changes -
            Field Original Value New Value
            Epic Link JENKINS-35759 [ 171771 ]
            jamesdumay James Dumay made changes -
            Sprint tasman [ 136 ]
            Priority Minor [ 4 ] Critical [ 2 ]
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            Hide
            sheibeck Sterling Heibeck added a comment -

            Version 1.3.3

            Show
            sheibeck Sterling Heibeck added a comment - Version 1.3.3
            Hide
            jamesdumay James Dumay added a comment -

            Thanks ill get someone to take a look.

            Show
            jamesdumay James Dumay added a comment - Thanks ill get someone to take a look.
            jamesdumay James Dumay made changes -
            Labels adoption
            jamesdumay James Dumay made changes -
            Assignee Ivan Meredith [ imeredith ]
            jamesdumay James Dumay made changes -
            Sprint tasman [ 136 ] arctic [ 131 ]
            Hide
            jamesdumay James Dumay added a comment -

            Ivan Meredith from Vivek Pandey "first we need to see why is it giving Illegal choice error and then submit a PR to that plugin."

            Show
            jamesdumay James Dumay added a comment - Ivan Meredith from Vivek Pandey "first we need to see why is it giving Illegal choice error and then submit a PR to that plugin."
            jamesdumay James Dumay made changes -
            Sprint arctic [ 131 ] arctic, tasman [ 131, 136 ]
            jamesdumay James Dumay made changes -
            Assignee Ivan Meredith [ imeredith ] Vivek Pandey [ vivek ]
            Hide
            michaelneale Michael Neale added a comment -

            Vivek Pandey perhaps Tom might be able to take a look at this after other things?

            Show
            michaelneale Michael Neale added a comment - Vivek Pandey perhaps Tom might be able to take a look at this after other things?
            michaelneale Michael Neale made changes -
            Rank Ranked lower
            Hide
            vivek Vivek Pandey added a comment -

            Michael Neale That will be great!

            Show
            vivek Vivek Pandey added a comment - Michael Neale That will be great!
            Hide
            jamesdumay James Dumay added a comment - - edited

            Sterling Heibeck do you have this configured for a freestyle job? What does your global settings look like?

            There's some missing information from the stacktrace. Would you be able to reproduce and get the stacktrace from the Jenkins server log?

            Show
            jamesdumay James Dumay added a comment - - edited Sterling Heibeck do you have this configured for a freestyle job? What does your global settings look like? There's some missing information from the stacktrace. Would you be able to reproduce and get the stacktrace from the Jenkins server log?
            Hide
            sheibeck Sterling Heibeck added a comment -

            I'm a bit swamped here, trying to get you a stack trace as soon as I can. It's hard to figure out which job specifically is causing the problem. I have about 40 different jobs in my instance, most of which are free-style jobs. I'm in process to swich them over to pipeline.

            Show
            sheibeck Sterling Heibeck added a comment - I'm a bit swamped here, trying to get you a stack trace as soon as I can. It's hard to figure out which job specifically is causing the problem. I have about 40 different jobs in my instance, most of which are free-style jobs. I'm in process to swich them over to pipeline.
            jamesdumay James Dumay made changes -
            Link This issue is blocked by JENKINS-40088 [ JENKINS-40088 ]
            Hide
            jamesdumay James Dumay added a comment -

            I think we can solve misbehaving plugins once and for all with JENKINS-40088

            Show
            jamesdumay James Dumay added a comment - I think we can solve misbehaving plugins once and for all with JENKINS-40088
            jamesdumay James Dumay made changes -
            Sprint arctic, tasman [ 131, 136 ] arctic, tasman, frank [ 131, 136, 156 ]
            jamesdumay James Dumay made changes -
            Sprint arctic, tasman, frank [ 131, 136, 156 ] arctic, tasman, tethys [ 131, 136, 161 ]
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            Hide
            sheibeck Sterling Heibeck added a comment - - edited

            In case it's still important, I'm attaching a full log file where the error was reproduced. I wasn't sure what was all needed, so I'm including the full file. jenkins.err.log

            Latest error is around line 22795.

            Ah, I also just discovered the following which may shed some light on the issue: Choice Provider is set to 'System Groovy Choice Parameter' and the Default value was set to "<Top Most Option>". If I change the default value to another selection, the error goes away.

            Show
            sheibeck Sterling Heibeck added a comment - - edited In case it's still important, I'm attaching a full log file where the error was reproduced. I wasn't sure what was all needed, so I'm including the full file. jenkins.err.log Latest error is around line 22795. Ah, I also just discovered the following which may shed some light on the issue: Choice Provider is set to 'System Groovy Choice Parameter' and the Default value was set to "<Top Most Option>". If I change the default value to another selection, the error goes away.
            sheibeck Sterling Heibeck made changes -
            Attachment jenkins.err.log [ 35095 ]
            Hide
            jamesdumay James Dumay added a comment -

            Sterling Heibeck unrelated - looks like you need to increase your servers permgen BTW java.lang.OutOfMemoryError: PermGen space

            Show
            jamesdumay James Dumay added a comment - Sterling Heibeck unrelated - looks like you need to increase your servers permgen BTW java.lang.OutOfMemoryError: PermGen space
            Hide
            jamesdumay James Dumay added a comment -

            Sterling Heibeck ahh thanks for that. I think we're going to not serialize invalid actions as part of JENKINS-40088. This problem shouldn't happen in the future.

            Show
            jamesdumay James Dumay added a comment - Sterling Heibeck ahh thanks for that. I think we're going to not serialize invalid actions as part of JENKINS-40088 . This problem shouldn't happen in the future.
            Hide
            sheibeck Sterling Heibeck added a comment -

            Thanks! And yes, that PermaGen error has been my been. I'm in a windows environment and I have a ton of jobs and the thing keeps running into that issue. I'm working on moving everything over to pipelines, which hopefully will fix that!

            Show
            sheibeck Sterling Heibeck added a comment - Thanks! And yes, that PermaGen error has been my been. I'm in a windows environment and I have a ton of jobs and the thing keeps running into that issue. I'm working on moving everything over to pipelines, which hopefully will fix that!
            jamesdumay James Dumay made changes -
            Sprint arctic, tasman, tethys [ 131, 136, 161 ] arctic, tasman, kraken [ 131, 136, 166 ]
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            jamesdumay James Dumay made changes -
            Sprint arctic, tasman, kraken [ 131, 136, 166 ] arctic, tasman, tethys [ 131, 136, 161 ]
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            jamesdumay James Dumay made changes -
            Rank Ranked higher
            jamesdumay James Dumay made changes -
            Link This issue is duplicated by JENKINS-40466 [ JENKINS-40466 ]
            jamesdumay James Dumay made changes -
            Link This issue is duplicated by JENKINS-40088 [ JENKINS-40088 ]
            jamesdumay James Dumay made changes -
            Link This issue is duplicated by JENKINS-40466 [ JENKINS-40466 ]
            jamesdumay James Dumay made changes -
            Remote Link This issue links to "Goals (Web Link)" [ 15233 ]
            jamesdumay James Dumay made changes -
            Description Getting a 500 error when attempting to hit the blue/rest service with Multibranch Pipeline. Looks like it might be an issue with Extensible Choice Paramater plugin.

            {code:java}
            java.io.IOException: Failed to write defaultParameterValue
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
            at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
            at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
            at hudson.model.Api.doJson(Api.java:211)
            at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:63)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
            at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
            at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
            at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:206)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            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:67)
            at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
            at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
            at org.eclipse.jetty.server.Server.handle(Server.java:499)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
            at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.lang.reflect.InvocationTargetException
            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.export.MethodProperty.getValue(MethodProperty.java:66)
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:145)
            ... 102 more
            Caused by: java.lang.IllegalArgumentException: Illegal choice:
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValueCommon(ExtensibleChoiceParameterDefinition.java:397)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValue(ExtensibleChoiceParameterDefinition.java:430)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.getDefaultParameterValue(ExtensibleChoiceParameterDefinition.java:450)
            ... 108 more
            {code}
            *In Scope*

            *Original request*
            Getting a 500 error when attempting to hit the blue/rest service with Multibranch Pipeline. Looks like it might be an issue with Extensible Choice Paramater plugin.

            {code:java}
            java.io.IOException: Failed to write defaultParameterValue
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
            at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
            at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
            at hudson.model.Api.doJson(Api.java:211)
            at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:63)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
            at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
            at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
            at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:206)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            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:67)
            at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
            at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
            at org.eclipse.jetty.server.Server.handle(Server.java:499)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
            at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.lang.reflect.InvocationTargetException
            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.export.MethodProperty.getValue(MethodProperty.java:66)
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:145)
            ... 102 more
            Caused by: java.lang.IllegalArgumentException: Illegal choice:
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValueCommon(ExtensibleChoiceParameterDefinition.java:397)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValue(ExtensibleChoiceParameterDefinition.java:430)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.getDefaultParameterValue(ExtensibleChoiceParameterDefinition.java:450)
            ... 108 more
            {code}
            jamesdumay James Dumay made changes -
            Description *In Scope*

            *Original request*
            Getting a 500 error when attempting to hit the blue/rest service with Multibranch Pipeline. Looks like it might be an issue with Extensible Choice Paramater plugin.

            {code:java}
            java.io.IOException: Failed to write defaultParameterValue
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
            at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
            at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
            at hudson.model.Api.doJson(Api.java:211)
            at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:63)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
            at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
            at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
            at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:206)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            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:67)
            at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
            at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
            at org.eclipse.jetty.server.Server.handle(Server.java:499)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
            at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.lang.reflect.InvocationTargetException
            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.export.MethodProperty.getValue(MethodProperty.java:66)
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:145)
            ... 102 more
            Caused by: java.lang.IllegalArgumentException: Illegal choice:
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValueCommon(ExtensibleChoiceParameterDefinition.java:397)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValue(ExtensibleChoiceParameterDefinition.java:430)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.getDefaultParameterValue(ExtensibleChoiceParameterDefinition.java:450)
            ... 108 more
            {code}
            *Context*
            If a plugin’s Action fails to serialize it fails the serialization of the rest response. Just like the remote APIs, Blue Ocean returns serialized Actions for many of its responses.

            For Blue Ocean this is incredibly important as a failed REST call can cause the entire UI to fail and the blame is assigned to Blue Ocean rather than the plugin that threw the exception. There are thousands of plugins and 1000s of ways to make the UI fall over.

            *In Scope*

            *Original request*
            Getting a 500 error when attempting to hit the blue/rest service with Multibranch Pipeline. Looks like it might be an issue with Extensible Choice Paramater plugin.

            {code:java}
            java.io.IOException: Failed to write defaultParameterValue
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
            at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
            at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
            at hudson.model.Api.doJson(Api.java:211)
            at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:63)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
            at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
            at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
            at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:206)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            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:67)
            at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
            at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
            at org.eclipse.jetty.server.Server.handle(Server.java:499)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
            at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.lang.reflect.InvocationTargetException
            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.export.MethodProperty.getValue(MethodProperty.java:66)
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:145)
            ... 102 more
            Caused by: java.lang.IllegalArgumentException: Illegal choice:
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValueCommon(ExtensibleChoiceParameterDefinition.java:397)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValue(ExtensibleChoiceParameterDefinition.java:430)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.getDefaultParameterValue(ExtensibleChoiceParameterDefinition.java:450)
            ... 108 more
            {code}
            jamesdumay James Dumay made changes -
            Description *Context*
            If a plugin’s Action fails to serialize it fails the serialization of the rest response. Just like the remote APIs, Blue Ocean returns serialized Actions for many of its responses.

            For Blue Ocean this is incredibly important as a failed REST call can cause the entire UI to fail and the blame is assigned to Blue Ocean rather than the plugin that threw the exception. There are thousands of plugins and 1000s of ways to make the UI fall over.

            *In Scope*

            *Original request*
            Getting a 500 error when attempting to hit the blue/rest service with Multibranch Pipeline. Looks like it might be an issue with Extensible Choice Paramater plugin.

            {code:java}
            java.io.IOException: Failed to write defaultParameterValue
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
            at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
            at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
            at hudson.model.Api.doJson(Api.java:211)
            at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:63)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
            at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
            at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
            at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:206)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            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:67)
            at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
            at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
            at org.eclipse.jetty.server.Server.handle(Server.java:499)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
            at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.lang.reflect.InvocationTargetException
            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.export.MethodProperty.getValue(MethodProperty.java:66)
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:145)
            ... 102 more
            Caused by: java.lang.IllegalArgumentException: Illegal choice:
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValueCommon(ExtensibleChoiceParameterDefinition.java:397)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValue(ExtensibleChoiceParameterDefinition.java:430)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.getDefaultParameterValue(ExtensibleChoiceParameterDefinition.java:450)
            ... 108 more
            {code}
            *Context*
            If a plugin’s Action fails to serialize it fails the serialization of the rest response. Just like the remote APIs, Blue Ocean returns serialized Actions for many of its responses.

            For Blue Ocean this is incredibly important as a failed REST call can cause the entire UI to fail and the blame is assigned to Blue Ocean rather than the plugin that threw the exception. There are thousands of plugins and 1000s of ways to make the UI fall over.

            *In Scope*
            * If an Actions property fails to serialize then the serialized action should not be visible in the response
            ** Could we return the error somehow without failing the whole request? We might want to let the user know if we cant render that action (e.g. Test screen shouldn't look like there are no tests if the action breaks)
            * When serialization failure occurs, the stack trace is logged along with the identity of the plugin providing the action and a link to its wiki page explaining how to file a bug.


            *Original request*
            Getting a 500 error when attempting to hit the blue/rest service with Multibranch Pipeline. Looks like it might be an issue with Extensible Choice Paramater plugin.

            {code:java}
            java.io.IOException: Failed to write defaultParameterValue
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:151)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:126)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:279)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:222)
            at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
            at org.kohsuke.stapler.export.Property.writeTo(Property.java:139)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:227)
            at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
            at org.kohsuke.stapler.export.Model.writeTo(Model.java:198)
            at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:285)
            at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:273)
            at hudson.model.Api.doJson(Api.java:211)
            at io.jenkins.blueocean.rest.pageable.PagedResponse$Processor$1.generateResponse(PagedResponse.java:63)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
            at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
            at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
            at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:206)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
            at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            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:67)
            at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
            at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
            at org.eclipse.jetty.server.Server.handle(Server.java:499)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
            at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.lang.reflect.InvocationTargetException
            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.export.MethodProperty.getValue(MethodProperty.java:66)
            at org.kohsuke.stapler.export.Property.safeGetValue(Property.java:145)
            ... 102 more
            Caused by: java.lang.IllegalArgumentException: Illegal choice:
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValueCommon(ExtensibleChoiceParameterDefinition.java:397)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.createValue(ExtensibleChoiceParameterDefinition.java:430)
            at jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition.getDefaultParameterValue(ExtensibleChoiceParameterDefinition.java:450)
            ... 108 more
            {code}
            Hide
            michaelneale Michael Neale added a comment -

            Has the anaysis core plugin been fixed so it can serialize?

            Show
            michaelneale Michael Neale added a comment - Has the anaysis core plugin been fixed so it can serialize?
            Hide
            jamesdumay James Dumay added a comment -

            Michael Neale yes its fixed. There are others like the multi choice param plugin that barf. Any plugin could do this and bring the whole stack of cards down.

            Show
            jamesdumay James Dumay added a comment - Michael Neale yes its fixed. There are others like the multi choice param plugin that barf. Any plugin could do this and bring the whole stack of cards down.
            Hide
            jglick Jesse Glick added a comment -

            I am filing this under the plugin actually causing the error here, since it seems JENKINS-40088 is tracking the response to the error already.

            Show
            jglick Jesse Glick added a comment - I am filing this under the plugin actually causing the error here, since it seems JENKINS-40088 is tracking the response to the error already.
            jglick Jesse Glick made changes -
            Component/s extensible-choice-parameter-plugin [ 17512 ]
            Component/s blueocean-plugin [ 21481 ]
            Labels adoption adoption blueocean
            Summary Failed to write defaultParameterValue Failed to write defaultParameterValue: IAE from ExtensibleChoiceParameterDefinition.createValueCommon
            jglick Jesse Glick made changes -
            Assignee Vivek Pandey [ vivek ]
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 27 (Web Link)" [ 15235 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ] ikedam [ ikedam ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 28 (Web Link)" [ 15275 ]
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: ikedam
            Path:
            src/main/java/jp/ikedam/jenkins/plugins/extensible_choice_parameter/ExtensibleChoiceParameterDefinition.java
            src/test/java/jp/ikedam/jenkins/plugins/extensible_choice_parameter/ExtensibleChoiceParameterDefinitionJenkinsTest.java
            http://jenkins-ci.org/commit/extensible-choice-parameter-plugin/535d9d79337948fbbbefabb9189aad2d67cdd53d
            Log:
            [FIXED JENKINS-39647] `getDefaultParameterValue` should not fail

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: src/main/java/jp/ikedam/jenkins/plugins/extensible_choice_parameter/ExtensibleChoiceParameterDefinition.java src/test/java/jp/ikedam/jenkins/plugins/extensible_choice_parameter/ExtensibleChoiceParameterDefinitionJenkinsTest.java http://jenkins-ci.org/commit/extensible-choice-parameter-plugin/535d9d79337948fbbbefabb9189aad2d67cdd53d Log: [FIXED JENKINS-39647] `getDefaultParameterValue` should not fail
            Hide
            ikedam ikedam added a comment -

            Fixed in extensible-choice 1.3.4.
            It will be available in the update center in a day.
            Please try that.

            Show
            ikedam ikedam added a comment - Fixed in extensible-choice 1.3.4. It will be available in the update center in a day. Please try that.
            ikedam ikedam made changes -
            Assignee ikedam [ ikedam ] Sterling Heibeck [ sheibeck ]
            Resolution Fixed [ 1 ]
            Status In Review [ 10005 ] Resolved [ 5 ]
            Hide
            jamesdumay James Dumay added a comment -

            Nice one! Thanks

            Show
            jamesdumay James Dumay added a comment - Nice one! Thanks
            cloudbees CloudBees Inc. made changes -
            Remote Link This issue links to "CloudBees Internal OSS-1823 (Web Link)" [ 18549 ]

              People

              Assignee:
              sheibeck Sterling Heibeck
              Reporter:
              sheibeck Sterling Heibeck
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: