Re: [Ikvm-developers] java.lang.IllegalArgumentException: Comparison method violates its general co
Brought to you by:
jfrijters
|
From: Jeroen F. <je...@su...> - 2013-03-07 20:28:01
|
Hi Justin,
The only suggestion I have is to build IKVM from source and modify Win32ShellFolderManager2.java to copy the File[] before it calls sort and then catch the exception and write the (unsorted) array to disk and see if you can reproduce the problem based on that array.
Regards,
Jeroen
________________________________
From: Justin Smith [jus...@su...]
Sent: Thursday, March 07, 2013 8:36 PM
To: ikv...@li...
Subject: [Ikvm-developers] java.lang.IllegalArgumentException: Comparison method violates its general contract!
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)
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel$1.run(MetalFileChooserUI.java:942)
at java.security.AccessController.doPrivileged(AccessController.java:277)
at java.security.AccessController.doPrivileged(AccessController.java:322)
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.addItem(MetalFileChooserUI.java:942)
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.access$800(MetalFileChooserUI.java:909)
at javax.swing.plaf.metal.MetalFileChooserUI.doDirectoryChanged(MetalFileChooserUI.java:660)
at javax.swing.plaf.metal.MetalFileChooserUI.access$1100(MetalFileChooserUI.java:53)
at javax.swing.plaf.metal.MetalFileChooserUI$5.propertyChange(MetalFileChooserUI.java:747)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:334)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:328)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:265)
at java.awt.Component.firePropertyChange(Component.java:8383)
at javax.swing.JFileChooser.setCurrentDirectory(JFileChooser.java:582)
at javax.swing.JFileChooser.<init>(JFileChooser.java:345)
at javax.swing.JFileChooser.<init>(JFileChooser.java:297)
at de.schlichtherle.license.wizard.InstallPanel.initComponents(InstallPanel.java:68)
at de.schlichtherle.license.wizard.InstallPanel.<init>(InstallPanel.java:33)
at de.schlichtherle.license.wizard.InstallPanel$Descriptor.<init>(InstallPanel.java:223)
at de.schlichtherle.license.wizard.LicenseWizard.init(LicenseWizard.java:49)
at de.schlichtherle.license.wizard.LicenseWizard.<init>(LicenseWizard.java:28)
at com.summit.MyClass.main(MyClass.java:25)
--
Justin Smith
Summit Management Systems, Inc
(615) 281-9454
Skype: jwsmith22
People demand freedom of speech as a compensation for the freedom of thought which they seldom use. ~ Soren Kierkegaard
|