Export to GitHub

distcc - issue #34

Zeroconf fails if avahi supports IPv6


Posted on Jan 13, 2009 by Massive Giraffe

I am running distcc 3.0 i686-pc-linux-gnu on a gentoo system with GCC 4.1.2. On any compile, or running 'distcc --show-hosts' I get an "ERROR: invalid tcp port specification in "<ipv6 address here>""

Because of this, distcc fails to work with zeroconf on my network (or any network where zeroconf reports IPv6 adresses).

The best solution is to either fix the address parsing so that zeroconf's IPv6 addresses parse correctly, or to force avahi to give only IPv4 addresses.

Comment #1

Posted on Jan 13, 2009 by Helpful Panda

Thanks for the bug report. A patch would be even nicer!

Comment #2

Posted on Jan 14, 2009 by Massive Giraffe

I'm working on one, but figured I'd submit a bug-report just in case it's been fixed already.

Comment #3

Posted on Jan 14, 2009 by Helpful Panda

Sure, good idea. There's no fix yet, as far as I know..

May be worth looping in Lennart Poettering, the original author of avahi support in distcc.

Comment #4

Posted on Jan 14, 2009 by Helpful Panda

Sure, good idea. There's no fix yet, as far as I know..

May be worth looping in Lennart Poettering, the original author of avahi support in distcc.

Comment #5

Posted on Jan 17, 2009 by Massive Giraffe

I've fixed the problem by adding IPv6 literal host support to the TCP host parser and making the zeroconf host file writer handle IPv6 Hosts properly. I also update the requisite parts of the distcc manpage.

Known/suspected remaining bugs: * If avahi returns the same host on both IPv4 and IPv6, it will be entered into the host list twice. * This patch doesn't pay attention to the IPv6 configure flags, so there may be problems there that usually won't be encountered when a user without IPv6 support tries to use an IPv6 literal in his host file.

Attachments

Comment #6

Posted on Jan 21, 2009 by Helpful Panda

The patch looks good to me.

I've added you as a member of the distcc project on code.google.com, so you can go ahead and commit it into the repository, if you want.

Comment #7

Posted on Jan 22, 2009 by Massive Giraffe

Committed patch to SVN

Comment #8

Posted on Jan 31, 2009 by Helpful Panda

Can we mark this one as fixed now?

Comment #9

Posted on Feb 1, 2009 by Massive Giraffe

Probably, though I think I may have missed some configure flags. But it's fixed the bugged problem.

Comment #10

Posted on Apr 7, 2009 by Happy Hippo

As a followup to the 'known/suspected bugs' (sorry, wasn't sure whether I should open a new issue), the attached patch removes hosts that have duplicate service names.

So, e.g. my laptop that has both IPv4 and IPv6 addresses on both its wired and wireless interfaces, instead of showing up four times, only shows up once.

Attachments

Comment #11

Posted on Oct 3, 2010 by Happy Elephant

The deduplication patch needs more work, it should basically concatenate all ips reported for a host and then select one based on if it can actually reach it (route, ipv6 vs ipv4 etc)

While this might add support for avahi ipv6, but what about the "allow" masks? How can you compile when --allow is mandatory?

Ie i can see my hosts but i can't connect to them due to acl rules?

Or have i missed a patch?

Comment #12

Posted on Oct 23, 2010 by Massive Horse

This aint fixed... not in Debian anyway.

Comment #13

Posted on Nov 5, 2010 by Helpful Cat

Indeed it is not. Very annoying bug.

Comment #14

Posted on Jul 17, 2011 by Quick Panda

As Comment 13 in Issue 42 points out, this bug was fixed in revision 650 and revision 673 but for some reason got left out of the 3.1 release. It is also missing from the current trunk. Perhaps someone did a poor job merging branches at some point and accidentally wiped out the fix?

In any case, since this issue is not getting any response here, I have submitted the patch that fixes this to Ubuntu. It is now available in oneiric as distcc_3.1-4ubuntu2:

https://bugs.launchpad.net/ubuntu/+source/distcc/+bug/809534/comments/3

Comment #15

Posted on Jul 28, 2011 by Helpful Panda

The bug was fixed after the release of distcc 3.1. The lack of a time machine prevented the fix from being included in the distcc 3.1 release :) The bug is fixed at head and will be included in the next release of distcc. The real problem here is that it's been a long time since the last release. Must be time to do a new release soon...

Comment #16

Posted on Oct 21, 2011 by Happy Hippo

Yes it would be good to release, as many people have problems with ipv6 and duplicates hosts...

Comment #17

Posted on May 3, 2012 by Massive Giraffe

I built from trunk, (after trying the build packages, which happen to not be built with zeroconf support) and while zeroconf now works some of the time, it still doesn't work all of the time (intermittent during a long compile with same parse error)

This problem is not fixed.

Comment #18

Posted on May 3, 2012 by Helpful Panda

The patch was applied to head some time ago. So if it is still not working reliably, another patch will be required. I suggest you open a new bug for the new issue, and if you have a fix for it please attach the patch to the new bug.

Comment #19

Posted on May 8, 2013 by Helpful Kangaroo

Issue 118 has been merged into this issue.

Status: Fixed

Labels:
Type-Defect Priority-Medium Usability