Jenkins log shows lots of 'javax.jmdns.impl.DNSIncoming' SEVERE Messages

Article ID:360021422131
2 minute readKnowledge base

Issue

  • The Jenkins logs are polluted with SEVERE messages like the following:

SEVERE: Extended label are not currently supported.
Dec 17, 2018 4:23:36 PM javax.jmdns.impl.DNSIncoming$MessageInputStream readName
SEVERE: Extended label are not currently supported.
Dec 17, 2018 4:23:36 PM javax.jmdns.impl.DNSIncoming$MessageInputStream readName
SEVERE: bad domain name: possible circular name detected. Bad offset: 0xffffffff at 0x69
Dec 17, 2018 4:23:36 PM javax.jmdns.impl.constants.DNSRecordType typeForIndex
SEVERE: Could not find record type for index: -1
Dec 17, 2018 4:23:36 PM javax.jmdns.impl.DNSIncoming readQuestion
SEVERE: Could not find record type: dns[query,192.168.123.123:4321, length=107, id=0x0]
   0: 0000000000010000 0001000043746561 6d732d746573746e 65776d6173746572     ........ ....Ctea ms-testn ewmaster
  20: 2d302d7465616d73 2d746573746e6577 6d61737465722d64 656661756c742d73     -0-teams -testnew controller-d efault-s
  40: 76632d636c757374 65722d6c6f63616c 056c6f63616c0000 ff0001c00c000100     vc-clust er-local .local.. ........
  60: 0100000e100004c0 a8c881
  [...]

Explanation

These logs are generated by JmDNS, a DNS multicast library that Jenkins uses for its auto-discovery feature.

At the moment of writing this article:

  • Jenkins uses an old fork of that library jenkinsci/jmdns

  • the auto-discovery feature is enabled by default

These SEVERE messages appear when Jenkins receives DNS Messages of a type that is not supported. Whether an instance is impacted or not strongly depends on the environment where it runs.

Resolution

There is a known improvement issue JENKINS-50816 to disable the DNS Multicast functionality by default or even detach it from Jenkins core. Until then, the workaround is to disable the functionality by adding the system property -Dhudson.DNSMultiCast.disabled=true on Jenkins startup - see How to add Java arguments to Jenkins? to understand how to do this. A restart is required to apply the changes.