VASSAL crashes when trying to load ASL boards

I encounter an error every time i try to set the boards directory to where my ASL boards are actually located.

I’ve tried running vassal from a flash drive and on the computer (it has java installed)

Here’s the log it said to post.

It wont load any boards so i can’t play :frowning:

Thoughts?


23 Feb 2012 18:44:38.967 0 – Starting
23 Feb 2012 18:44:38.967 0 – OS Windows 7
23 Feb 2012 18:44:38.967 0 – Java version 1.7.0
23 Feb 2012 18:44:38.967 0 – VASSAL version 3.1.18
23 Feb 2012 18:44:38.989 0 – Manager
23 Feb 2012 18:44:39.588 0 Module C:\Users\abuchanan\Dropbox\ASL\VASSAL\VASL.mod not found - Removed.
23 Feb 2012 18:44:49.404 0 – Loading module file G:\ASL\VASSAL\VASL.mod
23 Feb 2012 18:44:49.407 0 – Loading module VASL
23 Feb 2012 18:44:49.409 0 C:\Program Files (x86)\Java\jre7\bin\java -Xms256M -Xmx1024M -DVASSAL.id=1 -Duser.home=C:\Users\abuchanan -cp lib\Vengine.jar VASSAL.launch.Player
23 Feb 2012 18:44:52.452 1 – VASL version 5.9.2
23 Feb 2012 18:44:52.452 1

23 Feb 2012 18:45:06.032 1 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.TimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at VASL.build.module.map.ASLBoardPicker.refreshPossibleBoards(ASLBoardPicker.java:264)
at VASL.build.module.map.ASLBoardPicker.setBoardDir(ASLBoardPicker.java:193)
at VASL.build.module.map.ASLBoardPicker$SetupControls$2.propertyChange(ASLBoardPicker.java:529)
at java.beans.PropertyChangeSupport.fire(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at VASSAL.configure.Configurer.setValue(Configurer.java:104)
at VASSAL.configure.FileConfigurer.setValue(FileConfigurer.java:102)
at VASSAL.configure.DirectoryConfigurer.setValue(DirectoryConfigurer.java:49)
at VASSAL.configure.DirectoryConfigurer.chooseNewValue(DirectoryConfigurer.java:61)
at VASSAL.configure.FileConfigurer$2.actionPerformed(FileConfigurer.java:156)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.WaitDispatchSupport$2.run(Unknown Source)
at java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(Unknown Source)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at org.netbeans.api.wizard.displayer.WizardDisplayerImpl.showInDialog(WizardDisplayerImpl.java:357)
at org.netbeans.api.wizard.displayer.WizardDisplayerImpl.show(WizardDisplayerImpl.java:262)
at org.netbeans.api.wizard.WizardDisplayer.showWizard(WizardDisplayer.java:107)
at VASSAL.build.module.WizardSupport.showWelcomeWizard(WizardSupport.java:179)
at VASSAL.launch.Player.launch(Player.java:88)
at VASSAL.launch.Launcher$1.run(Launcher.java:160)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

23 Feb 2012 18:45:07.645 1 java.util.concurrent.ExecutionException: java.net.ConnectException: Connection refused: connect
23 Feb 2012 18:45:07.645 1

23 Feb 2012 18:45:07.645 1 at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
23 Feb 2012 18:45:07.645 1

23 Feb 2012 18:45:07.645 1 at java.util.concurrent.FutureTask.get(Unknown Source)
23 Feb 2012 18:45:07.645 1

23 Feb 2012 18:45:07.645 1 at org.jdesktop.swingworker.SwingWorker.get(Unknown Source)
23 Feb 2012 18:45:07.645 1

23 Feb 2012 18:45:07.645 1 at VASSAL.tools.BugDialog$CheckRequest.done(BugDialog.java:474)
23 Feb 2012 18:45:07.645 1

23 Feb 2012 18:45:07.646 1 at org.jdesktop.swingworker.SwingWorker$5.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at org.jdesktop.swingworker.AccumulativeRunnable.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at javax.swing.Timer.fireActionPerformed(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at javax.swing.Timer$DoPostEvent.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.event.InvocationEvent.dispatch(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventQueue.access$000(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventQueue$3.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventQueue$3.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.security.AccessController.doPrivileged(Native Method)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventQueue.dispatchEvent(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.WaitDispatchSupport$2.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.WaitDispatchSupport$4.run(Unknown Source)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.security.AccessController.doPrivileged(Native Method)
23 Feb 2012 18:45:07.646 1

23 Feb 2012 18:45:07.646 1 at java.awt.WaitDispatchSupport.enter(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.Dialog.show(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.Component.show(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.Component.setVisible(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.Window.setVisible(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.Dialog.setVisible(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at VASSAL.tools.BugDialog.setVisible(BugDialog.java:444)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at VASSAL.tools.ErrorDialog$1.run(ErrorDialog.java:63)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.event.InvocationEvent.dispatch(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventQueue.access$000(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventQueue$3.run(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventQueue$3.run(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.security.AccessController.doPrivileged(Native Method)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventQueue.dispatchEvent(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.WaitDispatchSupport$2.run(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.awt.WaitDispatchSupport$4.run(Unknown Source)
23 Feb 2012 18:45:07.647 1

23 Feb 2012 18:45:07.647 1 at java.security.AccessController.doPrivileged(Native Method)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.WaitDispatchSupport.enter(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.Dialog.show(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.Component.show(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.Component.setVisible(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.Window.setVisible(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.Dialog.setVisible(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at org.netbeans.api.wizard.displayer.WizardDisplayerImpl.showInDialog(WizardDisplayerImpl.java:357)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at org.netbeans.api.wizard.displayer.WizardDisplayerImpl.show(WizardDisplayerImpl.java:262)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at org.netbeans.api.wizard.WizardDisplayer.showWizard(WizardDisplayer.java:107)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at VASSAL.build.module.WizardSupport.showWelcomeWizard(WizardSupport.java:179)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at VASSAL.launch.Player.launch(Player.java:88)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at VASSAL.launch.Launcher$1.run(Launcher.java:160)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.event.InvocationEvent.dispatch(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.EventQueue.access$000(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.EventQueue$3.run(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.EventQueue$3.run(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.security.AccessController.doPrivileged(Native Method)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.EventQueue.dispatchEvent(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.648 1 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
23 Feb 2012 18:45:07.648 1

23 Feb 2012 18:45:07.649 1 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.awt.EventDispatchThread.run(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 Caused by: java.net.ConnectException: Connection refused: connect
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.DualStackPlainSocketImpl.connect0(Native Method)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.PlainSocketImpl.connect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.SocksSocketImpl.connect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.Socket.connect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at java.net.Socket.connect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at sun.net.NetworkClient.doConnect(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at sun.net.www.http.HttpClient.openServer(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at sun.net.www.http.HttpClient.openServer(Unknown Source)
23 Feb 2012 18:45:07.649 1

23 Feb 2012 18:45:07.649 1 at sun.net.www.http.HttpClient.(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at sun.net.www.http.HttpClient.New(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at sun.net.www.http.HttpClient.New(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at java.net.URL.openStream(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at VASSAL.tools.version.VersionUtils.getVersion(VersionUtils.java:36)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at VASSAL.tools.version.VersionUtils.getRelease(VersionUtils.java:24)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at VASSAL.tools.version.VersionUtils.update(VersionUtils.java:76)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at VASSAL.tools.version.VersionUtils.isCurrent(VersionUtils.java:72)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at VASSAL.tools.BugDialog$CheckRequest.doInBackground(BugDialog.java:466)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at VASSAL.tools.BugDialog$CheckRequest.doInBackground(BugDialog.java:447)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at java.util.concurrent.FutureTask.run(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
23 Feb 2012 18:45:07.650 1

23 Feb 2012 18:45:07.650 1 at java.lang.Thread.run(Unknown Source)
23 Feb 2012 18:45:07.650 1

To reproduce the error: I launch Vassal, and load VASL. I can hit load game or new game, and i have to select a board. the board list is empty, and i try to change the board directory to where the boards actually are. Upon hitting OK i get the error and the buttons break and nothing works.

Use java 6 instead of 7.

What if I can’t install java 7? I have java 6 update 30, and java 7 installed. how do i have it use the earlier version?

Thus spake novah1:

I encounter an error every time i try to set the boards directory to
where my ASL boards are actually located.

I’ve tried running vassal from a flash drive and on the computer (it has
java installed)

Here’s the log it said to post.

It wont load any boards so i can’t play :frowning:

Thoughts?


23 Feb 2012 18:44:38.967 0 – Starting
23 Feb 2012 18:44:38.967 0 – OS Windows 7
23 Feb 2012 18:44:38.967 0 – Java version 1.7.0
23 Feb 2012 18:44:38.967 0 – VASSAL version 3.1.18
23 Feb 2012 18:44:38.989 0 – Manager
23 Feb 2012 18:44:39.588 0 Module
C:\Users\abuchanan\Dropbox\ASL\VASSAL\VASL.mod not found - Removed.
23 Feb 2012 18:44:49.404 0 – Loading module file G:\ASL\VASSAL\VASL.mod
23 Feb 2012 18:44:49.407 0 – Loading module VASL
23 Feb 2012 18:44:49.409 0 C:\Program Files (x86)\Java\jre7\bin\java
-Xms256M -Xmx1024M -DVASSAL.id=1 -Duser.home=C:\Users\abuchanan -cp
lib\Vengine.jar VASSAL.launch.Player
23 Feb 2012 18:44:52.452 1 – VASL version 5.9.2
23 Feb 2012 18:44:52.452 1

23 Feb 2012 18:45:06.032 1 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.TimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at
VASL.build.module.map.ASLBoardPicker.refreshPossibleBoards(ASLBoardPicker.jav
a:264)

This is likely to be a bug in VASL, though it might be one that Java 6
does not trigger.

What are the names of the GIFs in your boards directory?


J.

There are 43 gifs. and also like 180 files of type “file”

gifs are of the format
ABoard
BBoard
bdDTW
bdGE


bdMC1
bdMC1 Snow
bdMC2
bdMC2 Snow



CBoard
DBoard


MBoard
miniDTW
miniGE


NBoard
OBoard
PBoard

and thats it.

Just a stab in the dark, but if you change ‘bdMC1 Snow’ to ‘bdMC1_Snow’ and ‘bdMC2 Snow’ to ‘bdMC2_Snow’…?

That did not work, but here is what I did to create a temp fix:

Setting the folder to where the actual boards are makes it break.

The folder hierarchy goes like this:

Boards\Board&Overlays\boards\ all the boards are in here

Right now its pointed to just Boards\

I copied the few maps I intend to play first, y and z (I’m new to ASL) to the Boards\ Folder, and it works fine. meaning: something among all the other boards is making it mad. thoughts?

could it be the ampersand in the folder name? Hmm.

Thus spake novah1:

There are 43 gifs. and also like 180 files of type “file”

gifs are of the format
ABoard
BBoard
bdDTW
bdGE


bdMC1
bdMC1 Snow
bdMC2
bdMC2 Snow



CBoard
DBoard


MBoard
miniDTW
miniGE


NBoard
OBoard
PBoard

and thats it.

I need a complete list in order to see what’s causing the problem.


J.

Thus spake Joel Uckelman:

I need a complete list in order to see what’s causing the problem.

The reason I need a complete list is to confirm my suspicion that you’re
getting this exception because the Comparator being used to sort board
names is intransitive. (That is, I know the Comparator is
intransitive—you can verify that by looking at the code and noticing
that according to it, “9” < “10” < “10x” < “9”. What I want to check is
that you have a set of map names which have such a cycle.)


J.

---------“file” section (seemingly no file extension) ----------
bd00
bd01
bd1
bd1a
bd1b
bd02
bd2
bd2a
bd2b
bd03
bd3
bd3a
bd04
bd4
bd05
bd5
bd06
bd6
bd07
bd7
bd08
bd8
bd09
bd9
bd10
bd11
bd12
bd13
bd14
bd15
bd16
bd17


bd18 - bd63 (every number in between has a bdxx)
bda
bdABTF
bdAK1
bdAK2
bdASLNews
bdb
bdBDF
bdBF1
bdBFPA
bdBFPB
bdbreskenspocket
bdBRT
bdBRV
bdc
bdCE
bdCemHill
bdCH
bdCRS
bdd
bdD1
bdD2
bdD3
bdDb1
bdDb2
bdDD
bdDP1
bdDP2
bde
bdER
bdf
bdF1
bdF2
bdF4
bdf5
bdFC
bdFE1
bdFE2
bdff1
bdff2
bdff3
bdff4
bdff5
bdff6
bdFrFA
bdFWAO
bdg
bdGM1
bdGT
bdh
bdHB
bdHOBI
bdHOBII
bdHoBIII
bdHoBIV
bdJ1
bdKB
bdKR
bdKreta
bdNG
bdNUL
bdoto
bdoto2
bdp
bdPB
bdPBR
bdPdH
pdPP1
bdq
bdr
bdRB
bdRER1
bdRileys
bds
bdSCW0
bdSCW1
bdSG
bdSH
bdSS1
bdST
bdt
bdTL
bdTO
bdTR1
bdTR2
bdTR3
bdTR4
bdTR5
bdTR6
bdTR7
bdTR8
bdTRBH
bdu
bdv
bdVotG
bdw
bdx
bdxRR
bdy
bdz
data

---------GIF section-------

ABoard
BBoard
bdDTW
bdGE
bdGSTK
bdKOTH
bdLG
bdMC1
bdMC1 Snow (I have changed bdMC1 Snow’ to bdMC1Snow as per the earlier post’s stab in the dark, no success)
bdMC2
bdMC2a Snow
bdMC2 Snow
bdMC3
bdMC4
bdMC5
bdMC5A Snow
bdMC5 Snow
bdMC6
bdMC7
bdSTB
bdSTONNE
CBoard
DBoard
EBoard
FBoard
GBoard
HBoard
IBoard
JBoard
KBoard
LBoard
MBoard
miniDTW
miniGE
miniGSTK
miniKOTH
miniSTB
miniSTONNE
NBoard
OBoard
PBoard

phew

Any updates?

Thus spake novah1:
novah1 writes:

Any updates?

Yes, specifically the problem is that the Comparator used for sorting
the map list has compare(“01”, “1”) == 0, but !“01”.equals(“1”), which
violates the contract for Comparator. (I.e., Comparator must induce a
strict order to be correct.)

This is in addition to the intransitivity problem I mentioned above.
The Comparator in ASLBoardPicker needs to be rewritten.

Your options are either:

  1. Don’t use Java 7. (This doesn’t make the Comparator correct, it only
    means that it won’t throw an exception.)

  2. Remove boards from the list such that no two distinct boards have the
    same sort value.

  3. Get the VASL devs to fix the bug for the next release.

I’ve reported this as Bug 4312:

vassalengine.org/tracker/sho … gi?id=4312


J.

If the crash is due to the mix-up of bd01 and bd1, then the best solution is for novah1 to put version 4’s boards in a folder separate from version 5’s boards. Whereas boards 1 to boards 9 of both versions can co-exist in the same folder, I don’t think the same can be said about boards 10 and above. What navah1 has in his current boards folder are most likely all version 5’s boards with the exception of board 1 to board 9, which were not overwritten by the system during copying of the files because their names are not the same.

I tried Java 7 on my Win7 64-bit and Ubuntu 32-bit with my version 4 boards and have no problem loading them up. I even put a version 5’s board 1 into the version 4 boards’ folder on my Win7 64-bit and I still got nothing.

Lance