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

"IllegalArgumentException: Collection is empty" when processing emtpy Cobertura results

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • cobertura-plugin
    • None
    • Hudson 1.355, Cobertura plugin 0.8.11

      My build for some reasons produces an empty Cobertura report, like this:

      <?xml version="1.0" ?>
      <!DOCTYPE coverage
        SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-03.dtd'>
      <coverage>
      	<sources>
      		<source>
      			/private/var/lib/hudson/workspace/myproj/client
      		</source>
      	</sources>
      	<packages/>
      </coverage>
      

      Whenever I load the project page or the Cobertura report page, I get an exception in the server log:

      2010-maj-03 13:44:49 hudson.ExpressionFactory2$JexlExpression evaluate
      VARNING: Caught exception evaluating: it.metrics. Reason: java.lang.reflect.InvocationTargetException
      java.lang.reflect.InvocationTargetException
              at sun.reflect.GeneratedMethodAccessor548.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:616)
              at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)
              at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)
              at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
              at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
              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.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:75)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      ...
      Caused by: java.lang.IllegalArgumentException: Collection is empty
              at java.util.EnumSet.copyOf(EnumSet.java:166)
              at hudson.plugins.cobertura.targets.CoverageResult.getMetrics(CoverageResult.java:331)
              ... 92 more
      

            mbarrien Michael Barrientos
            mbetter Marcus Better
            Votes:
            3 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: