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

FolderConfigFileAction.doShow NullPointerException

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Trivial
    • Resolution: Unresolved
    • Labels:
      None
    • Environment:
      Jenkins ver. 2.164.1
      Config File Provider Plugin 3.6
    • Similar Issues:

      Description

      When clicking "view selected file" in snippet generator, the following stacktrace is produced:

      java.lang.NullPointerException
      	at org.jenkinsci.plugins.configfiles.folder.FolderConfigFileAction.doShow(FolderConfigFileAction.java:163)
      	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
      	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:537)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
      Caused: javax.servlet.ServletException
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:789)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
      	at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:458)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:282)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
      	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:865)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
      	at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
      	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:90)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      	at org.eclipse.jetty.server.Server.handle(Server.java:503)
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
      	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
      	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
      	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
      	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
      	at java.base/java.lang.Thread.run(Thread.java:834)

        Attachments

          Activity

          Hide
          imod Dominik Bartholdi added a comment - - edited

          please provide some more information...

          • what do you try to do?
          • what configuration file type are you working with?
          • does the config file still exist or has it been deleted?
          • maybe screenshots
          • ...

          sorry, i got it now...

          Show
          imod Dominik Bartholdi added a comment - - edited please provide some more information... what do you try to do? what configuration file type are you working with? does the config file still exist or has it been deleted? maybe screenshots ... sorry, i got it now...
          Hide
          imod Dominik Bartholdi added a comment -

          I can reproduce an issue at the same action, but it appears with a different error. I get:

          
          404 Not Found
          Stapler processed this HTTP request as follows, but couldn't find the resource to consume the request
          -> evaluate(<hudson.model.Hudson@36d26d7a> :hudson.model.Hudson,"/job/JENKINS-48430/configfiles/show")
          -> evaluate(((StaplerProxy)<hudson.model.Hudson@36d26d7a>).getTarget(),"/job/JENKINS-48430/configfiles/show")
          -> evaluate(<hudson.model.Hudson@36d26d7a>.getJob("JENKINS-48430"),"/configfiles/show")
          -> evaluate(<org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]> :org.jenkinsci.plugins.workflow.job.WorkflowJob,"/configfiles/show")
          -> evaluate(<org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]>.getDynamic("configfiles",...),"/show")
                      org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430].getDynamic("configfiles",...)==null. Back tracking.
          -> No matching rule was found on <org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]> for "/configfiles/show"
          
          <org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]> has the following URL mappings, in the order of preference:
          
          1. If path ends without '/' insert it
          2. delete() for url=/ with DELETE
          3. hudson.model.Job.doRssChangelog(...) for url=/rssChangelog/...
          4. org.jenkinsci.plugins.workflow.job.WorkflowJob.doCancelQueue(...) for url=/cancelQueue/...
          5. hudson.model.Job.doDoRename(...) for url=/doRename/...
          ...

          how can I reproduce the same error as you see it?

          Show
          imod Dominik Bartholdi added a comment - I can reproduce an issue at the same action, but it appears with a different error. I get: 404 Not Found Stapler processed this HTTP request as follows, but couldn't find the resource to consume the request -> evaluate(<hudson.model.Hudson@36d26d7a> :hudson.model.Hudson, "/job/JENKINS-48430/configfiles/show" ) -> evaluate(((StaplerProxy)<hudson.model.Hudson@36d26d7a>).getTarget(), "/job/JENKINS-48430/configfiles/show" ) -> evaluate(<hudson.model.Hudson@36d26d7a>.getJob( "JENKINS-48430" ), "/configfiles/show" ) -> evaluate(<org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]> :org.jenkinsci.plugins.workflow.job.WorkflowJob, "/configfiles/show" ) -> evaluate(<org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]>.getDynamic( "configfiles" ,...), "/show" ) org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430].getDynamic( "configfiles" ,...)== null . Back tracking. -> No matching rule was found on <org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]> for "/configfiles/show" <org.jenkinsci.plugins.workflow.job.WorkflowJob@c964a9e[JENKINS-48430]> has the following URL mappings, in the order of preference: 1. If path ends without '/' insert it 2. delete() for url=/ with DELETE 3. hudson.model.Job.doRssChangelog(...) for url=/rssChangelog/... 4. org.jenkinsci.plugins.workflow.job.WorkflowJob.doCancelQueue(...) for url=/cancelQueue/... 5. hudson.model.Job.doDoRename(...) for url=/doRename/... ... how can I reproduce the same error as you see it?
          Hide
          lightoze Vladimir Kulev added a comment -

          Here are my steps to reproduce:

          1. open some job and click "Pipeline Syntax" (/job/.../pipeline-syntax/ URL)
          2. select "configFileProvider" step and some file
          3. click "view selected file"
          Show
          lightoze Vladimir Kulev added a comment - Here are my steps to reproduce: open some job and click "Pipeline Syntax" ( /job/.../pipeline-syntax/ URL) select "configFileProvider" step and some file click "view selected file"

            People

            • Assignee:
              domi Dominik Bartholdi
              Reporter:
              lightoze Vladimir Kulev
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: