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 667625 - Banshee freezes on startup ('Exception in Gtk# callback delegate ...')
Banshee freezes on startup ('Exception in Gtk# callback delegate ...')
Status: RESOLVED INCOMPLETE
Product: banshee
Classification: Other
Component: general
2.2.1
Other Linux
: Normal critical
: ---
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-10 13:09 UTC by AJ
Modified: 2012-01-18 23:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description AJ 2012-01-10 13:09:18 UTC
Banshee freezes on startup (seemed to have been triggered after right clicking a music file and 'open[ing it] with...' banshee. Ever since Banshee is unusable.
The text below shows when I execute banshee from terminal.
(I'm on Ubuntu 11.10 32-bit, approximate 7500 music/video files in banshee library)

===========================================================================
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.NullReferenceException: Object reference not set to an instance of an object
  at Banshee.Sources.Gui.SourceView.<BuildColumns>m__CC (CellLayout layout, Gtk.CellRenderer cell, TreeModel model, TreeIter iter) [0x00000] in <filename unknown>:0 
  at GtkSharp.CellLayoutDataFuncWrapper.NativeCallback (IntPtr cell_layout, IntPtr cell, IntPtr tree_model, IntPtr iter, IntPtr data) [0x00000] in <filename unknown>:0 
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at GtkSharp.CellLayoutDataFuncWrapper.NativeCallback(IntPtr cell_layout, IntPtr cell, IntPtr tree_model, IntPtr iter, IntPtr data)
   at Gtk.TreeStore.gtk_tree_store_insert(IntPtr , TreeIter ByRef , IntPtr , Int32 )
   at Gtk.TreeStore.InsertNode(Int32 position)
   at Banshee.Sources.Gui.SourceModel.AddSource(Banshee.Sources.Source source, TreeIter parent)
   at Banshee.Sources.Gui.SourceModel.AddSource(Banshee.Sources.Source source)
   at Banshee.Sources.Gui.SourceModel+<OnSourceAdded>c__AnonStorey2D.<>m__BF()
   at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler)
   at Banshee.Sources.Gui.SourceModel.OnSourceAdded(Banshee.Sources.SourceAddedArgs 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 Hyena.EventExtensions.SafeInvoke(Banshee.Sources.SourceAddedHandler event, System.Object[] args)
   at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source, Boolean isDefault)
   at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source)
   at Banshee.Podcasting.PodcastService.DelayedInitialize()
   at Banshee.ServiceStack.ServiceManager.DelayedInitialize(IService service)
   at Banshee.ServiceStack.ServiceManager.DelayedInitialize()
   at Banshee.ServiceStack.ServiceManager.OnClientStarted(Banshee.ServiceStack.Client client)
   at <Module>.invoke_void__this___Client(Banshee.ServiceStack.Client )
   at Banshee.ServiceStack.Application.OnClientStarted(Banshee.ServiceStack.Client client)
   at Banshee.ServiceStack.Client.OnStarted()
   at Banshee.Gui.GtkBaseClient.<Run>m__9C()
   at Banshee.Gui.GtkBaseClient+<RunIdle>c__AnonStorey1D.<>m__9F()
   at GLib.Idle+IdleProxy.Handler()
   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()

==============================================================================
Comment 1 AJ 2012-01-10 13:11:12 UTC
BTW, the banshee screen start, and I can see the library, but I can't click on any items, and the window turns greyish (as happens when a program is not responding in Ubuntu)
Comment 2 Bertrand Lorentz 2012-01-11 18:30:36 UTC
Thank you for your bug report.

We need more information in order to track down the problem.
Could you please run Banshee from a terminal with "banshee --debug" and attach the complete output here ?
Comment 3 AJ 2012-01-11 19:45:08 UTC
Hi,
The problem seems to have been resolved after deleting the database file in ~/.config/banshee-1. (The only thing I lost were my customized playlists: would it be worth storing them somewhere different for cases like this?)
But this means that I'm now not in a position to recreate the behaviour above; but this is actually the second (or third?) time I had to resort to this sort of action--the database access seems (unfortunately) quite unstable...
Comment 4 Andrés G. Aragoneses (IRC: knocte) 2012-01-18 23:20:46 UTC
(In reply to comment #3)
> But this means that I'm now not in a position to recreate the behaviour above;

Shame, next time please try to keep a backup of the database, for your own sake and for attaching to the bug (or sending it via email to a dev if it's too big for bugzilla).

Please reopen the bug if you see this again (I've added a check for null [1] that would give us more info in Banshee 2.3.4 or higher.)

[1] http://git.gnome.org/browse/banshee/commit/?id=4dc7c3a625d2216dc358d2c82926869c8b724a9f (typo: should read "prefer" instead of "prever")