toh-ableton / toolwhip

Automatically exported from code.google.com/p/toolwhip
2 stars 0 forks source link

Crashes with two Avahi threads #3

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Currently, distccd runs two Avahi threads when configured with Avahi for 
zeroconf support, when configured with --enable-xcode-integration, and 
when run in --zeroconf mode.  One Avahi thread is for "normal" distcc 
zeroconf, and the other is for Xcode-style distcc zeroconf.

When both Avahi threads are running, distccd will crash.  Generally, the 
crashes occur when attempting to free a bad pointer.  The stacks implicate 
either Avahi or DBus, an Avahi dependency.  Disabling one Avahi thread 
(the "normal" distccd zeroconf registration) eliminates the crashes, so it 
appears likely that there's some sort of global state that is not intended to 
be shared between two Avahi threads.

I experienced similar problems when adding xci_zeroconf: when using 
Avahi, stopping both threads generally caused crashes.  I removed the 
code to stop the xci_zeroconf Avahi thread because of this, and because in 
normal operation, it wouldn't be hit anyway.

To resolve this problem properly, we should only run a single Avahi thread 
to register both types of zeroconf advertisements.

Original issue reported on code.google.com by mark@chromium.org on 13 Jul 2009 at 6:53

GoogleCodeExporter commented 9 years ago
To avoid the crash, non-Xcode zeroconf has been temporarily disabled.

http://codereview.chromium.org/155862
http://code.google.com/p/toolwhip/source/detail?r=169

Original comment by mark@chromium.org on 21 Jul 2009 at 6:11