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

nullpointerexception when clicking on 'show diffs' on a job config history page (since 1.651 update)

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • None
    • Jenkins 1.651
      Job-config-history plugin 2.12

      When clicking on 'job config history' button in a job page, there is no problem. Raw/xml data is also properly accessible.

      But when clicking on 'Show diffs' button, we got this error :

      javax.servlet.ServletException: java.lang.NullPointerException
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
      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.MetaClass$5.doDispatch(MetaClass.java:233)
      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.Stapler.invoke(Stapler.java:649)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      at com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:47)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      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:1482)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      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.NullPointerException
      at java.text.SimpleDateFormat.parse(Unknown Source)
      at java.text.DateFormat.parse(Unknown Source)
      at hudson.plugins.jobConfigHistory.PluginUtils.parsedDate(PluginUtils.java:117)
      at hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction.doDiffFiles(JobConfigHistoryBaseAction.java:186)
      at sun.reflect.GeneratedMethodAccessor2620.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:320)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:163)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      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)
      ... 68 more

          [JENKINS-33289] nullpointerexception when clicking on 'show diffs' on a job config history page (since 1.651 update)

          Max Kovgan added a comment -

          Tried going back in version, reached: 2.9, still reproducing.
          I suspect some library is causing this.

          Max Kovgan added a comment - Tried going back in version, reached: 2.9, still reproducing. I suspect some library is causing this.

          James Chao added a comment -

          OK, it seems like it's a problem with Jenkins 1.651 and above.

          Jenkins 1.650 does not have this problem. So, a workaround for now would be to downgrade to 1.650.

          I am using plugin version 2.12.

          James Chao added a comment - OK, it seems like it's a problem with Jenkins 1.651 and above. Jenkins 1.650 does not have this problem. So, a workaround for now would be to downgrade to 1.650. I am using plugin version 2.12.

          AnneTheAgile added a comment - - edited

          1.Do we have any ideas why this is occurring , or how can we raise this for the Jenkins folks if the fix needs to be on their end?
          2.Can we change the title to reflect the jenkins version indicted?

          AnneTheAgile added a comment - - edited 1.Do we have any ideas why this is occurring , or how can we raise this for the Jenkins folks if the fix needs to be on their end? 2.Can we change the title to reflect the jenkins version indicted?

          Code changed in jenkins
          User: Stefan Brausch
          Path:
          pom.xml
          src/main/java/hudson/plugins/jobConfigHistory/JobConfigHistoryBaseAction.java
          src/main/resources/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction/index.jelly
          src/main/resources/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction/index.jelly
          src/test/java/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectActionTest.java
          http://jenkins-ci.org/commit/jobConfigHistory-plugin/4b36915239849db047c503337638d6450dc32f5b
          Log:
          [FIXED JENKINS-33289] Test fixed, Typo in jelly

          Compare: https://github.com/jenkinsci/jobConfigHistory-plugin/compare/009f555d2249...4b3691523984

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stefan Brausch Path: pom.xml src/main/java/hudson/plugins/jobConfigHistory/JobConfigHistoryBaseAction.java src/main/resources/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction/index.jelly src/main/resources/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction/index.jelly src/test/java/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectActionTest.java http://jenkins-ci.org/commit/jobConfigHistory-plugin/4b36915239849db047c503337638d6450dc32f5b Log: [FIXED JENKINS-33289] Test fixed, Typo in jelly Compare: https://github.com/jenkinsci/jobConfigHistory-plugin/compare/009f555d2249...4b3691523984

          Fix is released and should be available in update center soon.

          Sorry for the delay, but I saw the issue this morning the first time

          Stefan Brausch added a comment - Fix is released and should be available in update center soon. Sorry for the delay, but I saw the issue this morning the first time

          Code changed in jenkins
          User: Stefan Brausch
          Path:
          pom.xml
          src/main/java/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction.java
          src/main/java/hudson/plugins/jobConfigHistory/JobConfigHistoryBaseAction.java
          src/main/java/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction.java
          src/main/resources/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction/index.jelly
          src/main/resources/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction/showDiffFiles.jelly
          src/main/resources/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction/index.jelly
          src/main/resources/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction/showDiffFiles.jelly
          src/test/java/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectActionTest.java
          http://jenkins-ci.org/commit/jobConfigHistory-plugin/c363857daefca3e6c58fd3b5106c69328a6f40fb
          Log:
          Merge branch 'SECURITY-140'

          (JENKINS-33289) NPE when clicking showDiffs
          SECURITY-140 XSS vulnerability

          Compare: https://github.com/jenkinsci/jobConfigHistory-plugin/compare/801a6ee0fd7c...c363857daefc

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stefan Brausch Path: pom.xml src/main/java/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction.java src/main/java/hudson/plugins/jobConfigHistory/JobConfigHistoryBaseAction.java src/main/java/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction.java src/main/resources/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction/index.jelly src/main/resources/hudson/plugins/jobConfigHistory/ComputerConfigHistoryAction/showDiffFiles.jelly src/main/resources/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction/index.jelly src/main/resources/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectAction/showDiffFiles.jelly src/test/java/hudson/plugins/jobConfigHistory/JobConfigHistoryProjectActionTest.java http://jenkins-ci.org/commit/jobConfigHistory-plugin/c363857daefca3e6c58fd3b5106c69328a6f40fb Log: Merge branch 'SECURITY-140' ( JENKINS-33289 ) NPE when clicking showDiffs SECURITY-140 XSS vulnerability Compare: https://github.com/jenkinsci/jobConfigHistory-plugin/compare/801a6ee0fd7c...c363857daefc

          AnneTheAgile added a comment -

          ty stefanbrausch! I see it is already out.

          https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin
          Version 2.13 (March 18 2016)
          (JENKINS-33289) NPE when clicking showDiffs (Jenkins Core 1.650 or higher)
          SECURITY-140 XSS vulnerability

          AnneTheAgile added a comment - ty stefanbrausch ! I see it is already out. https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin Version 2.13 (March 18 2016) ( JENKINS-33289 ) NPE when clicking showDiffs (Jenkins Core 1.650 or higher) SECURITY-140 XSS vulnerability

          Lanre Ade added a comment -

          I get same java exception when i clicked on show diff.

          Jenkins 2.3, Job config plugin 2.12

          Lanre Ade added a comment - I get same java exception when i clicked on show diff. Jenkins 2.3, Job config plugin 2.12

          stino spash added a comment -

          I see the same bug on Jenkins 2.7.1
          with
          org.jenkins-ci.plugins:jobConfigHistory:2.12
          com.googlecode.java-diff-utils:diffutils:1.2.1

          stino spash added a comment - I see the same bug on Jenkins 2.7.1 with org.jenkins-ci.plugins:jobConfigHistory:2.12 com.googlecode.java-diff-utils:diffutils:1.2.1

          The problem is already fixed with plugin version 2.13. Please update your plugin to 2.13 or higher.

          Stefan Brausch added a comment - The problem is already fixed with plugin version 2.13. Please update your plugin to 2.13 or higher.

            stefanbrausch Stefan Brausch
            splashnenen Alexandre Aubert
            Votes:
            8 Vote for this issue
            Watchers:
            17 Start watching this issue

              Created:
              Updated:
              Resolved: