Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1186

Repeated UDP java.io.InterruptedIOException logging to file

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.6.15, 2.10
    • 2.6.10
    • None

    Description

      As my application runs, I get repeated stack traces in the file that look like:

      05:03:18,386 ERROR [UDP] failed sending message to null (56 bytes)
      java.lang.Exception: dest=/224.8.8.8:45568 (59 bytes)
      at org.jgroups.protocols.UDP._send(UDP.java:361)
      at org.jgroups.protocols.UDP.__AW_sendToAllMembers(UDP.java:302)
      at org.jgroups.protocols.UDP.sendToAllMembers(UDP.java)
      at org.jgroups.protocols.TP.doSend(TP.java:1486)
      at org.jgroups.protocols.TP.send(TP.java:1476)
      at org.jgroups.protocols.TP.__AW_down(TP.java:1197)
      at org.jgroups.protocols.TP.down(TP.java)
      at org.jgroups.protocols.PING.sendMcastDiscoveryRequest(PING.java:278)
      at org.jgroups.protocols.PING.__AW_sendGetMembersRequest(PING.java:259)
      at org.jgroups.protocols.PING.sendGetMembersRequest(PING.java)
      at org.jgroups.protocols.Discovery$PingSenderTask$1.run(Discovery.java:40
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.a
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.r
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.r
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecu
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.io.InterruptedIOException: operation interrupted
      at java.net.PlainDatagramSocketImpl.send(Native Method)
      at java.net.DatagramSocket.send(DatagramSocket.java:612)
      at org.jgroups.protocols.UDP._send(UDP.java:352)
      ... 19 more

      This seems very similar to JGRP-647 and JGRP-1161.

      I believe the problem to be that org.jgroups.protocols.UDP._send() is catching all Exceptions, and wrapping them with java.lang.Exception to re-throw with additional info. However, it also catches InterruptedIOExceptions, and wraps them. The rest of JGroups (and the DiscoveryTask in particular) protect themselves from logging java.io.InterruptedIOExceptions, but not against InterruptedIOExceptions wrapped by Exceptions.

      I checked the source for 2.6.10.GA, 2.6.14.GA, and 2.9.0.GA, and they all still had the InterruptedIOException wrapped by Exception.

      I have fixed the problem by just changing my log4j settings, as the problem is intermittent, not constant. JGroups itself seems to be working correctly, it's just verbose in it's logging. Additionally, it may just be that the out-of-the-box JBoss AS 5.1.0.GA is misconfigured. This seems to be related to JMS and Messaging, as the port numbers involved are always the ones configured by JBoss Messaging.

      I apologize if this is a duplicate bug.

      Attachments

        Activity

          People

            rhn-engineering-bban Bela Ban
            amcdowell_jira Andrew McDowell (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: