Bug 1012176

Summary: Exception in Gtk# callback delegate
Product: [Fedora] Fedora Reporter: Eric Christensen <sparks>
Component: bansheeAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: chkr, kalevlember, nathaniel, tcallawa
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: banshee-2.6.2-2.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-01 23:29:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Upstream patch. none

Description Eric Christensen 2013-09-25 22:14:08 UTC
Description of problem:
When starting banshee the program locks up and stops responding.  I ran it from the command line and captured an exception the program threw.

Version-Release number of selected component (if applicable): 2.6.1-1.fc19


How reproducible:
Always

Steps to Reproduce:
1. Start banshee
2. Watch it become unresponsive.
3. See exception.

Actual results:
$ banshee 
[Info  17:59:58.280] Running Banshee 2.6.1: [Fedora19-2.6.1-1.fc19 (linux-gnu, x86_64) @ 2013-04-17 02:04:33 UTC]

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkComponent) to class (__gtksharp_47_Hyena_Gui_BaseWidgetAccessible) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkTable) to class (__gtksharp_48_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_TrackInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkSelection) to class (__gtksharp_48_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_TrackInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkTable) to class (__gtksharp_54_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_Database_QueryFilterInfo+601+5b+5bSystem_String+2c+20mscorlib+2c+20Version+3d2_0_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3db77a5c561934e089+5d+5d+2c+20Banshee_Services+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkSelection) to class (__gtksharp_54_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_Database_QueryFilterInfo+601+5b+5bSystem_String+2c+20mscorlib+2c+20Version+3d2_0_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3db77a5c561934e089+5d+5d+2c+20Banshee_Services+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkTable) to class (__gtksharp_60_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_ArtistInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkSelection) to class (__gtksharp_60_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_ArtistInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkTable) to class (__gtksharp_66_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_YearInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkSelection) to class (__gtksharp_66_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_YearInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkTable) to class (__gtksharp_72_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_AlbumInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init

(Banshee:12347): GLib-GObject-WARNING **: attempting to add an interface (AtkSelection) to class (__gtksharp_72_Hyena_Data_Gui_Accessibility_ListViewAccessible+601+5b+5bBanshee_Collection_AlbumInfo+2c+20Banshee_Core+2c+20Version+3d2_6_0_0+2c+20Culture+3dneutral+2c+20PublicKeyToken+3dnull+5d+5d) after class_init
[Info  17:59:59.086] Updating web proxy from GConf
[Info  17:59:59.223] All services are started 0.76865
[Info  17:59:59.587] AmazonMP3 store redirect URL: http://integrated-services.banshee.fm/amz/redirect.do/
[Info  17:59:59.954] nereid Client Started
[Info  17:59:59.994] GStreamer version 1.0.6.0, gapless: True, replaygain: False
Marshaling mount-added signal
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Banshee.Hardware.Gio.UdevMetadataSource.get_IdMediaDevice () [0x00000] in <filename unknown>:0 
  at Banshee.Hardware.Gio.RawVolume.get_IdMediaPlayer () [0x00000] in <filename unknown>:0 
  at Banshee.Hardware.Gio.RawDevice..ctor (Banshee.Hardware.Gio.Manager manager, Banshee.Hardware.Gio.GioMetadataSource gioMetadata, Banshee.Hardware.Gio.UdevMetadataSource udevMetadata) [0x00000] in <filename unknown>:0 
  at Banshee.Hardware.Gio.RawVolume..ctor (Volume volume, Banshee.Hardware.Gio.Manager manager, Banshee.Hardware.Gio.GioVolumeMetadataSource gioMetadata, Banshee.Hardware.Gio.UdevMetadataSource udevMetadata) [0x00000] in <filename unknown>:0 
  at Banshee.Hardware.Gio.Manager.HandleMonitorMountAdded (System.Object o, GLib.MountAddedArgs args) [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 GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in <filename unknown>:0 
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data)
   at Gtk.Application.gtk_main()
   at Gtk.Application.Run()
   at Banshee.Gui.GtkBaseClient.Run()
   at Banshee.Gui.GtkBaseClient.Startup()
   at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup)
   at Banshee.Gui.GtkBaseClient.Startup()
   at Banshee.Gui.GtkBaseClient.Startup(System.String[] args)
   at Nereid.Client.Main(System.String[] args)
   at System.AppDomain.ExecuteAssembly(System.AppDomain , System.Reflection.Assembly , System.String[] )
   at System.AppDomain.ExecuteAssemblyInternal(System.Reflection.Assembly a, System.String[] args)
   at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args)
   at System.AppDomain.ExecuteAssembly(System.String assemblyFile)
   at Booter.Booter.BootClient(System.String clientName)
   at Booter.Booter.Main()

Expected results:
Banshee just works.

Additional info:

Comment 1 Kalev Lember 2013-10-05 12:39:55 UTC
Hi Eric,

Could you please file this upstream as well, at https://bugzilla.gnome.org/enter_bug.cgi?product=banshee ? We don't really have anyone fixing issues with Banshee code at Fedora and you'd get more feedback at upstream.

Thanks, and sorry for the inconvenience.

Comment 2 Eric Christensen 2014-03-12 03:43:06 UTC
External bug filed.

Comment 3 Eric Christensen 2014-05-21 00:50:30 UTC
Created attachment 897765 [details]
Upstream patch.

This is the patch from upstream.  I've tested the fix and I'm not able to reproduce the original problem (although it was intermitted at worst).

Upstream says this fix should be shipped in the next release but I'm hoping we can go ahead and include it as a patch temporarily until the fix is offically shipped.

Comment 4 Kalev Lember 2014-05-21 20:03:12 UTC
Looks good to me, thanks. I've pushed this and builds are underway.

Comment 5 Fedora Update System 2014-05-21 20:26:28 UTC
banshee-2.6.2-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/banshee-2.6.2-2.fc20

Comment 6 Fedora Update System 2014-05-23 18:57:51 UTC
Package banshee-2.6.2-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing banshee-2.6.2-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-6621/banshee-2.6.2-2.fc20
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2014-07-01 23:29:41 UTC
banshee-2.6.2-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.