Bug 1080429 - [GSS] (6.3.0) Change JBREM000200 from ERROR to DEBUG since it is harmless
Summary: [GSS] (6.3.0) Change JBREM000200 from ERROR to DEBUG since it is harmless
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Remoting
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ER2
: EAP 6.3.0
Assignee: David M. Lloyd
QA Contact: Jitka Kozana
Russell Dickenson
URL: https://c.na7.visual.force.com/apex/C...
Whiteboard:
Keywords:
Depends On:
Blocks: eap63-beta-blockers 1080576
TreeView+ depends on / blocked
 
Reported: 2014-03-25 12:31 UTC by Shaun Appleton
Modified: 2018-12-05 17:51 UTC (History)
5 users (show)

(edit)
Users of previous versions of JBoss EAP 6 on Windows platforms may have encountered the following IOException when the JMX connection was closed:

----
JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host
----

This error was caused by Windows forcibly closing connections. As it had no adverse affects, the logging level for the error was changed to DEBUG, to prevent it appearing in lower level logs.
Clone Of:
(edit)
Last Closed: 2014-06-28 15:31:36 UTC


Attachments (Terms of Use)

Comment 1 Shaun Appleton 2014-03-25 12:43:41 UTC
Description of problem:
When running EAP 6.2.0  and a client ton windows 
JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host
gets thrown when the jmx connection is closed.

How reproducible:
Very

Steps to Reproduce:
1. Run EAP 6.2.0 on Windows
2. Connect via jmx to get some info like

    @Test
    public void directMBean() throws Exception {
        ObjectName objectName = new ObjectName("java.lang:type=Memory");
        Map<String, Object> env = new HashMap<String, Object>();
        String[] credentials = new String[] { MONITORING_USER, MONITORING_PASSWORD };
        env.put("jmx.remote.credentials", credentials);
        String connectionUrlString = JMX_REMOTING_URL;

        JMXServiceURL url = new JMXServiceURL(connectionUrlString);
        JMXConnector jmxc = JMXConnectorFactory.connect(url, env);
        jmxc.connect();

        Object value = jmxc.getMBeanServerConnection().getAttribute(objectName, "HeapMemoryUsage");
        log.info("HeapMemoryUsage=" + value);
        jmxc.close();
    }

or use example in https://access.redhat.com/site/solutions/125473



3. Close the connection and observe the error

Actual results:
Everyhting else works apart from the IO exception being thrown in the server.log file on close only:

00:01:32,914 TRACE [org.jboss.remoting.remote] (Remoting "WIN-DUG553FR30A_100" read-1) Received remote close request on Connection handler for Remoting connection 3a14c2e8 to /aa.bb.cc.dd:58033
00:01:32,915 TRACE [org.jboss.remoting.remote.connection] (Remoting "WIN-DUG553FR30A_100" read-1) Sent message java.nio.HeapByteBuffer[pos=1 lim=1 cap=8192] (direct)
00:01:32,916 TRACE [org.jboss.remoting.remote.connection] (Remoting "WIN-DUG553FR30A_100" read-1) Shut down writes on channel (direct)
00:01:32,916 TRACE [org.jboss.remoting.remote.connection] (Remoting "WIN-DUG553FR30A_100" read-1) Flushed channel (direct)
00:01:32,916 TRACE [org.jboss.remoting.remote] (Remoting "WIN-DUG553FR30A_100" read-1) Sent close request on Connection handler for Remoting connection 3a14c2e8 to /aa.bb.cc.dd:58033
00:01:32,917 TRACE [org.jboss.remoting.remote.connection] (Remoting "WIN-DUG553FR30A_100" read-1) Shut down writes on channel
00:01:32,918 TRACE [org.jboss.remoting.remote] (Remoting "WIN-DUG553FR30A_100" read-1) Received connection end-of-stream
00:01:32,930 TRACE [org.jboss.remoting.remote.connection] (Remoting "WIN-DUG553FR30A_100" read-1) Shut down writes on channel
00:01:32,939 TRACE [org.jboss.remoting.resource] (Remoting "WIN-DUG553FR30A_100" read-1) Closing Connection handler for Remoting connection 3a14c2e8 to null asynchronously
00:01:32,940 TRACE [org.jboss.remoting.resource] (Remoting "WIN-DUG553FR30A_100" read-1) Completed close of Connection handler for Remoting connection 3a14c2e8 to null
00:01:32,941 TRACE [org.jboss.remoting.resource] (Remoting "WIN-DUG553FR30A_100" read-1) Closing Remoting connection <426d942b> asynchronously
00:01:32,941 TRACE [org.jboss.remoting.resource] (Remoting "WIN-DUG553FR30A_100" read-1) Closing Connection handler for Remoting connection 3a14c2e8 to null asynchronously
00:01:32,942 TRACE [org.jboss.remoting.resource] (Remoting "WIN-DUG553FR30A_100" read-1) Completed close of Remoting connection <426d942b>
00:01:32,943 TRACE [org.jboss.remoting.endpoint] (Remoting "WIN-DUG553FR30A_100" read-1) Resource closed count 00000001 of endpoint "WIN-DUG553FR30A_100" <1ba1110d> (closed Remoting connection <426d942b>)
00:01:32,940 TRACE [org.jboss.remoting.remote.connection] (Remoting "WIN-DUG553FR30A_100" task-1) Shut down writes on channel
00:01:33,324 TRACE [org.jboss.remoting.remote.connection] (Remoting "WIN-DUG553FR30A_100:MANAGEMENT" read-1) Connection error detail: java.io.IOException: An existing connection was forcibly closed by the remote host
	at sun.nio.ch.SocketDispatcher.read0(Native Method) [rt.jar:1.7.0_45]
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) [rt.jar:1.7.0_45]
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) [rt.jar:1.7.0_45]
	at sun.nio.ch.IOUtil.read(IOUtil.java:197) [rt.jar:1.7.0_45]
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) [rt.jar:1.7.0_45]
	at org.xnio.nio.AbstractNioStreamChannel.read(AbstractNioStreamChannel.java:249)
	at org.xnio.channels.FramedMessageChannel.receive(FramedMessageChannel.java:87) [xnio-api-3.0.7.GA-redhat-1.jar:3.0.7.GA-redhat-1]
	at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:72) [jboss-remoting-3.2.18.GA-redhat-1.jar:3.2.18.GA-redhat-1]
	at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:45) [jboss-remoting-3.2.18.GA-redhat-1.jar:3.2.18.GA-redhat-1]
	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:72) [xnio-api-3.0.7.GA-redhat-1.jar:3.0.7.GA-redhat-1]
	at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:189) [xnio-api-3.0.7.GA-redhat-1.jar:3.0.7.GA-redhat-1]
	at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:103) [xnio-api-3.0.7.GA-redhat-1.jar:3.0.7.GA-redhat-1]
	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:72) [xnio-api-3.0.7.GA-redhat-1.jar:3.0.7.GA-redhat-1]
	at org.xnio.nio.NioHandle.run(NioHandle.java:90)
	at org.xnio.nio.WorkerThread.run(WorkerThread.java:187)


Expected results:
No Error to be thrown

Additional info:
This happens on Windows only. This did not happen in EAP 5.

Comment 3 Brad Maxwell 2014-03-25 18:23:09 UTC
When run on Windows operating system, Windows appears to forcibly close connections which results in the ERROR logged below, though the issue is not harmful, so changing it to DEBUG to prevent users from being concerned there is a problem.

ERROR ... JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host

Comment 7 Jitka Kozana 2014-04-30 12:38:16 UTC
Verified.

Comment 8 sgilda 2014-05-12 20:07:07 UTC
Removed programlisting tag in Doc Text to ticks (`) to fix Bug 1096865


Note You need to log in before you can comment on or make changes to this bug.