Hello everyone,
This is an appeal for help to resolve the error JBREM000200 that I get when a process connects to wildfly to do some JMS work. Details follow:-
I am trying to switch from JBoss-as-7.1.1.Final to Wildfly 9.0.1.Final. My project runs on Microsoft Windows and Red Hat Linux (RHEL 5.11). I am using java jdk 1.8.0_60. The switch to wildfly worked fine on Windows, once I found out what
the config file changes were, especially the switch from remote port 4777 to undertow http port 8080. However, on linux the wildfly server get an error as soon as one of my processes connects to it. The wildfly log is not very busy. Wildfly starts with not
much logged then I get a one line error report for every connection attempt:
2016-06-29 15:09:09,555 ERROR [org.jboss.remoting.remote.connection] (default I/O-6) JBREM000200: Remote connection failed: java.io.IOException: XNIO000804: Received an invalid message length of 1195725856
The log of the process that connects contains a bit more detail:
Error: NamingException detected during EndPointFactory JMS Server queue initialisation: Failed to connect to any server. Servers tried: [http-remoting://<myIpAddress>:8180 (java.io.EOFException: XNIO000812: Connection closed unexpectedly)]
: Failed to connect to any server. Servers tried: [http-remoting://<myIpAddress>:8180 (java.io.EOFException: XNIO000812: Connection closed unexpectedly)] Cause unknown. : Stack trace: javax.naming.CommunicationException: Failed to connect to any server. Servers
tried: [http-remoting://<myIpAddress>:8180 (java.io.EOFException: XNIO000812: Connection closed unexpectedly)]
at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:244)
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingStore(HaRemoteNamingStore.java:149)
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:130)
at org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:272)
at org.jboss.naming.remote.client.RemoteContext.lookupInternal(RemoteContext.java:104)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:93)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:146)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
I am using port 8180 because port 8080 is already taken (jenkins).
I have googled for this causes of this error. I found several hits that suggested various “solutions”. I tried them all. None of them worked. Here’s what I have tried:
·
I ensured that no other process was using 8180. Some wildfly users have been in environments where a rogue process was writing to the undertow port. I used netstat in a loop to monitor any process using 8180. It just showed wildfly
listening on it until my app made the connection attempt. Then it showed my app as well. No other apps.
·
I tried using the port number offset feature. This used different port numbers but the problem remained.
·
xml config, disable section security-realm-name=”ApplicationRealm”. This made no difference.
·
In the interfaces section, interface name=”public” replace inet-address value=${jboss.bind.address:0.0.0.0} with value = “<myIpAddressAsADottedQuad>”. This did make a difference – I lost connectivity completely. This was fixed
by me changing localhost in my remoting URL to the ip address as a dotted quad. Then I got the invalid message length error back.
This seems like a very deep mystery to me. It might force me to abandon using wildfly on linux and say that it is only supported on windows. Any help will be much appreciated.
Regards,
Andrew Marlow.
http://www.andrewpetermarlow.co.uk