Last call for 3.1.0-beta1

I think we’ve whittled down the problems which still need work before
the real 3.1.0 release to ones which won’t ruin anyone’s day, so I’d
like to release 3.1.0-beta1 now so we can cast a wider net with our
testing. Any non-fatal problems left we can fix in 3.1.0-beta2.

That said, I’ve uploaded a build which claims to be 3.1.0-beta1, in
the usual place:

nomic.net/~uckelman/tmp/vassal/

If you have time, check that this runs without incident on your machine
before we unleash this on the wider world. I’ve already verified that it
runs properly on my Linux box. Once I’ve heard from a Mac and a Windows
user that it’s ok, I’ll go ahead and create a tag in the repo for it,
upload it to SourceForge (so as not to kill my server) and start
announcing it in the usual places.

This has been one hell of slog since 3.0. I am deeply grateful for
everyone’s persistence and hard work in getting us here.

On May 6, 2008, at 7:36 AM, uckelman wrote:

OK, a very quick test.

Mac OS X 10.5.2
Intel Hardware - core 2 duo
ava version “1.5.0_13”
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_13-
b05-237)
Java HotSpot™ Client VM (build 1.5.0_13-119, mixed mode, sharing)

I didn’t try the editor, but the module manager seems to work fine. I
was able to launch more than one game. Each one started up its own
separate application. The game wizards started and then so did the
game. By and large that worked well, although there were some quirks
noted below.

======================================================

After starting one module (Empire of the Sun) and then returning to
start a second one (Ambush), I did some checking of the second
module. Then I quit that particular application. When I re-selected
the first Vassal player instance, I got an NPE error. This looks to
be a Mac-specific problem. Here is the log file:

– OS Mac OS X
– Java version 1.5.0_13
– VASSAL version 3.1.0-beta1
– VASSAL instance -3276033581600142191
– OS Mac OS X
– Java version 1.5.0_13
– VASSAL version 3.1.0-beta1
– VASSAL instance 2406151491904874927
– Empire of the Sun version 0.0
– OS Mac OS X
– Java version 1.5.0_13
– VASSAL version 3.1.0-beta1
– VASSAL instance -4984878538538366389
– Ambush version 1.0
java.lang.NullPointerException
at VASSAL.launch.MacOSXStartUp
$1.handleReOpenApplication(MacOSXStartUp.java:89)
at com.apple.eawt.Application$7.run(Application.java:416)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at
java
.awt
.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:
269)
at
java
.awt
.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:
190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:
184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:
176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

======================================================

There were some quirks but I’m not sure if they are Mac Java bugs or
something in Vassal. I am sort of suspecting the former.

Anyway, what happens is that sometimes the indicator for the Mac grow
box is not drawn in the bottom right corner of resizable windows. The
odd thing is that this does not seem consistent across windows and
sometimes for a given window, the grow box will appear and then
disappear. I haven’t been able to identify any particular sequence
that causes this to happen. Once the grow box indicator disappears,
it is hard, but not impossible to get it back. Sometimes it will
reappear if the window gets opened anew.

This happened with the Empire of the Sun module, on the player hand
and map windows. It also happened in the Ambush module, in the charts
window.

I also didn’t actually get a map image in Ambush, but that may be the
fault of the module. It was just a random choice of mine and not
something I normally do anything with – so I can’t say if it worked
properly before or not.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake Thomas Russ:

Two AplicationEvent handlers applicable to the ModuleManager only were
being installed on the Player and Editor. I’ve fixed that. Try this
one:

nomic.net/~uckelman/tmp/vass … macosx.dmg

No clue on this. All we do to affect grow boxes is set two properties:

// show the grow box in the lower right corner of windows
System.setProperty(“apple.awt.showGrowBox”, “true”);

// grow box should not overlap other elements
System.setProperty(“com.apple.mrj.application.growbox.intrudes”, “true”);


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Got a NPE while creating a save folder in MM
It did create the folder in the MM but not on the actual HD

Log follows:

– OS Windows 2003
– Java version 1.6.0_05
– VASSAL version 3.1.0-beta1
– VASSAL instance 5132162887510863172
– OS Windows 2003
– Java version 1.6.0_05
– VASSAL version 3.1.0-beta1
– VASSAL instance 3280233927406035766
– Combat Commander version 1.90
Extension CC Battle Pack 1 v1.90 loaded
Extension Nationality Pack 1 v1.90 loaded
java.util.concurrent.RejectedExecutionException
at
java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(Unknow
n Source)
at java.util.concurrent.ThreadPoolExecutor.reject(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
at java.util.concurrent.AbstractExecutorService.submit(Unknown
Source)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown
Source)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Unknown
Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

it goes on to repeat the RejectedExecutionException about a zillion times so
cut log short for space but it is same all the way down

Post generated using Mail2Forum (mail2forum.com)

Exactly what are you doing? Are you typing in a folder name that does not exist? The code is only designed to add an existing folder, not create new ones.

Brent.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Yep, was creating a new folder. Did not realize that, my goof…

Post generated using Mail2Forum (mail2forum.com)

Different error. Whenever a module is exited from editing or play mode via
the “X” button only in top right corner (only happens occasionally…)

– Huuue version 1.0

[-6534486776465380008]
java.util.concurrent.ExecutionException: java.io.EOFException
at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.jdesktop.swingworker.SwingWorker.get(Unknown Source)
at
VASSAL.launch.AbstractLaunchAction$LaunchTask.done(AbstractLaunchAction.java
:220)
at VASSAL.launch.Editor$LaunchAction$1.done(Editor.java:305)
at org.jdesktop.swingworker.SwingWorker$5.run(Unknown Source)
at
org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknow
n Source)
at org.jdesktop.swingworker.AccumulativeRunnable.run(Unknown Source)
at
org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.actionPerf
ormed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(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)
Caused by: java.io.EOFException
at java.io.DataInputStream.readInt(Unknown Source)
at
VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchA
ction.java:200)
at
VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchA
ction.java:124)
at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)

Post generated using Mail2Forum (mail2forum.com)

Joel Uckelman wrote:

I can’t reproduce Thomas’ error switching between Player instances in
this one - opened a couple, switched back and forth, moved pieces,
closed one, switched back to the first.

However, quitting the MM with a Player still open, the Player tries to
close, which generates a ‘Save game’ dialog. Trying to switch back to
that Player to deal with the dialog (the MM is still on top and with
focus at this point), I get an NPE:

java.lang.NullPointerException
at
VASSAL.launch.ModuleManagerMacOSXStartUp$1.handleReOpenApplication(ModuleManagerMacOSXStartUp.java:58)
at com.apple.eawt.Application$7.run(Application.java:420)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:180)
at java.awt.Dialog$1.run(Dialog.java:535)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
java.util.ConcurrentModificationException
at
java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
at java.util.AbstractList$Itr.next(AbstractList.java:420)
at VASSAL.build.module.Map.drawBoardsInRegion(Map.java:1398)
at VASSAL.build.module.Map.paintRegion(Map.java:1389)
at VASSAL.build.module.Map.paintRegion(Map.java:1384)
at VASSAL.build.module.Map$View.paint(Map.java:2478)
at javax.swing.JComponent._paintImmediately(JComponent.java:4890)
at javax.swing.JComponent.paintImmediately(JComponent.java:4676)
at
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:477)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[3919280665052802079]
java.io.EOFException
at
java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2498)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1273)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at VASSAL.launch.CommandClient.request(CommandClient.java:41)
at
VASSAL.launch.AbstractLaunchAction.shutDown(AbstractLaunchAction.java:94)
at
VASSAL.launch.ModuleManagerWindow$1.actionPerformed(ModuleManagerWindow.java:145)
at
VASSAL.tools.menu.MacOSXMenuManager$1.handleQuit(MacOSXMenuManager.java:66)
at com.apple.eawt.Application$6.run(Application.java:396)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

When I dismiss the dialog warning of that exception, though, I can still
save-or-quit from the Player OK, at which point the MM also exits.

Don’t know if it’s relevent, but I’m also getting the following (or
similar) logged starting every player after the first:

2008-05-07 12:17:43.538 java[8715] CFLog (0): CFMessagePort:
bootstrap_register(): failed 1103 (0x44f), port = 0x11903, name =
‘java.ServiceProvider’
See /usr/include/servers/bootstrap_defs.h for the error codes.
2008-05-07 12:17:43.541 java[8715] CFLog (99):
CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)

Cheers,
Tim.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

I’ve been looking at this in the past few minutes (I’m home sick, and don’t
feel up to doing any research right now…) and I’ve found a few problems
here:

  1. It’s not intuitive that you can’t create a directory this way.

  2. File.listFiles() returns null when the directory doesn’t exist, so
    trying to iterate on the returned File gives you an NPE.

  3. Also, bad things happen if the directory has been deleted and then the
    MM starts. (Probably also if the directory is deleted while the MM is
    running…)


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Tim McCaron”:

Nothing you type in the dialog should make the MM crash. If it does,
that’s a bug.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake Tim Franklin:

Do you understand why a reopen event happens at this point?

J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake Tim Franklin:

I also don’t understand why the MM retains focus, as toFront() is being
called on the ‘Save game’ dialog’s parent window just prior to it’s
being displayed.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Tim McCaron”:

I can’t reproduce this. Does it happen with svn3573?

nomic.net/~uckelman/tmp/vassal/


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Something I should mention: I leave for Portugal for 10 days on Sunday,
where I’m going to have spotty internet access at best. Therefore, I’d
like to push to get 3.1.0-beta1 out by Saturday evening, or sooner if
we can. Once I’ve left Paris, the fix-wait-test cycle is going to
involve a lot more wait and a lot less fix.

Sounds ominous. What does “a lot more wait and a lot less fix” mean?

On Tuesday, I’m going to be in Edmonton, where the Internet will be wildly plentiful at worst. Looking forward to some snow and terrible, terrible jetlag.

2008/5/7 uckelman <messages@forums.vassalengine.org (messages@forums.vassalengine.org)>:

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Michael Kiefte”:

It means that for six days I’ll be at a conference which runs from
morning till night, and then for four days I’ll be sightseeing in
Lisbon with my wife, whom I haven’t seen in two weeks. I like you guys,
but you’re not going to be high on my list during that time.

There’s really still snow in Edmonton in mid-May? Huh. I haven’t seen
any substantial snow in person since 2005. I miss winter.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

It sounded more ominous than that.

There was a couple of weeks ago when they had a blizzard.

The snow is always whiter on the other side.

  • M.

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Michael Kiefte”:

Nah, not for me. I never complained about winters in Wisconsin.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake Tim Franklin:

[snip]

I’d like you try this build. I’ve switched all of the instances of
printStackTrace() to ErrorLog.log() in order that we get a process
identifier with each stack trace. If you still see this problem, I’ll
need the complete contets of the errorLog.

nomic.net/~uckelman/tmp/vass … macosx.dmg

Do you have any idea what’s causing this?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I can no longer reproduce this in 3573 or beta1 for that matter - may have
been a system quirk on my machine

Post generated using Mail2Forum (mail2forum.com)