Error in setting targetingdata

#1

java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeLo(TimSort.java:777)
at java.util.TimSort.mergeAt(TimSort.java:514)
at java.util.TimSort.mergeCollapse(TimSort.java:441)
at java.util.TimSort.sort(TimSort.java:245)
at java.util.Arrays.sort(Arrays.java:1438)
at com.onehippo.cms7.targeting.explanation.DefaultExplanation.getPersonaScoreExplanations(DefaultExplanation.java:80)
at com.onehippo.cms7.targeting.explanation.ExplanationLogFormatter.appendExplanationLog(ExplanationLogFormatter.java:25)
at com.onehippo.cms7.targeting.explanation.ExplanationLogFormatter.getExplanationLog(ExplanationLogFormatter.java:14)
at com.onehippo.cms7.targeting.hst.container.TargetingUpdateValve.invoke(TargetingUpdateValve.java:60)

This seems incorrect, as the method would likely be a correct implementation. Any ideas please?

#2

Which JDK version are you running?

#3

I am using Java Development Kit version 8

#4

You can start your app with:
-Djava.util.Arrays.useLegacyMergeSort=true

Above issue is fixed in the meantime, but fix is not released yet.