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 710266 - Warnings and CRITICALs shown in the console when closing the player after pausing a video
Warnings and CRITICALs shown in the console when closing the player after pau...
Status: VERIFIED FIXED
Product: banshee
Classification: Other
Component: general
git master
Other All
: Normal minor
: ---
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-10-16 12:25 UTC by Andrés G. Aragoneses (IRC: knocte)
Modified: 2013-10-21 20:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andrés G. Aragoneses (IRC: knocte) 2013-10-16 12:25:01 UTC
If I play a video and quit Banshee, I get this warning (NRE):

[1 Debug 13:14:20.079] Player state change: Paused -> Idle
[1 Debug 13:14:20.083] (libbanshee:player) bp_destroy: disposed player
[1 Debug 13:14:20.083] Service disposed (PlayerEngine)
[1 Warn  13:14:20.090] Service disposal (SourceManager) threw an exception - System.NullReferenceException: Object reference not set to an instance of an object (in `Banshee.Services')
  at Banshee.MediaEngine.PlayerEngineService.get_CurrentState () [0x00001] in ~/banshee261/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:676 
  at Banshee.MediaEngine.PlayerEngineService.IsPlaying () [0x00002] in ~/banshee261/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:568 
  at Banshee.PlaybackController.PlaybackControllerService.<PlaybackControllerService>m__55 (Banshee.Sources.SourceEventArgs ) [0x00033] in ~/banshee261/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:102 
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at Banshee.Sources.SourceManager.SetActiveSource (Banshee.Sources.Source source, Boolean notify) [0x00095] in ~/banshee261/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:413 
  at Banshee.Sources.SourceManager.SetActiveSource (Banshee.Sources.Source source) [0x00004] in ~/banshee261/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:385 
  at Banshee.Sources.SourceManager+<RemoveSource>c__AnonStorey33.<>m__6F () [0x0005b] in ~/banshee261/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:250 
  at Hyena.ThreadAssist.ProxyToMain (Hyena.InvokeHandler handler) [0x0001f] in ~/banshee261/src/Hyena/Hyena/Hyena/ThreadAssist.cs:103 
  at Banshee.Sources.SourceManager.RemoveSource (Banshee.Sources.Source source, Boolean recursivelyDispose) [0x00168] in ~/banshee261/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:245 
  at Banshee.Sources.SourceManager.Dispose () [0x00056] in ~/banshee261/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:105 
  at Banshee.ServiceStack.ServiceManager.Shutdown () [0x0002a] in ~/banshee261/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:297 


Now, if I fix that NRE with this:

@@ -671,11 +671,16 @@ namespace Banshee.MediaEngine
         string IPlayerEngineService.CurrentUri {
             get { return CurrentSafeUri == null ? String.Empty : CurrentSafeUri.AbsoluteUri; }
         }
 
         public PlayerState CurrentState {
-            get { return synthesized_contacting_track != null ? PlayerState.Contacting : active_engine.CurrentState; }
+            get { 
+                if (active_engine == null) {
+                    return PlayerState.NotReady;
+                }
+                return synthesized_contacting_track != null ? PlayerState.Contacting : active_engine.CurrentState;
+            }
         }
 
         string IPlayerEngineService.CurrentState {
             get { return CurrentState.ToString ().ToLower (); }
         }


Then I get this other, worse and bigger, GTK CRITICAL: 

[1 Debug 13:42:07.532] TrackInfoDisplay RenderAnimation: 32.00 FPS
[1 Debug 13:42:11.485] Player state change: Playing -> Paused
[1 Debug 13:42:14.042] Service disposed (LastfmStreamingService)
[1 Debug 13:42:14.042] Service disposed (GStreamerCoreService)
[1 Debug 13:42:14.043] Service disposed (GnomeService)
[1 Debug 13:42:14.045] Service disposed (AudioscrobblerService)
[1 Debug 13:42:14.048] Service disposed (NotificationAreaService)
[1 Debug 13:42:14.049] Service disposed (CoverArtService)
[1 Debug 13:42:14.056] Service disposed (DaapService)
[1 Debug 13:42:14.059] Service disposed (DapService)
[1 Debug 13:42:14.059] Service disposed (AmazonMp3DownloaderService)
[1 Debug 13:42:14.069] Service disposed (PodcastService)
[1 Debug 13:42:14.069] Service disposed (EmusicService)
[1 Debug 13:42:14.071] Service disposed (MultimediaKeysService)
[1 Debug 13:42:14.072] Service disposed (DvdService)
[1 Debug 13:42:14.072] Service disposed (AudioCdService)
[1 Debug 13:42:14.073] Service disposed (BpmService)
[1 Debug 13:42:14.076] Service disposed (NereidPlayerInterface)
[1 Debug 13:42:14.076] Service disposed (BookmarksService)
[1 Debug 13:42:14.076] Service disposed (CollectionIndexerService)
[1 Debug 13:42:14.077] Service disposed (HardwareManager)
[1 Debug 13:42:14.078] (libbanshee:player) bp_stop: setting state to GST_STATE_NULL
[1 Debug 13:42:14.116] Player state change: Paused -> Idle
[1 Debug 13:42:14.120] (libbanshee:player) bp_destroy: disposed player
[1 Debug 13:42:14.121] Service disposed (PlayerEngine)
Domain: 'Gtk' Level: Critical
Message: IA__gtk_widget_hide: assertion `GTK_IS_WIDGET (widget)' failed
Trace follows:
   at GLib.Log.PrintTraceLogFunction(System.String domain, LogLevelFlags level, System.String message)
   at Gtk.Widget.gtk_widget_hide(IntPtr )
   at Gtk.Widget.Hide()
   at Nereid.ViewContainer.set_Content(ISourceContents value)
   at Nereid.PlayerInterface.UpdateSourceContents(Banshee.Sources.Source source)
   at Nereid.PlayerInterface.<OnActiveSourceChanged>m__7()
   at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler)
   at Nereid.PlayerInterface.OnActiveSourceChanged(Banshee.Sources.SourceEventArgs args)
   at Banshee.Sources.SourceManager.SetActiveSource(Banshee.Sources.Source source, Boolean notify)
   at Banshee.Sources.SourceManager.SetActiveSource(Banshee.Sources.Source source)
   at Banshee.Sources.SourceManager+<RemoveSource>c__AnonStorey33.<>m__6F()
   at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler)
   at Banshee.Sources.SourceManager.RemoveSource(Banshee.Sources.Source source, Boolean recursivelyDispose)
   at Banshee.Sources.SourceManager.Dispose()
   at Banshee.ServiceStack.ServiceManager.Shutdown()
   at Banshee.ServiceStack.Application.Dispose()
   at Banshee.ServiceStack.Application.Shutdown()
   at Banshee.Gui.GlobalActions.OnQuit(System.Object o, System.EventArgs args)
   at System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod , System.Object , System.Object[] , System.Exception ByRef )
   at System.Reflection.MonoMethod.Invoke(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters)
   at System.Delegate.DynamicInvokeImpl(System.Object[] args)
   at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args)
   at System.Delegate.DynamicInvoke(System.Object[] args)
   at GLib.Signal.ClosureInvokedCB(System.Object o, GLib.ClosureInvokedArgs args)
   at GLib.SignalClosure.Invoke(GLib.ClosureInvokedArgs args)
   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)
Domain: 'Gtk' Level: Critical
Message: IA__gtk_container_remove: assertion `GTK_IS_WIDGET (widget)' failed
Trace follows:
   at GLib.Log.PrintTraceLogFunction(System.String domain, LogLevelFlags level, System.String message)
   at Gtk.Container.gtk_container_remove(IntPtr , IntPtr )
   at Gtk.Container.Remove(Gtk.Widget widget)
   at Nereid.ViewContainer.set_Content(ISourceContents value)
   at Nereid.PlayerInterface.UpdateSourceContents(Banshee.Sources.Source source)
   at Nereid.PlayerInterface.<OnActiveSourceChanged>m__7()
   at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler)
   at Nereid.PlayerInterface.OnActiveSourceChanged(Banshee.Sources.SourceEventArgs args)
   at Banshee.Sources.SourceManager.SetActiveSource(Banshee.Sources.Source source, Boolean notify)
   at Banshee.Sources.SourceManager.SetActiveSource(Banshee.Sources.Source source)
   at Banshee.Sources.SourceManager+<RemoveSource>c__AnonStorey33.<>m__6F()
   at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler)
   at Banshee.Sources.SourceManager.RemoveSource(Banshee.Sources.Source source, Boolean recursivelyDispose)
   at Banshee.Sources.SourceManager.Dispose()
   at Banshee.ServiceStack.ServiceManager.Shutdown()
   at Banshee.ServiceStack.Application.Dispose()
   at Banshee.ServiceStack.Application.Shutdown()
   at Banshee.Gui.GlobalActions.OnQuit(System.Object o, System.EventArgs args)
   at System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod , System.Object , System.Object[] , System.Exception ByRef )
   at System.Reflection.MonoMethod.Invoke(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters)
   at System.Delegate.DynamicInvokeImpl(System.Object[] args)
   at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args)
   at System.Delegate.DynamicInvoke(System.Object[] args)
   at GLib.Signal.ClosureInvokedCB(System.Object o, GLib.ClosureInvokedArgs args)
   at GLib.SignalClosure.Invoke(GLib.ClosureInvokedArgs args)
   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)
[1 Debug 13:42:14.164] Service disposed (SourceManager)
[1 Debug 13:42:14.164] Service disposed (Network)
[1 Debug 13:42:14.167] Service disposed (DbConnection)
Comment 2 Andrés G. Aragoneses (IRC: knocte) 2013-10-21 20:13:23 UTC
I got another one:

[1 Debug 21:20:35.890] Service disposed (PlayerEngine)
Domain: 'Gtk' Level: Critical
Message: gtk_action_group_get_action: assertion `GTK_IS_ACTION_GROUP (action_group)' failed
Trace follows:
   at GLib.Log.PrintTraceLogFunction(System.String domain, LogLevelFlags level, System.String message)
   at GLib.Log.NativeCallback(IntPtr log_domain_native, LogLevelFlags flags, IntPtr message_native, IntPtr user_data)
   at Gtk.ActionGroup.gtk_action_group_get_action(IntPtr , IntPtr )
   at Gtk.ActionGroup.GetAction(System.String action_name)
   at Gtk.ActionGroup.get_Item(System.String name)
   at Banshee.PlayQueue.PlayQueueActions.OnPlaybackSourceChanged(System.Object sender, System.EventArgs e)
   at Banshee.PlaybackController.PlaybackControllerService.OnSourceChanged()
   at Banshee.PlaybackController.PlaybackControllerService.set_Source(ITrackModelSource value)
   at Banshee.PlaybackController.PlaybackControllerService.set_NextSource(ITrackModelSource value)
   at Banshee.PlaybackController.PlaybackControllerService.set_Source(ITrackModelSource value)
   at Banshee.PlaybackController.PlaybackControllerService.<PlaybackControllerService>m__34(Banshee.Sources.SourceEventArgs )
   at Banshee.Sources.SourceManager.SetActiveSource(Banshee.Sources.Source source, Boolean notify)
   at Banshee.Sources.SourceManager.SetActiveSource(Banshee.Sources.Source source)
   at Banshee.Sources.SourceManager+<RemoveSource>c__AnonStorey2A.<>m__4E()
   at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler)
   at Banshee.Sources.SourceManager.RemoveSource(Banshee.Sources.Source source, Boolean recursivelyDispose)
   at Banshee.Sources.SourceManager.Dispose()
   at Banshee.ServiceStack.ServiceManager.Shutdown()
   at Banshee.ServiceStack.Application.Dispose()
   at Banshee.ServiceStack.Application.Shutdown()
   at Banshee.Gui.GlobalActions.OnQuit(System.Object o, System.EventArgs args)
   at System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod , System.Object , System.Object[] , System.Exception ByRef )
   at System.Reflection.MonoMethod.Invoke(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters)
   at System.Delegate.DynamicInvokeImpl(System.Object[] args)
   at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args)
   at System.Delegate.DynamicInvoke(System.Object[] args)
   at GLib.Signal.ClosureInvokedCB(System.Object o, GLib.ClosureInvokedArgs args)
   at GLib.SignalClosure.Invoke(GLib.ClosureInvokedArgs args)
   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)
Comment 3 Andrés G. Aragoneses (IRC: knocte) 2013-10-21 20:34:23 UTC
And I fixed that last one here: https://git.gnome.org/browse/banshee/commit/?id=c721e23213cf305f445885ece56fc0b8c4b82279

Which was also causing this NRE labeled as a warning in the console:

[1 Warn  21:20:35.921] Service disposal (SourceManager) threw an exception - System.NullReferenceException: Object reference not set to an instance of an object (in `Banshee.PlayQueue')
  at Banshee.PlayQueue.PlayQueueActions.OnPlaybackSourceChanged (System.Object sender, System.EventArgs e) [0x0003e] in /home/knocte/Documents/Code/bansheePRISTINE/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs:141 
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_EventArgs (object,System.EventArgs)
  at Banshee.PlaybackController.PlaybackControllerService.OnSourceChanged () [0x00016] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:440 
  at Banshee.PlaybackController.PlaybackControllerService.set_Source (ITrackModelSource value) [0x00028] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:484 
  at Banshee.PlaybackController.PlaybackControllerService.set_NextSource (ITrackModelSource value) [0x00033] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:497 
  at Banshee.PlaybackController.PlaybackControllerService.set_Source (ITrackModelSource value) [0x00010] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:481 
  at Banshee.PlaybackController.PlaybackControllerService.<PlaybackControllerService>m__34 (Banshee.Sources.SourceEventArgs ) [0x00040] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:103 
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at (wrapper delegate-invoke) <Module>:invoke_void__this___SourceEventArgs (Banshee.Sources.SourceEventArgs)
  at Banshee.Sources.SourceManager.SetActiveSource (Banshee.Sources.Source source, Boolean notify) [0x00095] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:415 
  at Banshee.Sources.SourceManager.SetActiveSource (Banshee.Sources.Source source) [0x00004] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:387 
  at Banshee.Sources.SourceManager+<RemoveSource>c__AnonStorey2A.<>m__4E () [0x0005b] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:252 
  at Hyena.ThreadAssist.ProxyToMain (Hyena.InvokeHandler handler) [0x0001f] in /home/knocte/Documents/Code/bansheePRISTINE/src/Hyena/Hyena/Hyena/ThreadAssist.cs:103 
  at Banshee.Sources.SourceManager.RemoveSource (Banshee.Sources.Source source, Boolean recursivelyDispose) [0x00168] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:247 
  at Banshee.Sources.SourceManager.Dispose () [0x00056] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:105 
  at Banshee.ServiceStack.ServiceManager.Shutdown () [0x0002a] in /home/knocte/Documents/Code/bansheePRISTINE/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:297 
[1 Debug 21:20:35.922] Service disposed (Network)