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

Fail to submit build selector parameter on Jenkins 2.264 and later

      Upon upgrade to 2.266 (from 2.256, using yum), I am no longer able to trigger a build for a job which uses the copyartifact plugin.  Other jobs which do not use this plugin do not seem to be affected.  I am currently also unable to reconfigure the plugin due to the issue in JENKINS-64072 (I'm not yet able to track down which exact plugin is breaking the job config page).

      Upon attempting to trigger a build from the UI, I get an error page, and the below in the logs.

      I have updated all plugins and restarted several times, but no change in behavior.

      2020-11-10 21:26:38.776+0000 [id=73]    WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 850b42d6-8c33-4719-a650-e0de4e40c1f7
      java.lang.ClassNotFoundException: ["hudson.plugins.copyartifact.StatusBuildSelector","hudson.plugins.copyartifact.SavedBuildSelector","hudson.plugins.copyartifact.TriggeredBuildSelector","hudson.plugins.copyartifact.DownstreamBuildSelector","hudson.plugins.copyartifact.LastBuildWithArtifactSelector","hudson.plugins.copyartifact.LastCompletedBuildSelector","hudson.plugins.copyartifact.PermalinkBuildSelector","hudson.plugins.copyartifact.SpecificBuildSelector","hudson.plugins.copyartifact.WorkspaceSelector"]
              at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:2065)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
              at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:669)
      Caused: java.lang.IllegalArgumentException: Class ["hudson.plugins.copyartifact.StatusBuildSelector","hudson.plugins.copyartifact.SavedBuildSelector","hudson.plugins.copyartifact.TriggeredBuildSelector","hudson.plugins.copyartifact.DownstreamBuildSelector","hudson.plugins.copyartifact.LastBuildWithArtifactSelector","hudson.plugins.copyartifact.LastCompletedBuildSelector","hudson.plugins.copyartifact.PermalinkBuildSelector","hudson.plugins.copyartifact.SpecificBuildSelector","hudson.plugins.copyartifact.WorkspaceSelector"] is specified in JSON, but no such class found in classLoader hudson.PluginManager$UberClassLoader
              at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:674)
      Caused: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.copyartifact.BuildSelector from {"name":"buildSelector","stapler-class":["hudson.plugins.copyartifact.StatusBuildSelector","hudson.plugins.copyartifact.SavedBuildSelector","hudson.plugins.copyartifact.TriggeredBuildSelector","hudson.plugins.copyartifact.DownstreamBuildSelector","hudson.plugins.copyartifact.LastBuildWithArtifactSelector","hudson.plugins.copyartifact.LastCompletedBuildSelector","hudson.plugins.copyartifact.PermalinkBuildSelector","hudson.plugins.copyartifact.SpecificBuildSelector","hudson.plugins.copyartifact.WorkspaceSelector"],"$class":["hudson.plugins.copyartifact.StatusBuildSelector","hudson.plugins.copyartifact.SavedBuildSelector","hudson.plugins.copyartifact.TriggeredBuildSelector","hudson.plugins.copyartifact.DownstreamBuildSelector","hudson.plugins.copyartifact.LastBuildWithArtifactSelector","hudson.plugins.copyartifact.LastCompletedBuildSelector","hudson.plugins.copyartifact.PermalinkBuildSelector","hudson.plugins.copyartifact.SpecificBuildSelector","hudson.plugins.copyartifact.WorkspaceSelector"],"buildNumber":"${parentBuildNumber}"}
              at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:681)
              at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
              at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:474)
              at hudson.plugins.copyartifact.BuildSelectorParameter.createValue(BuildSelectorParameter.java:81)
              at hudson.model.ParametersDefinitionProperty._doBuild(ParametersDefinitionProperty.java:153)
              at jenkins.model.ParameterizedJobMixIn.doBuild(ParameterizedJobMixIn.java:211)
              at jenkins.model.ParameterizedJobMixIn$ParameterizedJob.doBuild(ParameterizedJobMixIn.java:407)
              at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
              at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
              at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
              at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
              at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
              at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
      Caused: javax.servlet.ServletException
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:816)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
              at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694)
              at org.kohsuke.stapler.Stapler.service(Stapler.java:240)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
              at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1633)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
              at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
              at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
              at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
              at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:92)
              at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
              at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:62)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
              at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:109)
              at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
              at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
              at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
              at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
              at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:561)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
              at org.eclipse.jetty.server.Server.handle(Server.java:516)
              at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
              at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
              at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
              at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
              at java.lang.Thread.run(Thread.java:748) 

      How to reproduce:

      1. Launch a new instance of Jenkins 2.264 or later: E.g.
        docker run --rm -p 8080:8080 -it jenkins/jenkins:2.264-alpine
        
      2. Complete the setup wizard installing copyartifact:
        1. Input the administartor password
        2. Select "Select plugins to install"
        3. Uncheck all checkboxes clicking "None", check "Copy Artfiact", and then click "Install".
        4. Create an administrator user
        5. Configure the instance URL
      3. Create a job with copyartifact build selector
        1. Click "New item"
        2. Create a Freestyle project
        3. Check "this project is parameterized"
        4. Add "Build selector for Copy Artifact". Input "SELECTOR" for the name.
        5. Save the job
      4. Start a new build from "Build with parameters"
      5. Oops! screen comes

        •  

          [JENKINS-64189] Fail to submit build selector parameter on Jenkins 2.264 and later

          Ross Campbell added a comment -

          WRT to vwbusguy comment, I am seeing this in the logs, which I did not see before 2.266:

          2020-11-12 17:48:28.459+0000 [id=15]    WARNING o.s.c.s.ResourceBundleMessageSource#getResourceBundle: ResourceBundle [org.acegisecurity.messages] not found for MessageSource: Can't find bundle for base name org.acegisecurity.messages, locale en_US
          

          jglick I checked the tables from your blog post, and copyartifact was marked as compatible - is it possible there is an issue here?

          Ross Campbell added a comment - WRT to vwbusguy  comment, I am seeing this in the logs, which I did not see before 2.266: 2020-11-12 17:48:28.459+0000 [id=15]    WARNING o.s.c.s.ResourceBundleMessageSource#getResourceBundle: ResourceBundle [org.acegisecurity.messages] not found for MessageSource: Can't find bundle for base name org.acegisecurity.messages, locale en_US jglick  I checked the tables from your blog post, and copyartifact was marked as compatible - is it possible there is an issue here?

          I filed an issue with the Jenkins CAS plugin as well: https://github.com/jenkinsci/cas-plugin/issues/5

          Scott Williams added a comment - I filed an issue with the Jenkins CAS plugin as well: https://github.com/jenkinsci/cas-plugin/issues/5

          ikedam added a comment - - edited

          It looks caused for the data sent from browser to Jenkins gets completely broken:

          • Jenkins-2.249.2
            json: {"":+"0",+"parameter":+{"name":+"SELECTOR",+"stable":+false,+"stapler-class":+"hudson.plugins.copyartifact.StatusBuildSelector",+"$class":+"hudson.plugins.copyartifact.StatusBuildSelector"},+"statusCode":+"303",+"redirectTo":+".",+"Jenkins-Crumb":+"669cc53a36363289cf81279afe769e4e0f10a660b3e5321a100e6fdf3489fa87"}
            
          • Jenkins-2.267
            json: {"":+"0",+"parameter":+{"name":+"SELECTOR",+"stable":+false,+"stapler-class":+["hudson.plugins.copyartifact.StatusBuildSelector",+"hudson.plugins.copyartifact.SavedBuildSelector",+"hudson.plugins.copyartifact.TriggeredBuildSelector",+"hudson.plugins.copyartifact.DownstreamBuildSelector",+"hudson.plugins.copyartifact.LastBuildWithArtifactSelector",+"hudson.plugins.copyartifact.LastCompletedBuildSelector",+"hudson.plugins.copyartifact.PermalinkBuildSelector",+"hudson.plugins.copyartifact.SpecificBuildSelector",+"hudson.plugins.copyartifact.WorkspaceSelector"],+"$class":+["hudson.plugins.copyartifact.StatusBuildSelector",+"hudson.plugins.copyartifact.SavedBuildSelector",+"hudson.plugins.copyartifact.TriggeredBuildSelector",+"hudson.plugins.copyartifact.DownstreamBuildSelector",+"hudson.plugins.copyartifact.LastBuildWithArtifactSelector",+"hudson.plugins.copyartifact.LastCompletedBuildSelector",+"hudson.plugins.copyartifact.PermalinkBuildSelector",+"hudson.plugins.copyartifact.SpecificBuildSelector",+"hudson.plugins.copyartifact.WorkspaceSelector"]},+"statusCode":+"303",+"redirectTo":+".",+"Jenkins-Crumb":+"9298fc3ec7c3d7571f6c2cf5c2f589aff8d95b493cb4f277599f4ac84c316dca"}
            

          ikedam added a comment - - edited It looks caused for the data sent from browser to Jenkins gets completely broken: Jenkins-2.249.2 json: {"":+"0",+"parameter":+{"name":+"SELECTOR",+"stable":+false,+"stapler-class":+"hudson.plugins.copyartifact.StatusBuildSelector",+"$class":+"hudson.plugins.copyartifact.StatusBuildSelector"},+"statusCode":+"303",+"redirectTo":+".",+"Jenkins-Crumb":+"669cc53a36363289cf81279afe769e4e0f10a660b3e5321a100e6fdf3489fa87"} Jenkins-2.267 json: {"":+"0",+"parameter":+{"name":+"SELECTOR",+"stable":+false,+"stapler-class":+["hudson.plugins.copyartifact.StatusBuildSelector",+"hudson.plugins.copyartifact.SavedBuildSelector",+"hudson.plugins.copyartifact.TriggeredBuildSelector",+"hudson.plugins.copyartifact.DownstreamBuildSelector",+"hudson.plugins.copyartifact.LastBuildWithArtifactSelector",+"hudson.plugins.copyartifact.LastCompletedBuildSelector",+"hudson.plugins.copyartifact.PermalinkBuildSelector",+"hudson.plugins.copyartifact.SpecificBuildSelector",+"hudson.plugins.copyartifact.WorkspaceSelector"],+"$class":+["hudson.plugins.copyartifact.StatusBuildSelector",+"hudson.plugins.copyartifact.SavedBuildSelector",+"hudson.plugins.copyartifact.TriggeredBuildSelector",+"hudson.plugins.copyartifact.DownstreamBuildSelector",+"hudson.plugins.copyartifact.LastBuildWithArtifactSelector",+"hudson.plugins.copyartifact.LastCompletedBuildSelector",+"hudson.plugins.copyartifact.PermalinkBuildSelector",+"hudson.plugins.copyartifact.SpecificBuildSelector",+"hudson.plugins.copyartifact.WorkspaceSelector"]},+"statusCode":+"303",+"redirectTo":+".",+"Jenkins-Crumb":+"9298fc3ec7c3d7571f6c2cf5c2f589aff8d95b493cb4f277599f4ac84c316dca"}

          ikedam added a comment -

          This looks caused for JENKINS-56109 since Jenkins 2.264.

          ikedam added a comment - This looks caused for JENKINS-56109 since Jenkins 2.264.

          ikedam added a comment -

          Updated the description with detailed steps to reproduce the problem.
          Plugins installed with those reproduction steps:

          trilead-api:1.0.12
          script-security:1.75
          command-launcher:1.5
          jdk-tool:1.4
          apache-httpcomponents-client-4-api:4.5.10-2.0
          structs:1.20
          plugin-util-api:1.4.0
          font-awesome-api:5.15.1-1
          popper-api:1.16.0-7
          jquery3-api:3.5.1-2
          bootstrap4-api:4.5.3-1
          snakeyaml-api:1.27.0
          jackson2-api:2.11.3
          echarts-api:4.9.0-2
          display-url-api:2.3.4
          workflow-step-api:2.23
          checks-api:1.1.1
          scm-api:2.6.4
          workflow-api:2.40
          junit:1.44
          matrix-project:1.18
          copyartifact:1.45.2
          

          ikedam added a comment - Updated the description with detailed steps to reproduce the problem. Plugins installed with those reproduction steps: trilead-api:1.0.12 script-security:1.75 command-launcher:1.5 jdk-tool:1.4 apache-httpcomponents-client-4-api:4.5.10-2.0 structs:1.20 plugin-util-api:1.4.0 font-awesome-api:5.15.1-1 popper-api:1.16.0-7 jquery3-api:3.5.1-2 bootstrap4-api:4.5.3-1 snakeyaml-api:1.27.0 jackson2-api:2.11.3 echarts-api:4.9.0-2 display-url-api:2.3.4 workflow-step-api:2.23 checks-api:1.1.1 scm-api:2.6.4 workflow-api:2.40 junit:1.44 matrix-project:1.18 copyartifact:1.45.2

          ikedam added a comment -

          jsoref Would you have a look on this?

          ikedam added a comment - jsoref Would you have a look on this?

          ikedam added a comment - Implementation: https://github.com/jenkinsci/copyartifact-plugin/blob/master/src/main/resources/hudson/plugins/copyartifact/BuildSelectorParameter/index.jelly

          Tim Jacomb added a comment -

          thanks for the great report and re-production steps, easy fix in https://github.com/jenkinsci/copyartifact-plugin/pull/134

          Tim Jacomb added a comment - thanks for the great report and re-production steps, easy fix in https://github.com/jenkinsci/copyartifact-plugin/pull/134

          ikedam added a comment -

          Copyartifact-1.45.3 with the fix for this issue is released.
          It will be in the update center in a day.

          timja Thanks a lot for your fix!

          rossc Please try copyartifact-1.45.3.

          ikedam added a comment - Copyartifact-1.45.3 with the fix for this issue is released. It will be in the update center in a day. timja Thanks a lot for your fix! rossc Please try copyartifact-1.45.3.

          Tim Jacomb added a comment -

          It should be in update center within 5 minutes after release?

          Tim Jacomb added a comment - It should be in update center within 5 minutes after release?

            rossc Ross Campbell
            rossc Ross Campbell
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: