Uwe Schindler created LUCENE-5243:
-------------------------------------

             Summary: Update Clover
                 Key: LUCENE-5243
                 URL: https://issues.apache.org/jira/browse/LUCENE-5243
             Project: Lucene - Core
          Issue Type: Bug
          Components: general/build
    Affects Versions: 5.0
         Environment: Jenkins build
            Reporter: Uwe Schindler
            Assignee: Uwe Schindler
             Fix For: 5.0


Currently we sometimes get the following build error on the Clover builds (only 
Java 7, so happens only in Lucene/Solr trunk):

{noformat}
BUILD FAILED
/usr/home/hudson/hudson-slave/workspace/Lucene-Solr-Clover-trunk/build.xml:452: 
The following error occurred while executing this line:
/usr/home/hudson/hudson-slave/workspace/Lucene-Solr-Clover-trunk/build.xml:364: 
The following error occurred while executing this line:
/usr/home/hudson/hudson-slave/workspace/Lucene-Solr-Clover-trunk/build.xml:382: 
The following error occurred while executing this line:
/usr/home/hudson/hudson-slave/workspace/Lucene-Solr-Clover-trunk/extra-targets.xml:41:
 com.atlassian.clover.api.CloverException: java.lang.IllegalArgumentException: 
Comparison method violates its general contract!
        at 
com.cenqua.clover.reporters.html.HtmlReporter.executeImpl(HtmlReporter.java:165)
        at 
com.cenqua.clover.reporters.CloverReporter.execute(CloverReporter.java:41)
        at 
com.cenqua.clover.tasks.CloverReportTask.generateReports(CloverReportTask.java:427)
        at 
com.cenqua.clover.tasks.CloverReportTask.cloverExecute(CloverReportTask.java:384)
        at 
com.cenqua.clover.tasks.AbstractCloverTask.execute(AbstractCloverTask.java:55)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
        at 
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
        at org.apache.tools.ant.taskdefs.SubAnt.execute(SubAnt.java:302)
        at org.apache.tools.ant.taskdefs.SubAnt.execute(SubAnt.java:221)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
        at 
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
        at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
        at 
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
        at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
        at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at org.apache.tools.ant.Main.runBuild(Main.java:809)
        at org.apache.tools.ant.Main.startAnt(Main.java:217)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.IllegalArgumentException: Comparison method violates its 
general contract!
        at java.util.TimSort.mergeLo(TimSort.java:747)
        at java.util.TimSort.mergeAt(TimSort.java:483)
        at java.util.TimSort.mergeForceCollapse(TimSort.java:426)
        at java.util.TimSort.sort(TimSort.java:223)
        at java.util.TimSort.sort(TimSort.java:173)
        at java.util.Arrays.sort(Arrays.java:659)
        at java.util.Collections.sort(Collections.java:217)
        at 
com.cenqua.clover.reporters.html.RenderTestResultAction.call(RenderTestResultAction.java:93)
        at 
com.cenqua.clover.util.CloverExecutors$CloverExecutorService.submit(CloverExecutors.java:70)
        at 
com.cenqua.clover.reporters.html.HtmlReporter.renderTestPages(HtmlReporter.java:719)
        at 
com.cenqua.clover.reporters.html.HtmlReporter.processPackage(HtmlReporter.java:665)
        at 
com.cenqua.clover.reporters.html.HtmlReporter.executeCurrentReport(HtmlReporter.java:228)
        at 
com.cenqua.clover.reporters.html.HtmlReporter.executeImpl(HtmlReporter.java:157)
        ... 61 more
{noformat}

The reason for this bug is some inconsistency in the Comparator used internally 
when building Clover reports. This is e.g., an asymetry in +1/-1 when 
exchanging compare() parameters.

There is already an issue open at Atlassian: 
https://jira.atlassian.com/browse/CLOV-1368

Marek Parfianowicz asked me to try this out, but I have to add snapshot builds 
to our IVY config. Currently I also have an issue open at Atlassian to update 
our License, so we can use newer versions @ ASF.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to