FS#304 - Timed out sessions not cleaned up
Attached to Project:
RPG
Opened by neb (neb) - Tuesday, 19 August 2008, 09:25 GMT-7
Last edited by neb (neb) - Tuesday, 17 August 2010, 08:07 GMT-7
Opened by neb (neb) - Tuesday, 19 August 2008, 09:25 GMT-7
Last edited by neb (neb) - Tuesday, 17 August 2010, 08:07 GMT-7
|
DetailsImproperly closed client sessions are (supposed to be) cleaned up, allowing the player to log in again. It has been observed that (at least) in the case of a "Connection timed out" exception, the session is not cleaned up.
Specifically, this happens when no other clients are connected. Upon broadcast messages (eg, chat), the dead socket is detected and cleaned up. This must be made much more robust. [2008-08-19_11:13:36_EDT] WARN (core.net.driver.Reader) NetReaderProc [w.x.y.z] socket error [EXCEPTION: Connection timed out] ----- BEGIN EXCEPTION ----- java.io.IOException [Connection timed out] - sun.nio.ch.FileDispatcher.read0(Native Method) - sun.nio.ch.SocketDispatcher.read(Unknown Source) - sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) - sun.nio.ch.IOUtil.read(Unknown Source) - sun.nio.ch.SocketChannelImpl.read(Unknown Source) - root.core.net.frame.FrameInput.read(FrameInput.java:78) - root.core.net.driver.Reader.processIO(Reader.java:146) - root.core.net.driver.IOService$IOProcess.process(IOService.java:130) - root.core.proc.Proxy.process(Proxy.java:34) - root.core.proc.Group.process(Group.java:99) - root.core.proc.Group.access$300(Group.java:23) - root.core.proc.Group$Runner.run(Group.java:134) - java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) - java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) - java.util.concurrent.FutureTask.run(Unknown Source) - java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) - java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) - java.lang.Thread.run(Unknown Source) ----- END EXCEPTION ----- [2008-08-19_11:13:36_EDT] INFO (core.net.driver.NetworkDriver) Closing [w.x.y.z] |
This task blocks these from closing
FS#365 - In-world list does not clean up upon bad disconnect
FS#531 - Disconnected characters remain in world
FS#531