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

Reply via email to