Details
-
Bug
-
Status: Resolved
-
To be reviewed
-
Resolution: Done
-
3.8.0
-
Windows Server 2012 R2, JRE 1.8.0_91
-
S3
-
-
S3
Description
The method TypeBasedTransformerResolver.calculateTransformerWeightings seems to, on occasion, cause an exception when trying to sort a list of TransformerWeighting instances, implying that the TransformerWeighting class violates the requirements for Comparable :
Exception fragment:
Root Exception stack trace:
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeHi(Unknown Source)
at java.util.ComparableTimSort.mergeAt(Unknown Source)
at java.util.ComparableTimSort.mergeForceCollapse(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.ArrayList.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at org.mule.registry.TypeBasedTransformerResolver.calculateTransformerWeightings(TypeBasedTransformerResolver.java:197)
Note that this issue appears to be somewhat transient - it has occurred a number of times, and a restart of the server has always resolved the issue.