Re: [Ikvm-developers] java.lang.IllegalArgumentException: Comparison method violates its general co
Brought to you by:
jfrijters
|
From: Volker B. <vol...@go...> - 2013-03-07 21:19:37
|
Hi Justin,
Here is a small test program. It should print some details and then
throw the exception. Can you test it with Java and with IKVM. If you
receive the exception then please send me the output of both run. You
can send it to my email address and not to the public mailing list.
Volker
import java.io.File;
import java.util.Arrays;
import sun.awt.shell.ShellFolder;
public class TestShellfolder {
public static void main(String[] args) {
File[] roots = (File[])ShellFolder.get("roots");
System.err.println(roots.length);
for(File root : roots) {
System.err.println(root);
File[] files = root.listFiles();
for(File file : files) {
System.err.println(file.getClass() + " " +
file.getPath() );
}
Arrays.sort(files);
}
}
}
Am 07.03.2013 20:36, schrieb Justin Smith:
> I'm seeing an error with IKVM trying to run a swing component. This
> issue does not occur on all of the machines that I test it on, and
> seems to be random. Although, I doubt that is the case. On my
> development Windows XP box (x86) this does not happen, but on a
> co-worker's box it does. I can reproduce this issue either by running
> the executable, or by invoking ikvm from the command line from the
> output jar. This error does not occur if I run the class by using the
> java command. Again, it does not happen on every machine that I've
> tested on. Any ideas how to track this down?
>
> Exception in thread "main" java.lang.IllegalArgumentException:
> Comparison method violates its general contract!
> at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835)
> at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453)
> at
> java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392)
> at java.util.ComparableTimSort.sort(ComparableTimSort.java:191)
> at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
> at java.util.Arrays.sort(Arrays.java:472)
> at
> sun.awt.shell.Win32ShellFolderManager2.get(Win32ShellFolderManager2.java:276)
> at sun.awt.shell.ShellFolder.get(ShellFolder.java:254)
> at
> javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel$1.run(MetalFileChooserUI.java:944)
>
|