[Mono-bugs] [Bug 430732] v0.8.0 : bug in resolve() or serviceremoved() functions

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon May 4 09:25:01 EDT 2009


User daniel.phillips at gmail.com added comment

Daniel Phillips <daniel.phillips at gmail.com> changed:

           What    |Removed                     |Added
                 CC|                            |daniel.phillips at gmail.com

--- Comment #3 from Daniel Phillips <daniel.phillips at gmail.com>  2009-05-04 07:25:00 MDT ---
I'm experiencing the same issue with the latest source from the trunk as well. 
After some investigation, I've found the following:

* When OnServiceAdded() is executed and resolve_shares is true, the call to
args.Service.Resolve() never returns.  This is in ZeroConfClient.cs.

* After tracing down through the code, it appears that the call to Resolve()
blocks forever in Mono.Zeroconf.Providers.Bonjour\BrowseService.cs
OnResolveReply().  If AddressProtocol is set to AddressProtocol.Any, then
DNSServiceQueryRecord() is called for both an IPv4 and IPv6 query.  When
sd_ref.Process() is executed for the IPv6 query, it never executes any
callback, hence never deallocs its ServiceRef, and therefore never returns.

I don't think I have IPv6 support on my machine (I'm not sure how I would
confirm this), but I have found that starting the test client with "-a IPv4"
makes everything work fine.  So, for the time being, I should be able to work
around this just by always using AddressProtocol.IPv4.  However, it would be
good if the call to Resolve() didn't block when there was no IPv6 address for a

I'm running XPx64 SP2 on my machine (if that helps?)

Please let me know if you need any more information.


Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list