Hello Forum Folks, I too, have been recieving this error. Seeing has there is no current solution I decided to investigate into the code. JBoss-4.0.4GA is using JGroups-2.2.7. I was able to get the source from here:
http://www.codezoo.com/pub/component/174?category=7 Looking at the handleIncomingUdpPacket method in the org.jgroups.protocols.UDP class we get this: /** | * Processes a packet read from either the multicast or unicast socket. Needs to be synchronized because | * mcast or unicast socket reads can be concurrent | */ | void handleIncomingUdpPacket(byte[] data) { | ByteArrayInputStream inp_stream; | ObjectInputStream inp; | Message msg=null; | List l; // used if bundling is enabled | | try { | // skip the first n bytes (default: 4), this is the version info | inp_stream=new ByteArrayInputStream(data, VERSION_LENGTH, data.length - VERSION_LENGTH); | inp=new ObjectInputStream(inp_stream); | if(enable_bundling) { | l=new List(); | l.readExternal(inp); | for(Enumeration en=l.elements(); en.hasMoreElements();) { | msg=(Message)en.nextElement(); | try { | handleMessage(msg); | } | catch(Throwable t) { | if(log.isErrorEnabled()) log.error("failure: " + t.toString()); | } | } | } | else { | msg=new Message(); | msg.readExternal(inp); | handleMessage(msg); | } | } | catch(Throwable e) { | if(log.isErrorEnabled()) log.error("exception=" + Util.getStackTrace(e)); | } | } | First, we must thank Bela for making such clean, readable code. Second, What is happening here is the server is receiving a UDP packet from the multicast from somewhere in your network. If we look at the code for the OptionalDataException we get the following description of what is happening: anonymous wrote : Exception indicating the failure of an object read operation due to | unread primitive data, or the end of data belonging to a serialized | object in the stream. | An attempt was made to read an object when the next element in the | stream is primitive data. In this case, the OptionalDataException's | length field is set to the number of bytes of primitive data | immediately readable from the stream, and the eof field is set to | false. | So, I believe what is happening is the following: somebody is sending mutlicast UDP packets to your machine and jboss clustering is picking them up and trying to create objects out of them. Since they are not objects, it throws an error. So, unless your clustering is not working correctly, it hopefully can be assumed that this error can be ignored. The best way to do that is to modfiy your log4j.xml as amry stated before. It should be noted that if you change the enabled_bundling in the server/all/deploy/tc5-cluster.sar/META-INF/jboss-service.xml to false, you will recieve a different error: 16:00:54,286 ERROR [UDP] exception=java.io.EOFException | at java.io.DataInputStream.readInt(DataInputStream.java:358) | at java.io.ObjectInputStream$BlockDataInputStream.readInt(ObjectInputStream.java:2724) | at java.io.ObjectInputStream.readInt(ObjectInputStream.java:919) | at org.jgroups.Message.readExternal(Message.java:479) | at org.jgroups.protocols.UDP.handleIncomingUdpPacket(UDP.java:686) | at org.jgroups.protocols.UDP$IncomingPacketHandler.run(UDP.java:1332) | at java.lang.Thread.run(Thread.java:595) | which, from looking at the code from both jgroups and java.io, confirms the above. --Andy View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3951407#3951407 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3951407 _______________________________________________ JBoss-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-user
