After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 652161 - Banshee dies when DAAP share disappears
Banshee dies when DAAP share disappears
Status: RESOLVED DUPLICATE of bug 662309
Product: banshee
Classification: Other
Component: DAAP
unspecified
Other Linux
: Normal normal
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-06-09 05:52 UTC by Travis Glenn Hansen
Modified: 2011-11-14 19:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Attaching patch for good measure (6.09 KB, patch)
2011-11-13 21:11 UTC, Travis Glenn Hansen
none Details | Review

Description Travis Glenn Hansen 2011-06-09 05:52:48 UTC
This has been a long-standing issue for me.  I can successfully reproduce this everytime by simply restart mt-daapd on my local server broadcasting itself via avahi.  This has been especially painful on public networks such as coffee shops, campus, etc

Error:


thansen@15z ~ $ banshee 
[Info  17:49:06.483] Running Banshee 2.0.0: [Gentoo/banshee/2.0.0 (linux-gnu, x86_64) @ 2011-06-04 16:49:11 MDT]
[Info  17:49:07.266] Updating web proxy from GConf
[Info  17:49:07.276] All services are started 0.637041
[Info  17:49:08.553] nereid Client Started
[Info  17:49:08.613] GStreamer version 0.10.32.0, gapless: True, replaygain: False
[Info  17:50:07.720] Uncached artwork size 34 requested

Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
  at System.Collections.Generic.Dictionary`2[NDesk.DBus.MatchRule,System.Delegate].get_Item (NDesk.DBus.MatchRule key) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.BusObject.ToggleSignal (System.String iface, System.String member, System.Delegate dlg, Boolean adding) [0x00000] in <filename unknown>:0 
  at IAvahiServiceResolverProxy.remove_Failure (Mono.Zeroconf.Providers.AvahiDBus.ServiceResolverErrorHandler ) [0x00000] in <filename unknown>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.BrowseService.DisposeResolver () [0x00000] in <filename unknown>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.BrowseService.Dispose () [0x00000] in <filename unknown>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.ServiceBrowser.OnItemRemove (Int32 interface, Protocol protocol, System.String name, System.String type, System.String domain, LookupResultFlags flags) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.Connection.HandleSignal (NDesk.DBus.Message msg) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.Connection.DispatchSignals () [0x00000] in <filename unknown>:0 
  at NDesk.DBus.PendingCall.get_Reply () [0x00000] in <filename unknown>:0 
  at NDesk.DBus.Connection.SendWithReplyAndBlock (NDesk.DBus.Message msg) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.BusObject.SendMethodCall (System.String iface, System.String member, System.String inSigStr, NDesk.DBus.MessageWriter writer, System.Type retType, System.Exception& exception) [0x00000] in <filename unknown>:0 
  at IBusProxy.RemoveMatch (System.String ) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.Bus.RemoveMatch (System.String rule) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.BusObject.ToggleSignal (System.String iface, System.String member, System.Delegate dlg, Boolean adding) [0x00000] in <filename unknown>:0 
  at IAvahiServiceResolverProxy.remove_Found (Mono.Zeroconf.Providers.AvahiDBus.ServiceResolverFoundHandler ) [0x00000] in <filename unknown>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.BrowseService.DisposeResolver () [0x00000] in <filename unknown>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.BrowseService.Dispose () [0x00000] in <filename unknown>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.ServiceBrowser.OnItemRemove (Int32 interface, Protocol protocol, System.String name, System.String type, System.String domain, LookupResultFlags flags) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.Connection.HandleSignal (NDesk.DBus.Message msg) [0x00000] in <filename unknown>:0 
  at NDesk.DBus.Connection.DispatchSignals () [0x00000] in <filename unknown>:0 
  at NDesk.DBus.Connection.Iterate () [0x00000] in <filename unknown>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.DBusManager.IterateThread (System.Object o) [0x00000] in <filename unknown>:0
Comment 1 Bertrand Lorentz 2011-11-13 10:40:19 UTC
This looks similar to bug #662309, which is in fact a bug in Mono.Zeroconf.

The fix for that is at https://github.com/mono/Mono.Zeroconf/pull/6

Could you try to apply that fix at see if it solves your issue ?
Comment 2 Travis Glenn Hansen 2011-11-13 21:10:50 UTC
Applying the patch to mono-zeroconf has resolved the crash.

Now that this issue is fixed, I've noticed that upon restarting (after a full stop and waiting some period of vs. simply restarting the service) the mt-daapd server does not make the item re-appear in the list.  I don't if this is a regression or simply never worked, but the crash is fixed.

Thanks!
Comment 3 Travis Glenn Hansen 2011-11-13 21:11:57 UTC
Created attachment 201330 [details] [review]
Attaching patch for good measure

This is the patch applied to mono-zeroconf-0.9.0 to resolve the crash.
Comment 4 Bertrand Lorentz 2011-11-14 19:06:15 UTC
Thanks for trying the patch.

So I'm marking this bug as a duplicate.

As for the share not re-appearing, please check whether this issue has already been filed, and if not, please file a new bug.

*** This bug has been marked as a duplicate of bug 662309 ***