3

I have a Xen virtual machine where I've installed a Jetty 7.4.5, to run an instance of Hudson. It was working fine for about a month. Today we've noticed that Hudson was not able to generate builds. The problem was that we have no more space on disk, because we had a jetty log file from one day ago with 34 Gb of data.

This file contains a lot of messages about DNS, like below:

21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.constants.DNSRecordType typeForIndex
GRAVE: Could not find record type for index: 120
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming readQuestion
GRAVE: Could not find record type: dns[query,10.10.2.53:5353, length=296, id=0x0, flags=0x6544:aa]
   0: 6963654465736372 3d32342d706f7274 2031302f3130302f 3130303020457468     iceDescr =24-port .10/100/ 1000.Eth
  20: 65726e6574205377 69746368c02b0021 000100000078001a 00000000a5500c53     ernet.Sw itch.+.! .....x.. .....P.S
  40: 7769746368313832 396261056c6f6361 6c00c02b00100001 0000007800bc0d6d     witch182 9ba.loca l..+.... ...x...m
  60: 6f64656c3d534745 3230303015736572 69616c4e6f3d374e 3430304843303033     odel=SGE 2000.ser ialNo=7N 400HC003
  80: 3137126877766572 73696f6e3d30302e 30302e303112666d 56657273696f6e3d     17.hwver sion=00. 00.01.fm Version=
  a0: 332e302e302e3137 0d69667665727369 6f6e3d312e30174d 4143416464726573     3.0.0.17 .ifversi on=1.0.M ACAddres
  c0: 733d303032323662 3138323962611164 6576696365547970 653d537769746368     s=00226b 1829ba.d eviceTyp e=Switch
  e0: 09686f73746e616d 653d2f6465766963 6544657363723d32 342d706f72742031     .hostnam e=/devic eDescr=2 4-port.1
 100: 302f3130302f3130 3030204574686572 6e65742053776974 6368c02b00210001     0/100/10 00.Ether net.Swit ch.+.!..
 120: 00000078001a0000                                                        ...x....

21/09/2011 07:34:30 javax.jmdns.impl.constants.DNSRecordClass classForIndex
AVISO: Could not find record class for index: 26

We've copied the log file to another place, removed it from our server to free space, and have noticed the actual log file being filed with these kind of messages again. Also, we've noticed that jetty is using the following ports (netstat result):

tcp6       0      0 :::8080                 :::*                    LISTEN       1598/java       
tcp6       0      0 :::55224                :::*                    LISTEN       1598/java       
udp6       0      0 :::33848                :::*                                1598/java       
udp6       0      0 :::5353                 :::*                                1598/java

Does anyone knows why jetty is using the ports different from 8080, and from where does come these DNS messages? We have installed on it only hudson.

Alexandre
  • 205
  • 4
  • 9
  • I'm having a similar problem on Tomcat 6 and 7 with the latest Hudson. Did you ever solve your issue...? – fatboab Nov 15 '11 at 10:17

2 Answers2

4

I won't have the final word on this, but I just had the same problem while running Jenkins (it contains Hudson).

Hudson uses Jmdns to implement a service discovery on the local network (via broadcast). I believe Hudson panics when something not from its planet answers. I don't know how to make it happy about it, but, in my case, I disabled that feature. With Jenkins, it goes this way:

java -Dhudson.DNSMultiCast.disabled=true -jar path/to/jenkins.war
viphe
  • 141
  • 2
2

You can disable the logging of these DNS errors by adjusting the logging settings within Jenkins.

From the Jenkins web interface go to:

Manage Jenkins -> System Log -> Log Levels (on the left)

Add the following entry:

Name: javax.jmdns

Level: off

This way you can keep the Multicast DNS feature but without all the logging data.

Neil P
  • 121
  • 1