# Galleon 2.5.6 problem with JmDNS?



## lcmsilek (Mar 2, 2011)

Starting recently, with both Galleon 2.5.5 and galleon 2.5.6 (via cvs) I am seeing the JmDNS thread die on the DNS$Responder run. I also see the Galeon server disappear from the playlist.

Is anyone else seeing this problem?

Information below:

Host is: Fedora release 12 (Constantine)
Running: /usr/lib/jvm/jre-1.6.0-openjdk/bin/java (java-1.6.0-openjdk-1.6.0.0-43.1.8.3.fc12.i686)

Host is multihomed, one interface on 10.3.0.0/24 which is connected to a openwrt wireless router, two tivos connecting via wireless.

IPV6 is off, no iptables.

When I first restart galleon, everything is fine, but usually within minutes, I get the error.

I have tried disabling all other mdns applications (confirmed nothing else running via /usr/sbin/lsof -i :5353) and did not help it.

The problem started in the last 2-3 weeks, and I have yum auto update enabled, and have rebooted several times (thanks powerfailures and dead UPS).

Specific error from wrapper.log:

INFO | jvm 1 | 2011/03/02 22:18:03 | Mar 2, 2011 10:18:03 PM javax.jmdns.JmDNS$Responder run
INFO | jvm 1 | 2011/03/02 22:18:03 | WARNING: run() exception 
INFO | jvm 1 | 2011/03/02 22:18:03 | java.io.IOException: Operation not permitted
INFO | jvm 1 | 2011/03/02 22:18:03 | at java.net.PlainDatagramSocketImpl.send(Native Method)
INFO | jvm 1 | 2011/03/02 22:18:03 | at java.net.DatagramSocket.send(Unknown Source)
INFO | jvm 1 | 2011/03/02 22:18:03 | at javax.jmdns.JmDNS.send(JmDNS.java:1094)
INFO | jvm 1 | 2011/03/02 22:18:03 | at javax.jmdns.JmDNS.access$1500(JmDNS.java:25)
INFO | jvm 1 | 2011/03/02 22:18:03 | at javax.jmdns.JmDNS$Responder.run(JmDNS.java:1915)
INFO | jvm 1 | 2011/03/02 22:18:03 | at java.util.TimerThread.mainLoop(Unknown Source)
INFO | jvm 1 | 2011/03/02 22:18:03 | at java.util.TimerThread.run(Unknown Source)


----------



## windracer (Jan 3, 2003)

Not positive, but in a recent thread lrhorer suspected an update to the avahi libraries resolved his issue with jmDNS.

When Galleon disappears from your TiVos, can you still "see" the TiVos from Galleon (i.e., from the Recordings tab)?


----------



## lcmsilek (Mar 2, 2011)

I'll check that thread, thanks.

Galleon still is able to download videos and works ok. From what I can see it is just the Tivo's not seeing galleon, not the other way around.


----------



## windracer (Jan 3, 2003)

I guess that makes sense, if jmDNS is crashing for whatever reason. Not sure exactly what would cause that though. You could try enabling debug output in Galleon and see if anything else gets written to the log.


----------



## lcmsilek (Mar 2, 2011)

I updated from fedora 12 to fedora 14, fully as up to date as I can make it.

I always run galleon in debug mode, nothing in the logs anywhere near the time the wrapper.log has the exception.

That said, the symptoms have changed: Now Playing retains galleon, but I am now losing the MP3/Jukebox/Movies stuff from the tivos. (no idea why it seems to have reversed what it was doing before).

I am running tcpdump, and right after reboot of galleon I see the mdns:

20:15:34.643998 IP trantortivo.mdns > 224.0.0.251.mdns: 0 [1n] ANY (QM)? Jukebox._tivo-hme._tcp.local. (83)
20:15:34.894259 IP trantortivo.mdns > 224.0.0.251.mdns: 0 [1n] ANY (QM)? Jukebox._tivo-hme._tcp.local. (83)
20:15:35.143623 IP trantortivo.mdns > 224.0.0.251.mdns: 0 [1n] ANY (QM)? Jukebox._tivo-hme._tcp.local. (83)
20:15:36.144090 IP trantortivo.mdns > 224.0.0.251.mdns: 0*- [0q] 3/0/0 PTR Jukebox._tivo-hme._tcp.local., SRV trantortivo.local.:7288 0 0, TXT "version=0.41" "path=/Jukebox/" (146)
20:15:37.144283 IP trantortivo.mdns > 224.0.0.251.mdns: 0*- [0q] 3/0/0 PTR Jukebox._tivo-hme._tcp.local., SRV trantortivo.local.:7288 0 0, TXT "version=0.41" "path=/Jukebox/" (146)

I then see a response from my older tivo:

20:17:59.155542 IP upstairs.i.mcabee.org.mdns > 224.0.0.251.mdns: 0 [9a] [12q] SRV (QM)? Movies._tivo-hme._tcp.local. TXT (QM)? Movies._tivo-hme._tcp.local. A (QM)? trantortivo.local. SRV (QM)? ToGo._tivo-hme._tcp.local. TXT (QM)? ToGo._tivo-hme._tcp.local. A (QM)? trantortivo.local. SRV (QM)? mcabee-mp3._tivo-hme._tcp.local. TXT (QM)? mcabee-mp3._tivo-hme._tcp.local. A (QM)? trantortivo.local. SRV (QM)? Jukebox._tivo-hme._tcp.local. TXT (QM)? Jukebox._tivo-hme._tcp.local. A (QM)? trantortivo.local. (400)

The java exception looks the same:

INFO | jvm 1 | 2011/03/06 20:24:03 | Mar 6, 2011 8:24:03 PM javax.jmdns.JmDNS$Responder run
INFO | jvm 1 | 2011/03/06 20:24:03 | WARNING: run() exception 
INFO | jvm 1 | 2011/03/06 20:24:03 | java.io.IOException: Operation not permitted
..
..

I then see my older tivo again rebroadcast the cache it looks like:

20:35:04.996969 IP upstairs.i.mcabee.org.mdns > 224.0.0.251.mdns: 0 [9a] [12q] SRV (QM)? Movies._tivo-hme._tcp.local. TXT (QM)? Movies._tivo-hme._tcp.local. A (QM)? trantortivo.local. SRV (QM)? ToGo._tivo-hme._tcp.local. TXT (QM)? ToGo._tivo-hme._tcp.local. A (QM)? trantortivo.local. SRV (QM)? mcabee-mp3._tivo-hme._tcp.local. TXT (QM)? mcabee-mp3._tivo-hme._tcp.local. A (QM)? trantortivo.local. SRV (QM)? Jukebox._tivo-hme._tcp.local. TXT (QM)? Jukebox._tivo-hme._tcp.local. A (QM)? trantortivo.local. (400)

That is the last I see anything involving an mdns entry from galleon in the tcpdump at all (it is now 2057). The last cache like entry from a tivo I see looks like:

20:55:08.112592 IP livingroom.i.mcabee.org.mdns > 224.0.0.251.mdns: 0 [5a] [17q] PTR (QM)? _tivo-videos._tcp.local. PTR (QM)? _tivo-music._tcp.local. PTR (QM)? _tivo_servemedia._tcp.local. PTR (QM)? _tivo-photos._tcp.local. PTR (QM)? _tivo_hme._tcp.local. PTR (QM)? _tivo_music._tcp.local. PTR (QM)? _tivo_photos._tcp.local. PTR (QM)? _tivo-hme._tcp.local. SRV (QM)? trantor.i.mcabee.org._tivo-videos._tcp.local. TXT (QM)? trantor.i.mcabee.org._tivo-videos._tcp.local. AAAA (QM)? trantortivo.local. AAAA (QM)? DVR-64DB.local. AAAA (QM)? DVR-8796.local. AAAA (QM)? trantortivo.local. AAAA (QM)? trantortivo.local. AAAA (QM)? trantortivo.local. AAAA (QM)? trantortivo.local. (486)

I am vaguely thinking about putting in a static avahi services entry is a work around for jmdns crashing.


----------



## lcmsilek (Mar 2, 2011)

Just a thought, but does anyone know what will happen when a IPV6 chatty device (apple ipad) starts talking mdns on a network with galleon?

I see:

21:21:22.184944 IP6 fe80::ea06:88ff:fe8b:ca1c.mdns > ff02::fb.mdns: 0 [2q] [2n] ANY (QU)? McAbees-iPad.local. ANY (QU)? McAbees-iPad.local. (86)
1:21:22.932422 IP 10.3.0.108.mdns > 224.0.0.251.mdns: 0*- [0q] 2/0/1 (Cache flush) AAAA fe80::ea06:88ff:fe8b:ca1c, (Cache flush) A 10.3.0.108 (94)
..
...
and then around 2-3 minutes later I get:

INFO | jvm 1 | 2011/03/06 21:23:05 | Mar 6, 2011 9:23:05 PM javax.jmdns.JmDNS$Responder run
INFO | jvm 1 | 2011/03/06 21:23:05 | WARNING: run() exception
INFO | jvm 1 | 2011/03/06 21:23:05 | java.io.IOException: Operation not permitted

The specific tcpdump for the minute above (with the messages directly proceeding):

21:21:53.189221 IP6 fe80::ea06:88ff:fe8b:ca1c.mdns > ff02::fb.mdns: 0*- [0q] 4/0/1 (Cache flush) AAAA fe80::ea06:88ff:fe8b:ca1c, (Cache flush) PTR McAbees-iPad.local., (Cache flush) A 10.3.0.108, (Cache flush) PTR McAbees-iPad.local. (213)
21:22:25.181662 IP 10.3.0.108.mdns > 224.0.0.251.mdns: 0*- [0q] 4/0/1 (Cache flush) AAAA fe80::ea06:88ff:fe8b:ca1c, (Cache flush) PTR McAbees-iPad.local., (Cache flush) A 10.3.0.108, (Cache flush) PTR McAbees-iPad.local. (213)
21:23:05.665257 IP trantortivo.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 A 10.3.0.130 (45)
21:23:05.666763 IP trantortivo.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 A 10.3.0.130 (45)
21:23:05.771642 IP upstairs.i.mcabee.org.mdns > 224.0.0.251.mdns: 0*- [0q] 3/0/0 (Cache flush) A 10.3.0.224, (Cache flush) SRV DVR-8796.local.:443 0 0, (Cache flush) TXT "protocol=https" "path=/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying" "swversion=9.3.2b-01-2-649" "platform=tcd/Series2" "TSN=XXXXXXXX" (248)
21:23:05.951438 IP livingroom.i.mcabee.org.mdns > 224.0.0.251.mdns: 0*- [0q] 3/0/0 (Cache flush) A 10.3.0.223, (Cache flush) SRV DVR-64DB.local.:443 0 0, (Cache flush) TXT "protocol=https" "path=/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying" "swversion=11.0k-01-2-652" "platform=tcd/Series3" "TSN=XXXXXX" (249)

For now I have moved the Ipad to another network, and turned off AAAA publishing on avahi, so hopefully I have removed any and all IPV6/IPV6DNS messages on this network...


----------



## windracer (Jan 3, 2003)

I have an iPad on my network (with Galleon) but have not noticed any issues like this. I'm not using IPv6 though, and in fact have it disabled on my Ubuntu server where Galleon is running.


----------



## lcmsilek (Mar 2, 2011)

I have ipv6 disabled on the host to. I had the problem again last night with the same errors:

INFO | jvm 1 | 2011/03/06 21:55:56 | WARNING: run() exception 
INFO | jvm 1 | 2011/03/06 21:55:56 | java.io.IOException: Operation not permitted

21:55:56.022111 IP livingroom.i.mcabee.org.mdns > 224.0.0.251.mdns: 0 [5q] SRV (QM)? livingroom._tivo-videos._tcp.local. TXT (QM)? livingroom._tivo-videos._tcp.local. SRV (QM)? upstairs._tivo-videos._tcp.local. TXT (QM)? upstairs._tivo-videos._tcp.local. A (QM)? DVR-8796.local. (94)
21:55:56.023297 IP trantortivo.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 A 10.3.0.130 (45)
21:55:56.023356 IP trantortivo.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 A 10.3.0.130 (45)
21:55:56.024339 IP livingroom.i.mcabee.org.filenet-rpc > trantortivo.mdns: 0 [5q] SRV (QM)? livingroom._tivo-videos._tcp.local. TXT (QM)? livingroom._tivo-videos._tcp.local. SRV (QM)? upstairs._tivo-videos._tcp.local. TXT (QM)? upstairs._tivo-videos._tcp.local. A (QM)? DVR-8796.local. (94)
21:55:56.132457 IP livingroom.i.mcabee.org.mdns > 224.0.0.251.mdns: 0*- [0q] 2/0/1 (Cache flush) SRV DVR-64DB.local.:443 0 0, (Cache flush) TXT "protocol=https" "path=/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying" "swversion=11.0k-01-2-652" "platform=tcd/Series3" "TSN=XXX" (249)
21:56:05.413721 IP livingroom.i.mcabee.org.mdns > 224.0.0.251.mdns: 0 [3q] SRV (QM)? upstairs._tivo-videos._tcp.local. TXT (QM)? upstairs._tivo-videos._tcp.local. A (QM)? DVR-8796.local. (71)

INFO | jvm 1 | 2011/03/06 22:43:48 | Mar 6, 2011 10:43:48 PM javax.jmdns.JmDNS$Responder run
INFO | jvm 1 | 2011/03/06 22:43:48 | WARNING: run() exception 
INFO | jvm 1 | 2011/03/06 22:43:48 | java.io.IOException: Operation not permitted

22:43:48.656295 IP upstairs.i.mcabee.org.mdns > 224.0.0.251.mdns: 0 [3q] SRV (QM)? upstairs._tivo-videos._tcp.local. TXT (QM)? upstairs._tivo-videos._tcp.local. A (QM)? DVR-8796.local. (71)
22:43:48.657336 IP trantortivo.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 A 10.3.0.130 (45)

So, ignore my last post.


----------

