hudson.plugins.mercurial.MercurialChangeSet

Jenkins JIRA | Jesse Glick | 7 years ago
  1. 0

    My server's log file is filled with exceptions: Oct 6, 2009 9:55:07 AM hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: browser.getChangeSetLink(c). Reason: java.lang.ClassCastException: hudson.scm.CVSChangeLogSet$CVSChangeLog cannot be cast to hudson.plugins.mercurial.MercurialChangeSet java.lang.ClassCastException: hudson.scm.CVSChangeLogSet$CVSChangeLog cannot be cast to hudson.plugins.mercurial.MercurialChangeSet at hudson.plugins.mercurial.browser.HgWeb.getChangeSetLink(HgWeb.java:21) at sun.reflect.GeneratedMethodAccessor1090.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72) at org.apache.commons.jelly.tags.core.SetTag.doTag(SetTag.java:84) ... I have no idea what is causing these or what I am supposed to do to fix it. The stack trace gives no clue what the originating URL was, making it hard to track down the problem. I checked jobs/*/config.xml. Most jobs use MercurialSCM; a couple use CVSSCM. Three use NullSCM but their builds/*/changelog.xml contain just '<log/>'. Looking through sources, this in AbstractBuild.java is pretty suspicious: if(scm==null) scm = new CVSChangeLogParser(); Shouldn't ChangeLogSet.createEmpty(this) just be returned in this case? Or scm set to new NullChangeLogParser(), probably the same thing? The field comment says /** * SCM used for this build. * Maybe null, for historical reason, in which case CVS is assumed. */ private ChangeLogParser scm; but I wonder if this (old?) compatibility measure is causing problems now.

    Jenkins JIRA | 7 years ago | Jesse Glick
    hudson.plugins.mercurial.MercurialChangeSet
  2. 0

    My server's log file is filled with exceptions: Oct 6, 2009 9:55:07 AM hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: browser.getChangeSetLink(c). Reason: java.lang.ClassCastException: hudson.scm.CVSChangeLogSet$CVSChangeLog cannot be cast to hudson.plugins.mercurial.MercurialChangeSet java.lang.ClassCastException: hudson.scm.CVSChangeLogSet$CVSChangeLog cannot be cast to hudson.plugins.mercurial.MercurialChangeSet at hudson.plugins.mercurial.browser.HgWeb.getChangeSetLink(HgWeb.java:21) at sun.reflect.GeneratedMethodAccessor1090.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72) at org.apache.commons.jelly.tags.core.SetTag.doTag(SetTag.java:84) ... I have no idea what is causing these or what I am supposed to do to fix it. The stack trace gives no clue what the originating URL was, making it hard to track down the problem. I checked jobs/*/config.xml. Most jobs use MercurialSCM; a couple use CVSSCM. Three use NullSCM but their builds/*/changelog.xml contain just '<log/>'. Looking through sources, this in AbstractBuild.java is pretty suspicious: if(scm==null) scm = new CVSChangeLogParser(); Shouldn't ChangeLogSet.createEmpty(this) just be returned in this case? Or scm set to new NullChangeLogParser(), probably the same thing? The field comment says /** * SCM used for this build. * Maybe null, for historical reason, in which case CVS is assumed. */ private ChangeLogParser scm; but I wonder if this (old?) compatibility measure is causing problems now.

    Jenkins JIRA | 7 years ago | Jesse Glick
    hudson.plugins.mercurial.MercurialChangeSet

    Root Cause Analysis

    1. hudson.plugins.mercurial.MercurialChangeSet

      No message provided

      at hudson.plugins.mercurial.browser.HgWeb.getChangeSetLink()
    2. hudson.plugins.mercurial
      HgWeb.getChangeSetLink
      1. hudson.plugins.mercurial.browser.HgWeb.getChangeSetLink(HgWeb.java:21)
      1 frame
    3. Java RT
      GeneratedMethodAccessor1090.invoke
      1. sun.reflect.GeneratedMethodAccessor1090.invoke(Unknown Source)
      1 frame