On 11/8/18 8:19 PM, Black, Douglas wrote: > I am trying to do an LDIF export of an eDirectory tree. Search returns about > 105,000 objects. When I try to export it to LDIF, I get the above error. > Error details are: > > ----------------------------------------------------- > Error while exporting LDIF > - Comparison method violates its general contract! > java.lang.IllegalArgumentException: Comparison method violates its general > contract! > at java.util.TimSort.mergeHi(Unknown Source) > at java.util.TimSort.mergeAt(Unknown Source) > at java.util.TimSort.mergeCollapse(Unknown Source) > at java.util.TimSort.sort(Unknown Source) > at java.util.Arrays.sort(Unknown Source) > at > org.apache.directory.studio.ldapbrowser.core.jobs.ExportLdifRunnable.export(ExportLdifRunnable.java:205) > at > org.apache.directory.studio.ldapbrowser.core.jobs.ExportLdifRunnable.run(ExportLdifRunnable.java:156) > at > org.apache.directory.studio.connection.core.jobs.StudioConnectionJob.run(StudioConnectionJob.java:119) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) > > Comparison method violates its general contract! > > ----------------------------------------------------- > > Has anyone else seen this? Is it a really cryptic way of saying "I need more > RAM"? (The workstation is a Windows 10 VM with 8GB).
It doesn't mean that it needs more RAM. At this place in the code the attributes of a single entry are sorted, and the comparator seems to not guarantee a stable sorting, so it's clearly a bug. I'll have do dig deeper into the code. If possible please create a Jira ticket. Kind Regards, Stefan
