Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-8647

Hudson 1.395 logs many messages about RecordReaper IllegalArgumentException

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None
    • Debian, Windows

      I'm seeing new diagnostic output on several different machines running Hudson
      since I updated to 1.395.

      Machines which have shown these types of messages from the master server
      include:

      • Windows Server 2008 x64
      • Debian i386
      • Debian AMD64

      The message is:

      Jan 24, 2011 4:59:53 PM javax.jmdns.impl.tasks.RecordReaper run
      SEVERE: RecordReaper(mwaite2-deb.local.).Error while reaping records:
      [Pointer@21075506 type: TYPE_PTR index 12, class: CLASS_IN index 1, name:
      _services._dns-sd._udp.local. ttl: '2240/4500' alias:
      '_home-sharing._tcp.local.']
      java.lang.IllegalArgumentException: The instance name component of a fully
      qualified service cannot be empty.
      at
      javax.jmdns.impl.ServiceInfoImpl.checkQualifiedNameMap(ServiceInfoImpl.java:356)
      at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:197)
      at javax.jmdns.impl.DNSRecord$Pointer.getServiceInfo(DNSRecord.java:540)
      at javax.jmdns.impl.DNSRecord.getServiceInfo(DNSRecord.java:1051)
      at javax.jmdns.impl.JmDNSImpl.renewServiceCollector(JmDNSImpl.java:1228)
      at javax.jmdns.impl.tasks.RecordReaper.run(RecordReaper.java:80)
      at java.util.TimerThread.mainLoop(Timer.java:512)
      at java.util.TimerThread.run(Timer.java:462)
      Jan 24, 2011 4:59:54 PM javax.jmdns.impl.tasks.RecordReaper run
      SEVERE: ---- Local Host -----
      local host info[mwaite2-deb.local., eth0:132.253.117.116, DNS:
      mwaite2-deb.local. state: announced task: Renewer(mwaite2-deb.local.) state:
      announced]
      ---- Services -----
      Service: hudson (14)._hudson._tcp.local.:
      [ServiceInfoImpl@11418595 name: 'hudson (14)._hudson._tcp.local.' address:
      'mwaite2-deb.ptcnet.ptc.com/132.253.117.116:80' status: 'DNS: mwaite2-deb.local.
      state: announced task: Renewer(mwaite2-deb.local.) state: announced', has data
      \020slave-port=35469+url=http://mwaite2-deb.ptcnet.ptc.com:8080/\015version=1.395]

      ---- Types ----
      Type: _afpovertcp._tcp.local.: no subtypes
      Type: _hudson._tcp.local.: no subtypes

          [JENKINS-8647] Hudson 1.395 logs many messages about RecordReaper IllegalArgumentException

          MarkEWaite created issue -

          MarkEWaite added a comment -

          The resulting log files tend to be large. Refer to information on the Hudson users mailing list http://groups.google.com/group/hudson-users/browse_thread/thread/323af7e50a7bb9bc/3ca3c46bd780524b

          MarkEWaite added a comment - The resulting log files tend to be large. Refer to information on the Hudson users mailing list http://groups.google.com/group/hudson-users/browse_thread/thread/323af7e50a7bb9bc/3ca3c46bd780524b

          Rickard von Essen added a comment - - edited

          holgerhoffstaette have a solution see http://issues.hudson-ci.org/browse/HUDSON-8647

          holgerhoffstaette added a comment - 01/Feb/11 09:52 AM
          Easily fixed by dropping in the latest jmdns-3.4.0 jar (from http://sourceforge.net/projects/jmdns/). No more excess logging.

          I have updated the core/pom.xml to use jmdns-3.4.0.jar

          A fix is available at:
          https://github.com/rickard-von-essen/jenkins/commit/c59a00fe3c23c7bf4021f90e492edc43b9790b96
          and I've attached a patch.

          Rickard von Essen added a comment - - edited holgerhoffstaette have a solution see http://issues.hudson-ci.org/browse/HUDSON-8647 holgerhoffstaette added a comment - 01/Feb/11 09:52 AM Easily fixed by dropping in the latest jmdns-3.4.0 jar (from http://sourceforge.net/projects/jmdns/ ). No more excess logging. I have updated the core/pom.xml to use jmdns-3.4.0.jar A fix is available at: https://github.com/rickard-von-essen/jenkins/commit/c59a00fe3c23c7bf4021f90e492edc43b9790b96 and I've attached a patch.

          Git Patch to change the core/pom.xml to use jmdns-3.4.0

          Rickard von Essen added a comment - Git Patch to change the core/pom.xml to use jmdns-3.4.0
          Rickard von Essen made changes -

          jieryn added a comment -

          Did you test this? I don't think you even did the most basic kind of checking.. the program will not compile with this simple fix applied.

          jieryn added a comment - Did you test this? I don't think you even did the most basic kind of checking.. the program will not compile with this simple fix applied.

          jieryn added a comment -

          I believe I have fixed this properly with https://github.com/jenkinsci/jenkins/pull/54

          jieryn added a comment - I believe I have fixed this properly with https://github.com/jenkinsci/jenkins/pull/54

          Code changed in jenkins
          User: Jesse Farinacci
          Path:
          core/pom.xml
          core/src/main/java/hudson/DNSMultiCast.java
          http://jenkins-ci.org/commit/core/53f0274753d7a90a47726831011fa35874c83056
          Log:
          [FIXED JENKINS-8647] Many messages about RecordReaper IllegalArgumentException

          I did a checkout for our internal fork of JmDNS [1] and the
          upstream version [2] to compare what the differences were..
          I found none. There do not appear to be any local edits to
          our fork so I can not figure out why we did the fork to
          begin with.

          Perhaps some older version had locally patched bugs which
          have since been resolved? Anyhow, given that JENKINS-8647
          is causing lots of people lots of grief, and it is enabled
          by default, I went ahead and bumped to jmdns-3.4.0 upstream.

          I think reduction of forks for library projects is generally
          good, and especially when we have no practical changes made
          to our version.

          [1] https://github.com/jenkinsci/jmdns
          [2] https://jmdns.svn.sourceforge.net/svnroot/jmdns/tags/JmDNS_3_2_1/

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Farinacci Path: core/pom.xml core/src/main/java/hudson/DNSMultiCast.java http://jenkins-ci.org/commit/core/53f0274753d7a90a47726831011fa35874c83056 Log: [FIXED JENKINS-8647] Many messages about RecordReaper IllegalArgumentException I did a checkout for our internal fork of JmDNS [1] and the upstream version [2] to compare what the differences were.. I found none. There do not appear to be any local edits to our fork so I can not figure out why we did the fork to begin with. Perhaps some older version had locally patched bugs which have since been resolved? Anyhow, given that JENKINS-8647 is causing lots of people lots of grief, and it is enabled by default, I went ahead and bumped to jmdns-3.4.0 upstream. I think reduction of forks for library projects is generally good, and especially when we have no practical changes made to our version. [1] https://github.com/jenkinsci/jmdns [2] https://jmdns.svn.sourceforge.net/svnroot/jmdns/tags/JmDNS_3_2_1/
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

          Code changed in jenkins
          User: Jesse Farinacci
          Path:
          changelog.html
          http://jenkins-ci.org/commit/core/22d2dc487ddb5558694efd3d17e49d07adda19b3
          Log:
          update changelog for fix to JENKINS-8647

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Farinacci Path: changelog.html http://jenkins-ci.org/commit/core/22d2dc487ddb5558694efd3d17e49d07adda19b3 Log: update changelog for fix to JENKINS-8647

            Unassigned Unassigned
            MarkEWaite MarkEWaite
            Votes:
            4 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: