• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • Master (Windows 7), Slaves (Windows 7, Ubuntu 12.04)
      Jenkins: 1.596.2 LTS
      Subversion plugin 2.5
      GIT plugin: 2.3.5
      Multiple SCMs plugin: 0.4

      I have several jobs configured to checkout various GIT and SVN repositories using the Multiple SCMs plugin.
      I used to be able to check the change history (mainly SVN) for each completed build, but since upgrading to Jenkins 1.596.1 LTS, nothing is displayed. The issue is still present using Jenkins 1.596.2 LTS.
      The following error occurs for all change histories that were previously viewable:

      Failed to parse C:\jenkins-data\xxxxx\builds\2015-03-05_16-58-03\changelog.xml
      org.xml.sax.SAXException: could not close temp changelog file
      hudson.util.IOException2: Failed to parse C:\jenkins-data\xxxxx\builds\2015-03-05_16-58-03\changelog.xml.temp2
      	at org.jenkinsci.plugins.multiplescms.MultiSCMChangeLogParser$LogSplitter.endElement(MultiSCMChangeLogParser.java:106)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
      	at javax.xml.parsers.SAXParser.parse(Unknown Source)
      	at org.jenkinsci.plugins.multiplescms.MultiSCMChangeLogParser.parse(MultiSCMChangeLogParser.java:135)
      	at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:894)
      	at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:862)
      	at sun.reflect.GeneratedMethodAccessor232.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.writeTo(Property.java:116)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:197)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:192)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:192)
      	at org.kohsuke.stapler.export.Model.writeTo(Model.java:164)
      	at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:267)
      	at hudson.model.Api.doJson(Api.java:211)
      	at sun.reflect.GeneratedMethodAccessor218.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:298)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:211)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:211)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	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:96)
      	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      	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:135)
      	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:168)
      	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:366)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
      	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: hudson.util.IOException2: Failed to parse C:\jenkins-data\xxxxx\builds\2015-03-05_16-58-03\changelog.xml.temp2
      	at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:78)
      	at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:43)
      	at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)
      	at org.jenkinsci.plugins.multiplescms.MultiSCMChangeLogParser$LogSplitter.endElement(MultiSCMChangeLogParser.java:99)
      	... 108 more
      Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:  Invalid byte 3 of 3-byte UTF-8 sequence.
      	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
      	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      	at org.apache.commons.digester.Digester.parse(Digester.java:1871)
      	at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:76)
      	... 111 more
      

          [JENKINS-27674] Build change history is no longer displayed

          chikigai added a comment -

          Some additional info.
          Comparing "changelog.xml" generated by a job using the Multi SCM plugin to one genereated by a job that only uses the Subversion plugin, I found the following difference.

          [Multi SCM plugin]
          Generated "changelog.xml" is saved in ANSI format.

          [Subversion plugin]
          Generated "changelog.xml" is saved in UTF8 format.

          Since the processed commit logs contain multi-byte characters, I am assuming the issue is caused because the Multi SCM plugin saves "changelog.xml" in ANSI format.

          chikigai added a comment - Some additional info. Comparing "changelog.xml" generated by a job using the Multi SCM plugin to one genereated by a job that only uses the Subversion plugin, I found the following difference. [Multi SCM plugin] Generated "changelog.xml" is saved in ANSI format. [Subversion plugin] Generated "changelog.xml" is saved in UTF8 format. Since the processed commit logs contain multi-byte characters, I am assuming the issue is caused because the Multi SCM plugin saves "changelog.xml" in ANSI format.

          Tom Johnson added a comment -

          I'm on Jenkins 1.618 with Multiple SCM 0.4 and I think I see this issue too.
          Since updating to these versions I get no changes information (I have both SVN and GIT repos in the project).
          Other projects that use the standard SVN plugin show changes just fine.
          Would be great to get this fixed as my nightly builds no longer show a list of changes for our testers to refer to
          thanks!

          Tom Johnson added a comment - I'm on Jenkins 1.618 with Multiple SCM 0.4 and I think I see this issue too. Since updating to these versions I get no changes information (I have both SVN and GIT repos in the project). Other projects that use the standard SVN plugin show changes just fine. Would be great to get this fixed as my nightly builds no longer show a list of changes for our testers to refer to thanks!

          I also have the exact same problem. Updated SVN plugin 6 days ago (had an older version), wiped out workspaces and since then everything works fine except that there are no more changes shown at all. I do not even get the exception from case description. I can send more info if needed.

          So:

          • pooling log file does show a file changed
          • job console/log does show that that file has been updated localy
          • change log file only lists multiple SCM & all the SVN repos with no additional info so in UI it is empty:
            <multi-scm-log>
            <sub-log scm="svn https://github.com/x https://github.com/y ...">
            <![CDATA[<log/>]]>
            </sub-log>
            </multi-scm-log>

          Please fix this cause it is now harder to pinpoint commits that generated regressions. (we have to correlate timestamps of build against SCM history) or look in console for each build then check history in SVN and see who committed something.

          Jenkins 1.619
          Subversion Plug-in 2.5
          Multiple SCMs plugin 0.4

          Andrei Costescu added a comment - I also have the exact same problem. Updated SVN plugin 6 days ago (had an older version), wiped out workspaces and since then everything works fine except that there are no more changes shown at all. I do not even get the exception from case description. I can send more info if needed. So: pooling log file does show a file changed job console/log does show that that file has been updated localy change log file only lists multiple SCM & all the SVN repos with no additional info so in UI it is empty: <multi-scm-log> <sub-log scm="svn https://github.com/x https://github.com/y ..."> <![CDATA[<log/>]]> </sub-log> </multi-scm-log> Please fix this cause it is now harder to pinpoint commits that generated regressions. (we have to correlate timestamps of build against SCM history) or look in console for each build then check history in SVN and see who committed something. Jenkins 1.619 Subversion Plug-in 2.5 Multiple SCMs plugin 0.4

          Should this be assigned to the subversion plugin or are you looking at it Kevin?

          Andrei Costescu added a comment - Should this be assigned to the subversion plugin or are you looking at it Kevin?

          Jeff Thornsen added a comment - - edited

          We have same issue using Git with Multi-SCMs. Changelog stops listing detailed commit information for any jobs using the Multi-SCM plugin. I think this is a bug in the way multi-scm saves or modifies the changelog.xml, or in the way Jenkins Core parses and displays the information in the web GUI.

          I don't think this a problem with subversion or git plugins. Just between jenkins core and the multi-scm plugin and handling of changelog.xml file.

          Edit: another thing I just noticed in the screenshot, the SHA-1 hash for the 'unknown' commit has the word 'tree' on the end which shouldn't be there, so potentially an issue related to line endings or encoding in the changelog.xml?

          Jeff Thornsen added a comment - - edited We have same issue using Git with Multi-SCMs. Changelog stops listing detailed commit information for any jobs using the Multi-SCM plugin. I think this is a bug in the way multi-scm saves or modifies the changelog.xml, or in the way Jenkins Core parses and displays the information in the web GUI. I don't think this a problem with subversion or git plugins. Just between jenkins core and the multi-scm plugin and handling of changelog.xml file. Edit: another thing I just noticed in the screenshot, the SHA-1 hash for the 'unknown' commit has the word 'tree' on the end which shouldn't be there, so potentially an issue related to line endings or encoding in the changelog.xml?

          dan tran added a comment -

          version 0.6 wiht STS latest 1.65x does not show detail changes log. only see 'unknown'

          dan tran added a comment - version 0.6 wiht STS latest 1.65x does not show detail changes log. only see 'unknown'

            kbell Kevin Bell
            chikigai chikigai
            Votes:
            17 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated: