Hi everyone,

I think I have solved the problem inside the code.

Now, my idea would be to move at least all message related logic
inside the ServerAPI, and possibly also the client connect/disconnect
logic.

What do you think?

Ciao

PaoloB

On Sat, Jun 23, 2012 at 1:52 AM, Michael T. Pope <[email protected]> wrote:
> Paolo, you need to do a bit more smoke-testing.  svn.9938 breaks reconnect.
> To reproduce: start game, reconnect, and crash.  See below.
>
> Cheers,
> Mike Pope
>
> net.sf.freecol.server.control.InGameInputHandler logout
>        INFO: Logout by: [Connection FreeColServer: 
> (Socket[addr=/127.0.0.1,port=60549,localport=3541]) ] (mpope)
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 34
> net.sf.freecol.common.networking.Connection send
>        FINE: Send: reply
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 34
> net.sf.freecol.common.networking.Connection ask
>        FINE: Ask(2): logout, reply: reply
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 15
> net.sf.freecol.common.networking.Connection send
>        FINE: Send: disconnect
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 15
> net.sf.freecol.common.networking.Connection reallyClose
>        FINE: Connection really closed.
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 15
> net.sf.freecol.server.networking.Server run
>        INFO: Got client connection from /127.0.0.1
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 28
> net.sf.freecol.common.networking.Connection send
>        WARNING: Failed to transform and send!
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 15
>        Stack trace:
> javax.xml.transform.TransformerException: org.xml.sax.SAXException: Socket 
> closed
> java.net.SocketException: Socket closed
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:739)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:340)
>        at 
> net.sf.freecol.common.networking.Connection.send(Connection.java:240)
>        at net.sf.freecol.common.networking.Connection.ask(Connection.java:325)
>        at 
> net.sf.freecol.common.networking.Connection.askDumping(Connection.java:359)
>        at net.sf.freecol.common.networking.Client.ask(Client.java:160)
>        at 
> net.sf.freecol.common.networking.ServerAPI.askExpecting(ServerAPI.java:151)
>        at net.sf.freecol.common.networking.ServerAPI.login(ServerAPI.java:789)
>        at 
> net.sf.freecol.client.control.ConnectController.login(ConnectController.java:319)
>        at 
> net.sf.freecol.client.control.ConnectController.reconnect(ConnectController.java:377)
>        at 
> net.sf.freecol.client.gui.action.ReconnectAction.actionPerformed(ReconnectAction.java:51)
>        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1658)
>        at javax.swing.JComponent.processKeyBinding(JComponent.java:2870)
>        at javax.swing.JComponent.processKeyBindings(JComponent.java:2917)
>        at javax.swing.JComponent.processKeyEvent(JComponent.java:2833)
>        at java.awt.Component.processEvent(Component.java:6282)
>        at java.awt.Container.processEvent(Container.java:2229)
>        at java.awt.Component.dispatchEventImpl(Component.java:4861)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at 
> java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1893)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:752)
>        at 
> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1017)
>        at 
> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:717)
>        at java.awt.Component.dispatchEventImpl(Component.java:4731)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Window.dispatchEventImpl(Window.java:2719)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
>        at java.awt.EventQueue.access$000(EventQueue.java:102)
>        at java.awt.EventQueue$3.run(EventQueue.java:662)
>        at java.awt.EventQueue$3.run(EventQueue.java:660)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
>        at java.awt.EventQueue$4.run(EventQueue.java:676)
>        at java.awt.EventQueue$4.run(EventQueue.java:674)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
>        at 
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
>        at 
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
>        at 
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
>        at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
> Caused by: org.xml.sax.SAXException: Socket closed
> java.net.SocketException: Socket closed
>        at 
> com.sun.org.apache.xml.internal.serializer.ToStream.flushWriter(ToStream.java:303)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToXMLStream.endDocument(ToXMLStream.java:213)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToUnknownStream.endDocument(ToUnknownStream.java:829)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:95)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:683)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:727)
>        ... 46 more
> Caused by: java.net.SocketException: Socket closed
>        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116)
>        at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
>        at 
> com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.flushBuffer(WriterToUTF8Buffered.java:450)
>        at 
> com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.flush(WriterToUTF8Buffered.java:469)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToStream.flushWriter(ToStream.java:284)
>        ... 51 more
> ---------
> org.xml.sax.SAXException: Socket closed
> java.net.SocketException: Socket closed
>        at 
> com.sun.org.apache.xml.internal.serializer.ToStream.flushWriter(ToStream.java:303)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToXMLStream.endDocument(ToXMLStream.java:213)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToUnknownStream.endDocument(ToUnknownStream.java:829)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:95)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:683)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:727)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:340)
>        at 
> net.sf.freecol.common.networking.Connection.send(Connection.java:240)
>        at net.sf.freecol.common.networking.Connection.ask(Connection.java:325)
>        at 
> net.sf.freecol.common.networking.Connection.askDumping(Connection.java:359)
>        at net.sf.freecol.common.networking.Client.ask(Client.java:160)
>        at 
> net.sf.freecol.common.networking.ServerAPI.askExpecting(ServerAPI.java:151)
>        at net.sf.freecol.common.networking.ServerAPI.login(ServerAPI.java:789)
>        at 
> net.sf.freecol.client.control.ConnectController.login(ConnectController.java:319)
>        at 
> net.sf.freecol.client.control.ConnectController.reconnect(ConnectController.java:377)
>        at 
> net.sf.freecol.client.gui.action.ReconnectAction.actionPerformed(ReconnectAction.java:51)
>        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1658)
>        at javax.swing.JComponent.processKeyBinding(JComponent.java:2870)
>        at javax.swing.JComponent.processKeyBindings(JComponent.java:2917)
>        at javax.swing.JComponent.processKeyEvent(JComponent.java:2833)
>        at java.awt.Component.processEvent(Component.java:6282)
>        at java.awt.Container.processEvent(Container.java:2229)
>        at java.awt.Component.dispatchEventImpl(Component.java:4861)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at 
> java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1893)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:752)
>        at 
> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1017)
>        at 
> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:717)
>        at java.awt.Component.dispatchEventImpl(Component.java:4731)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Window.dispatchEventImpl(Window.java:2719)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
>        at java.awt.EventQueue.access$000(EventQueue.java:102)
>        at java.awt.EventQueue$3.run(EventQueue.java:662)
>        at java.awt.EventQueue$3.run(EventQueue.java:660)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
>        at java.awt.EventQueue$4.run(EventQueue.java:676)
>        at java.awt.EventQueue$4.run(EventQueue.java:674)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
>        at 
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
>        at 
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
>        at 
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
>        at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
> Caused by: java.net.SocketException: Socket closed
>        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116)
>        at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
>        at 
> com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.flushBuffer(WriterToUTF8Buffered.java:450)
>        at 
> com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.flush(WriterToUTF8Buffered.java:469)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToStream.flushWriter(ToStream.java:284)
>        ... 51 more
> ---------
> java.net.SocketException: Socket closed
>        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116)
>        at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
>        at 
> com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.flushBuffer(WriterToUTF8Buffered.java:450)
>        at 
> com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.flush(WriterToUTF8Buffered.java:469)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToStream.flushWriter(ToStream.java:284)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToXMLStream.endDocument(ToXMLStream.java:213)
>        at 
> com.sun.org.apache.xml.internal.serializer.ToUnknownStream.endDocument(ToUnknownStream.java:829)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:95)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:683)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:727)
>        at 
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:340)
>        at 
> net.sf.freecol.common.networking.Connection.send(Connection.java:240)
>        at net.sf.freecol.common.networking.Connection.ask(Connection.java:325)
>        at 
> net.sf.freecol.common.networking.Connection.askDumping(Connection.java:359)
>        at net.sf.freecol.common.networking.Client.ask(Client.java:160)
>        at 
> net.sf.freecol.common.networking.ServerAPI.askExpecting(ServerAPI.java:151)
>        at net.sf.freecol.common.networking.ServerAPI.login(ServerAPI.java:789)
>        at 
> net.sf.freecol.client.control.ConnectController.login(ConnectController.java:319)
>        at 
> net.sf.freecol.client.control.ConnectController.reconnect(ConnectController.java:377)
>        at 
> net.sf.freecol.client.gui.action.ReconnectAction.actionPerformed(ReconnectAction.java:51)
>        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1658)
>        at javax.swing.JComponent.processKeyBinding(JComponent.java:2870)
>        at javax.swing.JComponent.processKeyBindings(JComponent.java:2917)
>        at javax.swing.JComponent.processKeyEvent(JComponent.java:2833)
>        at java.awt.Component.processEvent(Component.java:6282)
>        at java.awt.Container.processEvent(Container.java:2229)
>        at java.awt.Component.dispatchEventImpl(Component.java:4861)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at 
> java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1893)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:752)
>        at 
> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1017)
>        at 
> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:717)
>        at java.awt.Component.dispatchEventImpl(Component.java:4731)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Window.dispatchEventImpl(Window.java:2719)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
>        at java.awt.EventQueue.access$000(EventQueue.java:102)
>        at java.awt.EventQueue$3.run(EventQueue.java:662)
>        at java.awt.EventQueue$3.run(EventQueue.java:660)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
>        at java.awt.EventQueue$4.run(EventQueue.java:676)
>        at java.awt.EventQueue$4.run(EventQueue.java:674)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
>        at 
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
>        at 
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
>        at 
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
>        at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
> ----------------------------
> net.sf.freecol.common.networking.Client ask
>        WARNING: Could not ask: [login: null]
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 15
>        Stack trace:
> java.net.SocketException: Socket closed
>        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116)
>        at java.net.SocketOutputStream.write(SocketOutputStream.java:132)
>        at 
> net.sf.freecol.common.networking.Connection.send(Connection.java:246)
>        at net.sf.freecol.common.networking.Connection.ask(Connection.java:325)
>        at 
> net.sf.freecol.common.networking.Connection.askDumping(Connection.java:359)
>        at net.sf.freecol.common.networking.Client.ask(Client.java:160)
>        at 
> net.sf.freecol.common.networking.ServerAPI.askExpecting(ServerAPI.java:151)
>        at net.sf.freecol.common.networking.ServerAPI.login(ServerAPI.java:789)
>        at 
> net.sf.freecol.client.control.ConnectController.login(ConnectController.java:319)
>        at 
> net.sf.freecol.client.control.ConnectController.reconnect(ConnectController.java:377)
>        at 
> net.sf.freecol.client.gui.action.ReconnectAction.actionPerformed(ReconnectAction.java:51)
>        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1658)
>        at javax.swing.JComponent.processKeyBinding(JComponent.java:2870)
>        at javax.swing.JComponent.processKeyBindings(JComponent.java:2917)
>        at javax.swing.JComponent.processKeyEvent(JComponent.java:2833)
>        at java.awt.Component.processEvent(Component.java:6282)
>        at java.awt.Container.processEvent(Container.java:2229)
>        at java.awt.Component.dispatchEventImpl(Component.java:4861)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at 
> java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1893)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:752)
>        at 
> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1017)
>        at 
> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:717)
>        at java.awt.Component.dispatchEventImpl(Component.java:4731)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Window.dispatchEventImpl(Window.java:2719)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
>        at java.awt.EventQueue.access$000(EventQueue.java:102)
>        at java.awt.EventQueue$3.run(EventQueue.java:662)
>        at java.awt.EventQueue$3.run(EventQueue.java:660)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
>        at java.awt.EventQueue$4.run(EventQueue.java:676)
>        at java.awt.EventQueue$4.run(EventQueue.java:674)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
>        at 
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
>        at 
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
>        at 
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
>        at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
> ----------------------------
> java.util.logging.LogManager$RootLogger log
>        WARNING: Uncaught exception from thread: 
> Thread[AWT-EventQueue-0,6,main]
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 15
>        Stack trace:
> java.lang.NullPointerException
>        at 
> net.sf.freecol.client.control.InGameController.displayModelMessages(InGameController.java:1205)
>        at 
> net.sf.freecol.client.control.InGameController.displayModelMessages(InGameController.java:1193)
>        at 
> net.sf.freecol.client.control.InGameController.nextModelMessage(InGameController.java:1285)
>        at 
> net.sf.freecol.client.control.ConnectController.reconnect(ConnectController.java:378)
>        at 
> net.sf.freecol.client.gui.action.ReconnectAction.actionPerformed(ReconnectAction.java:51)
>        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1658)
>        at javax.swing.JComponent.processKeyBinding(JComponent.java:2870)
>        at javax.swing.JComponent.processKeyBindings(JComponent.java:2917)
>        at javax.swing.JComponent.processKeyEvent(JComponent.java:2833)
>        at java.awt.Component.processEvent(Component.java:6282)
>        at java.awt.Container.processEvent(Container.java:2229)
>        at java.awt.Component.dispatchEventImpl(Component.java:4861)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at 
> java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1893)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:752)
>        at 
> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1017)
>        at 
> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
>        at 
> java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:717)
>        at java.awt.Component.dispatchEventImpl(Component.java:4731)
>        at java.awt.Container.dispatchEventImpl(Container.java:2287)
>        at java.awt.Window.dispatchEventImpl(Window.java:2719)
>        at java.awt.Component.dispatchEvent(Component.java:4687)
>        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
>        at java.awt.EventQueue.access$000(EventQueue.java:102)
>        at java.awt.EventQueue$3.run(EventQueue.java:662)
>        at java.awt.EventQueue$3.run(EventQueue.java:660)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
>        at java.awt.EventQueue$4.run(EventQueue.java:676)
>        at java.awt.EventQueue$4.run(EventQueue.java:674)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
>        at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
>        at 
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
>        at 
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
>        at 
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
>        at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
>        at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
> ----------------------------
> net.sf.freecol.common.resources.ResourceManager$1 run
>        INFO: Background thread preloaded 1391 resources.
>        Sat Jun 23 09:16:33 CST 2012
>        Thread ID: 37
> net.sf.freecol.server.networking.Server shutdown
>        FINE: Closed server socket.
>        Sat Jun 23 09:16:38 CST 2012
>        Thread ID: 25
> net.sf.freecol.server.networking.Server shutdown
>        FINE: Server shutdown.
>        Sat Jun 23 09:16:38 CST 2012
>        Thread ID: 25
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Freecol-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freecol-developers
>

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Freecol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freecol-developers

Reply via email to