Disconnected players appear to log in multiple times concurrently
After hearing that Java 8 offers a substantial performance increase on the server-side, I upgraded my server to use Java 8u20.
Although my performance issues seemed to disappear, now when some of my users get disconnected from the server (as seen from that individual's client), the actual server software (and consequently other users viewing the chat window) still registers them as being logged in. When these users log back in, the server registers them as having been logged in twice, displaying two of the same player model. We've seen this happen as many as 5 times, with the duplicate players remaining present for hours afterward. Prior to the java upgrade, this issue had never been observed.
After this happens, sometimes, although not every time, the server console begins spamming the following:
Sep 20, 2014 9:54:21 AM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaughtWARNING: An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:267)
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:694)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.forceFlush(AbstractNioChannel.java:321)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:515)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Unknown Source)
Environment
OS: Windows 7 (64 Bit)
Java: Version 8u20
CPU: Intel Xeon E3-1230
Linked Issues
Created Issue:
Java 8 - Disconnected players appear to log in multiple times concurrently
After hearing that Java 8 offers a substantial performance increase on the server-side, I upgraded my server to use Java 8u20.
Although my performance issues seemed to disappear, now when some of my users get disconnected from the server (as seen from that individual's client), the actual server software (and consequently other users viewing the chat window) still registers them as being logged in. When these users log back in, the server registers them as having been logged in twice, displaying two of the same player model. We've seen this happen as many as 5 times, with the duplicate players remaining present for hours afterward.
After this happens, sometimes, although not every time, the server console begins spamming the following:
Sep 20, 2014 9:54:21 AM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaughtWARNING: An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:267)
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:694)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.forceFlush(AbstractNioChannel.java:321)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:515)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Unknown Source)Environment
OS: Windows 7 (64 Bit)
Java: Version 8u20
CPU: Intel Xeon E3-1230
Java 8 -Disconnected players appear to log in multiple times concurrently
After hearing that Java 8 offers a substantial performance increase on the server-side, I upgraded my server to use Java 8u20.
Although my performance issues seemed to disappear, now when some of my users get disconnected from the server (as seen from that individual's client), the actual server software (and consequently other users viewing the chat window) still registers them as being logged in. When these users log back in, the server registers them as having been logged in twice, displaying two of the same player model. We've seen this happen as many as 5 times, with the duplicate players remaining present for hours afterward.
After this happens, sometimes, although not every time, the server console begins spamming the following:
Sep 20, 2014 9:54:21 AM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaughtWARNING: An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:267)
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:694)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.forceFlush(AbstractNioChannel.java:321)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:515)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Unknown Source)After hearing that Java 8 offers a substantial performance increase on the server-side, I upgraded my server to use Java 8u20.
Although my performance issues seemed to disappear, now when some of my users get disconnected from the server (as seen from that individual's client), the actual server software (and consequently other users viewing the chat window) still registers them as being logged in. When these users log back in, the server registers them as having been logged in twice, displaying two of the same player model. We've seen this happen as many as 5 times, with the duplicate players remaining present for hours afterward.
After this happens, sometimes, although not every time, the server console begins spamming the following:
Sep 20, 2014 9:54:21 AM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaughtWARNING: An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:267)
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:694)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.forceFlush(AbstractNioChannel.java:321)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:515)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Unknown Source)
After hearing that Java 8 offers a substantial performance increase on the server-side, I upgraded my server to use Java 8u20.
Although my performance issues seemed to disappear, now when some of my users get disconnected from the server (as seen from that individual's client), the actual server software (and consequently other users viewing the chat window) still registers them as being logged in. When these users log back in, the server registers them as having been logged in twice, displaying two of the same player model. We've seen this happen as many as 5 times, with the duplicate players remaining present for hours afterward. Prior to the java upgrade, this issue had never been observed.
After this happens, sometimes, although not every time, the server console begins spamming the following:
Sep 20, 2014 9:54:21 AM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaughtWARNING: An exception was thrown by a user handler's exceptionCaught() method while handling the following exception:java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:267)
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:694)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.forceFlush(AbstractNioChannel.java:321)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:515)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Unknown Source)
duplicates
Dupe of
MC-37586