GNOME Bugzilla – Bug 683359
Banshee crashes on startup (SourceView getting null values or unexpected types for PodcastSource...?)
Last modified: 2014-12-15 01:42:22 UTC
After creating a smart playlist that includes other playlists, Banshee crashes immediately on startup. I do not know if it is the playlist that is causing the issue, but it is the last operation I performed before the crashinng started. Now I'm unable to get Banshee to start successfully. Stack dump: andyg@AndysLaptop:~$ banshee [Info 12:52:33.515] Running Banshee 2.5.0: [Ubuntu 12.04.1 LTS c2e24fd (linux-gnu, i686) @ 2012-08-26 21:45:09 UTC] [Info 12:52:34.907] Updating web proxy from GConf [Info 12:52:35.025] All services are started 1.159601 [Info 12:52:36.534] Creating Accessible for Banshee.Collection.Gui.TrackListView [Info 12:52:36.575] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [Info 12:52:36.581] Creating Accessible for Banshee.Collection.Gui.ArtistListView [Info 12:52:36.583] Creating Accessible for Banshee.Collection.Gui.YearListView [Info 12:52:36.585] Creating Accessible for Banshee.Collection.Gui.AlbumListView [Info 12:52:36.637] nereid Client Started [Info 12:52:36.774] GStreamer version 0.10.36.0, gapless: True, replaygain: False 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__D5 (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__AnonStorey2F.<>m__C8() 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__A0() at Banshee.Gui.GtkBaseClient+<RunIdle>c__AnonStorey1D.<>m__A3() 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()
Since I can reproduce this at will, I would be glad to help in any way I can to debug the issue. Please let me know if there is any additional info you would like, or things you would like me to try.
Can we have the same log, but calling banshee with the "--debug" argument?
Here you go: andyg@AndysLaptop:~$ banshee --debug ** Running Mono with --debug ** [1 Debug 13:40:22.634] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner [1 Info 13:40:22.655] Running Banshee 2.5.0: [Ubuntu 12.04.1 LTS c2e24fd (linux-gnu, i686) @ 2012-08-26 21:45:09 UTC] [1 Debug 13:40:22.667] Initializing GTK [1 Debug 13:40:24.242] Post-Initializing GTK [1 Debug 13:40:24.259] Configuration client extension loaded (Banshee.GnomeBackend.GConfConfigurationClient) [1 Debug 13:40:24.263] Using default gconf-base-key [1 Debug 13:40:24.376] Core service started (DBusServiceManager, 0.001925) [1 Debug 13:40:24.380] Registering remote object /org/bansheeproject/Banshee/DBusCommandService (Banshee.ServiceStack.DBusCommandService) on org.bansheeproject.Banshee [1 Debug 13:40:24.390] Core service started (DBusCommandService, 0.012681) [1 Debug 13:40:24.433] Opened SQLite (version 3.7.9) connection to /home/andyg/.config/banshee-1/banshee.db [1 Debug 13:40:24.434] Core service started (DbConnection, 0.043684) [1 Debug 13:40:24.445] Database version 45 is up to date [1 Debug 13:40:24.483] Core service started (PreferenceService, 0.017448) [1 Debug 13:40:24.492] Core service started (Network, 0.00908) [1 Debug 13:40:24.493] Registering remote object /org/bansheeproject/Banshee/SourceManager (Banshee.Sources.SourceManager) on org.bansheeproject.Banshee [1 Debug 13:40:24.493] Core service started (SourceManager, 0.000992) [1 Debug 13:40:24.501] Core service started (MediaProfileManager, 0.000394) [1 Debug 13:40:24.505] Registering remote object /org/bansheeproject/Banshee/PlayerEngine (Banshee.MediaEngine.PlayerEngineService) on org.bansheeproject.Banshee [1 Debug 13:40:24.508] Core service started (PlayerEngine, 0.007439) [1 Debug 13:40:24.529] Registering remote object /org/bansheeproject/Banshee/PlaybackController (Banshee.PlaybackController.PlaybackControllerService) on org.bansheeproject.Banshee [1 Debug 13:40:24.530] Core service started (PlaybackController, 0.004244) [1 Debug 13:40:24.538] Starting - Startup Job [1 Debug 13:40:24.540] Core service started (JobScheduler, 0.00955) [1 Debug 13:40:24.555] IO provider extension loaded (Banshee.IO.Gio.Provider) [1 Debug 13:40:24.599] Loaded HardwareManager backend: Banshee.Hardware.Gio [1 Debug 13:40:24.601] Core service started (HardwareManager, 0.061551) [1 Debug 13:40:24.604] Bus.Session.RequestName ('org.bansheeproject.CollectionIndexer') replied with PrimaryOwner [1 Debug 13:40:24.605] Registering remote object /org/bansheeproject/Banshee/CollectionIndexerService (Banshee.Collection.Indexer.CollectionIndexerService) on org.bansheeproject.CollectionIndexer [1 Debug 13:40:24.607] Core service started (CollectionIndexerService, 0.005855) [1 Debug 13:40:24.609] Core service started (SaveTrackMetadataService, 0.001877) [1 Debug 13:40:24.623] Adding icon theme search path: /usr/share/banshee/icons [1 Debug 13:40:24.624] Core service started (GtkElementsService, 0.014892) [1 Debug 13:40:24.626] Core service started (InterfaceActionService, 0.001908) [1 Debug 13:40:24.781] Extension actions loaded: MetadataFixActions [1 Debug 13:40:24.782] Registering remote object /org/bansheeproject/Banshee/GlobalUIActions (Banshee.Gui.GlobalActions) on org.bansheeproject.Banshee [1 Debug 13:40:24.784] Album artwork path set to /home/andyg/.cache/media-art [1 Debug 13:40:24.806] Core service started (ArtworkManager, 0.024251) [1 Debug 13:40:24.807] Core service started (BookmarksService, 0.000212) [1 Debug 13:40:25.286] Constructed Nereid interface: 0.426961 [1 Debug 13:40:25.362] Creating new surface cache for 90px images, capped at 0.25 MiB (8 items) [1 Debug 13:40:25.416] Registering remote object /org/bansheeproject/Banshee/ClientWindow (Nereid.PlayerInterface) on org.bansheeproject.Banshee [1 Debug 13:40:25.416] Core service started (NereidPlayerInterface, 0.595082) [1 Debug 13:40:25.424] Extension service started (PodcastService, 0.005681) [1 Debug 13:40:25.427] Extension service started (BooScriptService, 0.00292) [1 Debug 13:40:25.429] Extension service started (DapService, 0.001313) [1 Debug 13:40:25.432] Extension service started (CoverArtService, 0.003131) [1 Debug 13:40:25.433] Extension service started (DaapService, 0.001194) [1 Debug 13:40:25.442] Extension service started (BpmService, 0.009239) [1 Info 13:40:25.449] Updating web proxy from GConf [1 Debug 13:40:25.460] Direct connection, no proxy in use [1 Debug 13:40:25.483] Extension service started (GnomeService, 0.040054) [1 Debug 13:40:25.513] Extension service started (GStreamerCoreService, 0.030538) [1 Debug 13:40:25.526] Extension service started (MprisService, 0.012904) [1 Debug 13:40:25.564] Extension service started (SoundMenuService, 0.037287) [1 Debug 13:40:25.589] Extension service started (AudioCdService, 0.025428) [1 Debug 13:40:25.591] Extension service started (DvdService, 0.001647) [1 Debug 13:40:25.612] Using GNOME 2.22 API for Multimedia Keys [1 Debug 13:40:25.612] Extension service started (MultimediaKeysService, 0.020639) [1 Info 13:40:25.613] All services are started 1.310974 [1 Debug 13:40:26.207] Creating Pango.Layout, configuring Cairo.Context [1 Debug 13:40:26.358] Extension source loaded: Now Playing [1 Debug 13:40:26.390] Extension source loaded: Audiobooks [1 Debug 13:40:26.396] Extension source loaded: Miro Guide [1 Debug 13:40:26.586] Registering remote object /org/bansheeproject/Banshee/SourceManager/PlayQueue (Banshee.PlayQueue.PlayQueueSource) on org.bansheeproject.Banshee [1 Debug 13:40:26.586] Extension source loaded: Play Queue [1 Debug 13:40:26.638] Extension source loaded: File System Queue [1 Debug 13:40:26.648] Starting GTK main loop [1 Debug 13:40:26.962] Creating Pango.Layout, configuring Cairo.Context [1 Debug 13:40:27.012] Creating Pango.Layout, configuring Cairo.Context [1 Info 13:40:27.217] Creating Accessible for Banshee.Collection.Gui.TrackListView [1 Info 13:40:27.264] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [1 Info 13:40:27.271] Creating Accessible for Banshee.Collection.Gui.ArtistListView [1 Info 13:40:27.274] Creating Accessible for Banshee.Collection.Gui.YearListView [1 Info 13:40:27.276] Creating Accessible for Banshee.Collection.Gui.AlbumListView [1 Info 13:40:27.337] nereid Client Started [1 Debug 13:40:27.339] Delayed Initializating Banshee.MediaEngine.PlayerEngineService [1 Debug 13:40:27.368] (libbanshee:player) Audiosink has volume: YES [1 Debug 13:40:27.391] (libbanshee:player) Using system (gst-plugins-good) equalizer element [1 Debug 13:40:27.471] Player state change: NotReady -> Ready [1 Debug 13:40:27.477] Loaded equalizer presets: 0.000252 [1 Debug 13:40:27.485] Selected equalizer: Pop [1 Debug 13:40:27.489] Syncing equalizer to engine: Pop [1 Debug 13:40:27.494] Player state change: Ready -> Idle [1 Debug 13:40:27.499] (libbanshee:player) Disabled ReplayGain [1 Info 13:40:27.501] GStreamer version 0.10.36.0, gapless: True, replaygain: False [1 Debug 13:40:27.511] Delayed Initializating Banshee.Podcasting.PodcastService 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__D5 (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__AnonStorey2F.<>m__C8() 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__A0() at Banshee.Gui.GtkBaseClient+<RunIdle>c__AnonStorey1D.<>m__A3() 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) Is there anything else I can supply that would help out?
Thanks, is there any chance that you can install debug symbols for mono and gtk-sharp and run that again? Additionally, do you have expertise in compiling software? Would you be willing to try to compile Banshee yourself? Thanks again.
I Sure can. I'm at work now, and will not get to it until this afternoon. P.S. By chance does anyone have any idea what the package for gtk# debug symbols is in Ubuntu? I Looked for gtk-sharp-dbg, gtksharp-dbg, gtk#-dbg, etc, etc, etc. Nothing. I have the mono debug symbolsloaded, and have a dump that includes it, it that is of any help.
Here is the dump with mono and Banshee debug symbols added. Still looking for gtk# debug symbols. andyg@AndysLaptop:~$ banshee --debug ** Running Mono with --debug ** [1 Debug 09:18:58.312] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner [1 Info 09:18:58.343] Running Banshee 2.5.0: [Ubuntu 12.04.1 LTS c2e24fd (linux-gnu, i686) @ 2012-08-26 21:45:09 UTC] [1 Debug 09:18:58.361] Initializing GTK [1 Debug 09:19:00.559] Post-Initializing GTK [1 Debug 09:19:00.584] Configuration client extension loaded (Banshee.GnomeBackend.GConfConfigurationClient) [1 Debug 09:19:00.589] Using default gconf-base-key [1 Debug 09:19:00.753] Core service started (DBusServiceManager, 0.002696) [1 Debug 09:19:00.758] Registering remote object /org/bansheeproject/Banshee/DBusCommandService (Banshee.ServiceStack.DBusCommandService) on org.bansheeproject.Banshee [1 Debug 09:19:00.772] Core service started (DBusCommandService, 0.018646) [1 Debug 09:19:00.830] Opened SQLite (version 3.7.9) connection to /home/andyg/.config/banshee-1/banshee.db [1 Debug 09:19:00.831] Core service started (DbConnection, 0.058147) [1 Debug 09:19:00.842] Database version 45 is up to date [1 Debug 09:19:00.894] Core service started (PreferenceService, 0.022054) [1 Debug 09:19:00.907] Core service started (Network, 0.013091) [1 Debug 09:19:00.909] Registering remote object /org/bansheeproject/Banshee/SourceManager (Banshee.Sources.SourceManager) on org.bansheeproject.Banshee [1 Debug 09:19:00.909] Core service started (SourceManager, 0.001433) [1 Debug 09:19:00.919] Core service started (MediaProfileManager, 0.000484) [1 Debug 09:19:00.925] Registering remote object /org/bansheeproject/Banshee/PlayerEngine (Banshee.MediaEngine.PlayerEngineService) on org.bansheeproject.Banshee [1 Debug 09:19:00.929] Core service started (PlayerEngine, 0.009635) [1 Debug 09:19:00.958] Registering remote object /org/bansheeproject/Banshee/PlaybackController (Banshee.PlaybackController.PlaybackControllerService) on org.bansheeproject.Banshee [1 Debug 09:19:00.960] Core service started (PlaybackController, 0.005709) [1 Debug 09:19:00.971] Starting - Startup Job [1 Debug 09:19:00.973] Core service started (JobScheduler, 0.013023) [1 Debug 09:19:00.995] IO provider extension loaded (Banshee.IO.Gio.Provider) [1 Debug 09:19:01.061] Loaded HardwareManager backend: Banshee.Hardware.Gio [1 Debug 09:19:01.064] Core service started (HardwareManager, 0.091176) [1 Debug 09:19:01.067] Bus.Session.RequestName ('org.bansheeproject.CollectionIndexer') replied with PrimaryOwner [1 Debug 09:19:01.069] Registering remote object /org/bansheeproject/Banshee/CollectionIndexerService (Banshee.Collection.Indexer.CollectionIndexerService) on org.bansheeproject.CollectionIndexer [1 Debug 09:19:01.072] Core service started (CollectionIndexerService, 0.007579) [1 Debug 09:19:01.075] Core service started (SaveTrackMetadataService, 0.002831) [1 Debug 09:19:01.090] Adding icon theme search path: /usr/share/banshee/icons [1 Debug 09:19:01.091] Core service started (GtkElementsService, 0.016301) [1 Debug 09:19:01.094] Core service started (InterfaceActionService, 0.002725) [1 Debug 09:19:01.318] Extension actions loaded: MetadataFixActions [1 Debug 09:19:01.319] Registering remote object /org/bansheeproject/Banshee/GlobalUIActions (Banshee.Gui.GlobalActions) on org.bansheeproject.Banshee [1 Debug 09:19:01.322] Album artwork path set to /home/andyg/.cache/media-art [1 Debug 09:19:01.366] Core service started (ArtworkManager, 0.046128) [1 Debug 09:19:01.366] Core service started (BookmarksService, 0.000306) [1 Debug 09:19:02.051] Constructed Nereid interface: 0.614781 [1 Debug 09:19:02.172] Creating new surface cache for 90px images, capped at 0.25 MiB (8 items) [1 Debug 09:19:02.245] Registering remote object /org/bansheeproject/Banshee/ClientWindow (Nereid.PlayerInterface) on org.bansheeproject.Banshee [1 Debug 09:19:02.246] Core service started (NereidPlayerInterface, 0.859825) [1 Debug 09:19:02.253] Extension service started (PodcastService, 0.005386) [1 Debug 09:19:02.257] Extension service started (BooScriptService, 0.003317) [1 Debug 09:19:02.258] Extension service started (DapService, 0.001544) [1 Debug 09:19:02.263] Extension service started (CoverArtService, 0.004305) [1 Debug 09:19:02.265] Extension service started (DaapService, 0.001676) [1 Info 09:19:02.273] Updating web proxy from GConf [1 Debug 09:19:02.288] Direct connection, no proxy in use [1 Debug 09:19:02.319] Extension service started (GnomeService, 0.053983) [1 Debug 09:19:02.335] Extension service started (BpmService, 0.014961) [1 Debug 09:19:02.384] Extension service started (GStreamerCoreService, 0.049069) [1 Debug 09:19:02.403] Extension service started (MprisService, 0.019407) [1 Debug 09:19:02.465] Extension service started (SoundMenuService, 0.061942) [1 Debug 09:19:02.517] Extension service started (AudioCdService, 0.050848) [1 Debug 09:19:02.519] Extension service started (DvdService, 0.00185) [1 Debug 09:19:02.566] Using GNOME 2.22 API for Multimedia Keys [1 Debug 09:19:02.567] Extension service started (MultimediaKeysService, 0.046957) [1 Info 09:19:02.569] All services are started 1.921067 [1 Debug 09:19:03.316] Creating Pango.Layout, configuring Cairo.Context [1 Debug 09:19:03.547] Extension source loaded: Now Playing [1 Debug 09:19:03.598] Extension source loaded: Audiobooks [1 Debug 09:19:03.607] Extension source loaded: Miro Guide [1 Debug 09:19:03.885] Registering remote object /org/bansheeproject/Banshee/SourceManager/PlayQueue (Banshee.PlayQueue.PlayQueueSource) on org.bansheeproject.Banshee [1 Debug 09:19:03.885] Extension source loaded: Play Queue [1 Debug 09:19:03.961] Extension source loaded: File System Queue [1 Debug 09:19:03.970] Starting GTK main loop [1 Debug 09:19:04.370] Creating Pango.Layout, configuring Cairo.Context [1 Debug 09:19:04.440] Creating Pango.Layout, configuring Cairo.Context [1 Info 09:19:04.727] Creating Accessible for Banshee.Collection.Gui.TrackListView [1 Info 09:19:04.813] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [1 Info 09:19:04.824] Creating Accessible for Banshee.Collection.Gui.ArtistListView [1 Info 09:19:04.827] Creating Accessible for Banshee.Collection.Gui.YearListView [1 Info 09:19:04.830] Creating Accessible for Banshee.Collection.Gui.AlbumListView [1 Info 09:19:04.935] nereid Client Started [1 Debug 09:19:04.938] Delayed Initializating Banshee.MediaEngine.PlayerEngineService [1 Debug 09:19:04.976] (libbanshee:player) Audiosink has volume: YES [1 Debug 09:19:05.023] (libbanshee:player) Using system (gst-plugins-good) equalizer element [1 Debug 09:19:05.145] Player state change: NotReady -> Ready [1 Debug 09:19:05.153] Loaded equalizer presets: 0.000339 [1 Debug 09:19:05.163] Selected equalizer: Pop [1 Debug 09:19:05.169] Syncing equalizer to engine: Pop [1 Debug 09:19:05.176] Player state change: Ready -> Idle [1 Debug 09:19:05.185] (libbanshee:player) Disabled ReplayGain [1 Info 09:19:05.188] GStreamer version 0.10.36.0, gapless: True, replaygain: False [1 Debug 09:19:05.196] Delayed Initializating Banshee.Podcasting.PodcastService 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__D5 (CellLayout layout, Gtk.CellRenderer cell, TreeModel model, TreeIter iter) [0x00011] in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:137 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) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 215 at Banshee.Sources.Gui.SourceModel.AddSource(Banshee.Sources.Source source) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 192 at Banshee.Sources.Gui.SourceModel+<OnSourceAdded>c__AnonStorey2F.<>m__C8() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 97 at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Hyena/Hyena/Hyena/ThreadAssist.cs:line 103 at Banshee.Sources.Gui.SourceModel.OnSourceAdded(Banshee.Sources.SourceAddedArgs args) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 96 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) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 226 at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System.Reflection/MethodBase.cs:line 96 at System.Delegate.DynamicInvokeImpl(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/Delegate.cs:line 408 at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/MulticastDelegate.cs:line 70 at System.Delegate.DynamicInvoke(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/Delegate.cs:line 382 at Hyena.EventExtensions.SafeInvoke(Banshee.Sources.SourceAddedHandler event, System.Object[] args) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Hyena/Hyena/Hyena/EventArgs.cs:line 55 at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source, Boolean isDefault) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:line 183 at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:line 148 at Banshee.Podcasting.PodcastService.DelayedInitialize() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:line 237 at Banshee.ServiceStack.ServiceManager.DelayedInitialize(IService service) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 282 at Banshee.ServiceStack.ServiceManager.DelayedInitialize() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 268 at Banshee.ServiceStack.ServiceManager.OnClientStarted(Banshee.ServiceStack.Client client) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 126 at <Module>.invoke_void__this___Client(Banshee.ServiceStack.Client ) at Banshee.ServiceStack.Application.OnClientStarted(Banshee.ServiceStack.Client client) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:line 164 at Banshee.ServiceStack.Client.OnStarted() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs:line 60 at Banshee.Gui.GtkBaseClient.<Run>m__A0() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 207 at Banshee.Gui.GtkBaseClient+<RunIdle>c__AnonStorey1D.<>m__A3() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 296 at GLib.Idle+IdleProxy.Handler() at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 208 at Banshee.Gui.GtkBaseClient.Startup() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 82 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Hyena/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at Banshee.Gui.GtkBaseClient.Startup() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 77 at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 67 at Nereid.Client.Main(System.String[] args) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Clients/Nereid/Nereid/Client.cs:line 54 at System.AppDomain.ExecuteAssembly(System.AppDomain , System.Reflection.Assembly , System.String[] ) at System.AppDomain.ExecuteAssemblyInternal(System.Reflection.Assembly a, System.String[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 660 at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 629 at System.AppDomain.ExecuteAssembly(System.String assemblyFile) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 612 at Booter.Booter.BootClient(System.String clientName) in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Clients/Booter/Booter/Entry.cs:line 112 at Booter.Booter.Main() in /build/buildd/banshee-2.5.0+git20120826.r1.c2e24fd/src/Clients/Booter/Booter/Entry.cs:line 105
(In reply to comment #6) > Still looking for gtk# debug symbols. I just asked 'directhex' (package master of mono in ubuntu/debian) on our IRC channel and he just told me there's no package for that apparently :( He told me "you can rebuild the src:gtk-sharp2 package with the two dh_clistrip lines commented out" but I guess if you're going that route, you could just build gtk-sharp from source yourself (the 2-12 branch) and test with that. 'dobey' in IRC is also telling me: "you can rebuild the src:gtk-sharp2 package with the two dh_clistrip lines commented out" which I hope you understand better than me :) > Here is the dump with mono and Banshee debug symbols added. Thanks! That's very useful. I just looked at the source code and that exception doesn't make much sense, because there's already a null check with a subsequent ArgumentNullException being thrown... unless, the NRE is actually happening inside gtk#. Regardless, while looking at the code I also found another potential NullReferenceException culprit which I just fixed in http://git.gnome.org/browse/banshee/commit/?id=0c4892017f26d5b52854f1627a3b6eca612c2ced . There is a slight possibility that the stacktrace line numbers are a bit off and I touched the real culprit line in my commit (if you want to find out, compile and run master branch of banshee).
Typo in my last commit: dobey didn't tell me the same as directhex, but this: dobey 18:52:51 knocte: if there's no -dbg package you can add the ddebs.ubuntu.com source and probably install the -dbgsyms package from there To which directhex replied: directhex 18:57:41 does ddebs hook mdb files? i'm sure i planned on implementing it, i don't remember doing it
Typo in my last comment: s/commit/comment/ Ahhh! the joys of bugzilla's non-editable comments :)
Many thanks for the potential fix. I will pull the code compile and test it later this afternoon. At the very least, if this does not fix the issue, it should give you more accurate line numbers in the next dump. Again, many thanks.
Ok. I pulled the current source, built banshee, and I still get the issue (not that I expected otherwise, but given the fix Andre did, I was hoping). Here is the new stack dump, that has some additional info. Please note, I had to run mono with the --runtime=v4.0 flag, otherwise it would not get very far at all. andyg@AndysLaptop:~/bansheetest/banshee/bin$ mono --runtime=v4.0 --debug ./Banshee.exe [Info 15:15:14.781] Running Banshee 2.5.0: [git-checkout (linux-gnu, i686) @ 2012-09-05 14:21:02 MDT] [Info 15:15:16.968] Updating web proxy from GConf [Info 15:15:17.162] All services are started 1.824118 [Info 15:15:19.430] Creating Accessible for Banshee.Collection.Gui.TrackListView [Info 15:15:19.505] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [Info 15:15:19.515] Creating Accessible for Banshee.Collection.Gui.ArtistListView [Info 15:15:19.518] Creating Accessible for Banshee.Collection.Gui.YearListView [Info 15:15:19.521] Creating Accessible for Banshee.Collection.Gui.AlbumListView [Info 15:15:19.606] nereid Client Started [Info 15:15:19.830] GStreamer version 0.10.36.0, gapless: True, replaygain: False 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__D5 (CellLayout layout, Gtk.CellRenderer cell, TreeModel model, TreeIter iter) [0x00011] in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:137 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) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 215 at Banshee.Sources.Gui.SourceModel.AddSource(Banshee.Sources.Source source) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 192 at Banshee.Sources.Gui.SourceModel+<OnSourceAdded>c__AnonStorey2F.<>m__C8() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 97 at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler) in /home/andyg/bansheetest/banshee/src/Hyena/Hyena/Hyena/ThreadAssist.cs:line 103 at Banshee.Sources.Gui.SourceModel.OnSourceAdded(Banshee.Sources.SourceAddedArgs args) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 96 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) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 226 at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System.Reflection/MethodBase.cs:line 96 at System.Delegate.DynamicInvokeImpl(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/Delegate.cs:line 408 at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/MulticastDelegate.cs:line 70 at System.Delegate.DynamicInvoke(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/Delegate.cs:line 382 at Hyena.EventExtensions.SafeInvoke(Banshee.Sources.SourceAddedHandler event, System.Object[] args) in /home/andyg/bansheetest/banshee/src/Hyena/Hyena/Hyena/EventArgs.cs:line 55 at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source, Boolean isDefault) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:line 183 at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:line 148 at Banshee.Podcasting.PodcastService.DelayedInitialize() in /home/andyg/bansheetest/banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:line 237 at Banshee.ServiceStack.ServiceManager.DelayedInitialize(IService service) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 282 at Banshee.ServiceStack.ServiceManager.DelayedInitialize() in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 268 at Banshee.ServiceStack.ServiceManager.OnClientStarted(Banshee.ServiceStack.Client client) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 126 at <Module>.invoke_void__this___Client(Banshee.ServiceStack.Client ) at Banshee.ServiceStack.Application.OnClientStarted(Banshee.ServiceStack.Client client) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:line 164 at Banshee.ServiceStack.Client.OnStarted() in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs:line 60 at Banshee.Gui.GtkBaseClient.<Run>m__A0() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 207 at Banshee.Gui.GtkBaseClient+<RunIdle>c__AnonStorey1D.<>m__A3() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 296 at GLib.Idle+IdleProxy.Handler() at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 208 at Banshee.Gui.GtkBaseClient.Startup() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 82 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /home/andyg/bansheetest/banshee/src/Hyena/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at Banshee.Gui.GtkBaseClient.Startup() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 77 at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 67 at Nereid.Client.Main(System.String[] args) in /home/andyg/bansheetest/banshee/src/Clients/Nereid/Nereid/Client.cs:line 54 at System.AppDomain.ExecuteAssembly(System.AppDomain , System.Reflection.Assembly , System.String[] ) at System.AppDomain.ExecuteAssemblyInternal(System.Reflection.Assembly a, System.String[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 660 at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 629 at System.AppDomain.ExecuteAssembly(System.String assemblyFile) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 612 at Booter.Booter.BootClient(System.String clientName) in /home/andyg/bansheetest/banshee/src/Clients/Booter/Booter/Entry.cs:line 112 at Booter.Booter.Main() in /home/andyg/bansheetest/banshee/src/Clients/Booter/Booter/Entry.cs:line 105
Great, do you mind adding some debug statements in around line 137 of file /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs ? By looking at the stacktrace again, I think that NRE cannot really come from gtk-sharp, so I'm completely puzzled as to why it could happen. You could for example replace the whole call to the method SetCellDataFunc, with this block of code, to try to figure out where it's actually firing: source_column.SetCellDataFunc (header_renderer, new Gtk.CellLayoutDataFunc ((layout, cell, model, iter) => { Console.WriteLine ("___SetCallDataFunc0"); if (model == null) { Console.WriteLine ("___SetCallDataFunc1"); throw new ArgumentNullException ("model"); } Console.WriteLine ("___SetCallDataFunc2"); int typeToRequest = (int)SourceModel.Columns.Type; Console.WriteLine ("___SetCallDataFunc3"); var uncastedType = model.GetValue (iter, typeToRequest); Console.WriteLine ("___SetCallDataFunc4"); var type = (SourceModel.EntryType) uncastedType; Console.WriteLine ("___SetCallDataFunc5"); header_renderer.Visible = type == SourceModel.EntryType.Group; Console.WriteLine ("___SetCallDataFunc6"); source_renderer.Visible = type == SourceModel.EntryType.Source; Console.WriteLine ("___SetCallDataFunc7"); if (type == SourceModel.EntryType.Group) { Console.WriteLine ("___SetCallDataFunc8"); typeToRequest = (int)SourceModel.Columns.Source; Console.WriteLine ("___SetCallDataFunc9"); var source = (Source) model.GetValue (iter, typeToRequest); Console.WriteLine ("___SetCallDataFunc10"); header_renderer.Visible = true; Console.WriteLine ("___SetCallDataFunc11"); header_renderer.Text = source.Name; } else { Console.WriteLine ("___SetCallDataFunc12"); header_renderer.Visible = false; } Console.WriteLine ("___SetCallDataFunc13"); })); See where I'm going? The only thing I'm thinking now is that maybe a "==" operation on a type is generating an call to an ".Equals" method which could result in an NRE if the object is null... but still looks very weird. Thanks for your patience!
(BTW, if the creation of that smartplaylist is really the culprit of this crash, you could send me your SQLite database by email so I try to reproduce the problem locally too.)
Added the code in question, recompiled, and rerun. Here is the relevant part of the output (the full output is huge, with lots of __SetCallDataFunc lines. So I included the stuff only right around the crash. I would be glad to send you the database file. I assume it's in .gconf/apps/banshee-1 somewhere? I do not know that the smartplaylist is the culprit for sure. It was just the last thing I did. Once quick note. With the locally compiled version the app does not crash completely. I still get the same stackdump (attached previously and below), but the GUI stays on the screen. It's frozen, but it's still there. I also noted that the stackdump includes mention of the PodcastService, and that the Podcast area never gets displayed in the GUI before it freezes up. While it was not the last thing I did, I do a lot with poscasts. Could the smartplaylist be a red herring, and the issue be really in the podcast stuff? ___SetCallDataFunc0 ___SetCallDataFunc2 ___SetCallDataFunc3 ___SetCallDataFunc4 ___SetCallDataFunc5 ___SetCallDataFunc6 ___SetCallDataFunc7 ___SetCallDataFunc8 ___SetCallDataFunc9 ___SetCallDataFunc10 ___SetCallDataFunc11 ___SetCallDataFunc13 ___SetCallDataFunc0 ___SetCallDataFunc2 ___SetCallDataFunc3 ___SetCallDataFunc4 ___SetCallDataFunc5 ___SetCallDataFunc6 ___SetCallDataFunc7 ___SetCallDataFunc8 ___SetCallDataFunc9 ___SetCallDataFunc10 ___SetCallDataFunc11 ___SetCallDataFunc13 ___SetCallDataFunc0 ___SetCallDataFunc2 ___SetCallDataFunc3 ___SetCallDataFunc4 ___SetCallDataFunc5 ___SetCallDataFunc6 ___SetCallDataFunc7 ___SetCallDataFunc12 ___SetCallDataFunc13 ___SetCallDataFunc0 ___SetCallDataFunc2 ___SetCallDataFunc3 ___SetCallDataFunc4 ___SetCallDataFunc5 ___SetCallDataFunc6 ___SetCallDataFunc7 ___SetCallDataFunc12 ___SetCallDataFunc13 [Info 15:49:04.554] Creating Accessible for Banshee.Collection.Gui.TrackListView [Info 15:49:04.625] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [Info 15:49:04.636] Creating Accessible for Banshee.Collection.Gui.ArtistListView [Info 15:49:04.640] Creating Accessible for Banshee.Collection.Gui.YearListView [Info 15:49:04.643] Creating Accessible for Banshee.Collection.Gui.AlbumListView [Info 15:49:04.752] nereid Client Started [Info 15:49:05.275] GStreamer version 0.10.36.0, gapless: True, replaygain: False ___SetCallDataFunc0 ___SetCallDataFunc2 ___SetCallDataFunc3 ___SetCallDataFunc4 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__D5 (CellLayout layout, Gtk.CellRenderer cell, TreeModel model, TreeIter iter) [0x0004f] in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:161 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) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 215 at Banshee.Sources.Gui.SourceModel.AddSource(Banshee.Sources.Source source) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 192 at Banshee.Sources.Gui.SourceModel+<OnSourceAdded>c__AnonStorey2F.<>m__C8() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 97
(In reply to comment #14) > Added the code in question, recompiled, and rerun. Great, I assume you copy+pasted my code without modifying anything? If yes, then I learned something today. > Here is the relevant part of > the output (the full output is huge, with lots of __SetCallDataFunc lines. So I > included the stuff only right around the crash. What this tells me (and later I confirmed by even testing in MS.NET to double-check it was not a Mono bug) that if you try to cast null to an enum, it will give a NullReferenceException instead of an InvalidCastException! > I would be glad to send you the database file. I assume it's in > .gconf/apps/banshee-1 somewhere? It should be in /home/andyg/.config/banshee-1/banshee.db > I do not know that the smartplaylist is the culprit for sure. It was just the > last thing I did. Yeah this is what I want to check by running with your sqlite file. > Once quick note. With the locally compiled version the app does not crash > completely. I still get the same stackdump (attached previously and below), but > the GUI stays on the screen. It's frozen, but it's still there. Interesting. > I also noted that the stackdump includes mention of the PodcastService, and > that the Podcast area never gets displayed in the GUI before it freezes up. > While it was not the last thing I did, I do a lot with poscasts. Could the > smartplaylist be a red herring, and the issue be really in the podcast stuff? Maybe. Now. Before trying to understand the problem completely (why a null value would come from the model.GetValue() call), can you replace again the SetCallDataFunc block to this code to see if this at least prevents it from freezing/crashing banshee? source_column.SetCellDataFunc (header_renderer, new Gtk.CellLayoutDataFunc ((layout, cell, model, iter) => { if (model == null) { throw new ArgumentNullException ("model"); } var type = model.GetValue (iter, (int)SourceModel.Columns.Type); if (!(type is SourceModel.EntryType)) { Log.ErrorFormat ("SourceView {0} could not render its source column because its type value returned null from the iter", Name); return; } var entryType = (SourceModel.EntryType) type; source_renderer.Visible = entryType == SourceModel.EntryType.Source; if (entryType == SourceModel.EntryType.Group) { header_renderer.Visible = true; var source = (Source) model.GetValue (iter, (int)SourceModel.Columns.Source); header_renderer.Text = source.Name; } else { header_renderer.Visible = false; } })); Even if it doesn't crash/freeze this time, the output of the terminal will still be useful to me.
Yes, today you learned never to send bits of dangerous code to random strangers, right? :-) I put in the code clip that you posted, and it indeed prevented the apps from crashing. Whohoo!!!!!! Below is the output. I will send you my database file via email in just a bit. andyg@AndysLaptop:~/bansheetest/banshee/bin$ mono --runtime=v4.0 --debug ./Banshee.exe [Info 18:11:51.538] Running Banshee 2.5.0: [git-checkout (linux-gnu, i686) @ 2012-09-05 14:21:02 MDT] [Info 18:11:55.199] Updating web proxy from GConf [Info 18:11:55.338] All services are started 1.778619 [Info 18:11:57.390] Creating Accessible for Banshee.Collection.Gui.TrackListView [Info 18:11:57.499] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [Info 18:11:57.517] Creating Accessible for Banshee.Collection.Gui.ArtistListView [Info 18:11:57.521] Creating Accessible for Banshee.Collection.Gui.YearListView [Info 18:11:57.523] Creating Accessible for Banshee.Collection.Gui.AlbumListView [Info 18:11:57.598] nereid Client Started [Info 18:11:57.815] GStreamer version 0.10.36.0, gapless: True, replaygain: False [Error 18:11:57.965] SourceView __gtksharp_37_Banshee_Sources_Gui_SourceView could not render its source column because its type value returned null from the iter [Error 18:11:57.968] SourceView __gtksharp_37_Banshee_Sources_Gui_SourceView could not render its source column because its type value returned null from the iter [Error 18:11:57.969] SourceView __gtksharp_37_Banshee_Sources_Gui_SourceView could not render its source column because its type value returned null from the iter [Error 18:11:57.970] SourceView __gtksharp_37_Banshee_Sources_Gui_SourceView could not render its source column because its type value returned null from the iter [Error 18:11:57.972] SourceView __gtksharp_37_Banshee_Sources_Gui_SourceView could not render its source column because its type value returned null from the iter
(In reply to comment #16) > I put in the code clip that you posted, and it indeed prevented the apps from > crashing. Whohoo!!!!!! That's great news! > I will send you my database file via email in just a bit. Thanks. Unfortunately, I tested with your DB and I could not reproduce the issue. So I need your help again before I propose a fix for the crasher. Can you copy+paste this new code for the SetCallDataFunc block? source_column.SetCellDataFunc (header_renderer, new Gtk.CellLayoutDataFunc ((layout, cell, model, iter) => { if (model == null) { throw new ArgumentNullException ("model"); } // be paranoid about the values returned from model.GetValue(), they may be null or have unexpected types, see bgo#683359 var objType = model.GetValue (iter, (int)SourceModel.Columns.Type); if (objType == null || !(objType is SourceModel.EntryType)) { var source = model.GetValue (iter, (int)SourceModel.Columns.Source) as Source; var sourceName = source == null ? "some source" : String.Format ("source {0}", source.Name); Log.ErrorFormat ( "SourceView of {0} could not render its source column because its type value returned {1} from the iter", sourceName, objType == null ? "null" : String.Format ("an instance of {0}", objType.GetType ().FullName)); header_renderer.Visible = false; source_renderer.Visible = false; return; } var type = (SourceModel.EntryType) objType; header_renderer.Visible = type == SourceModel.EntryType.Group; source_renderer.Visible = type == SourceModel.EntryType.Source; if (type == SourceModel.EntryType.Group) { var source = (Source) model.GetValue (iter, (int)SourceModel.Columns.Source); header_renderer.Visible = true; header_renderer.Text = source.Name; } else { header_renderer.Visible = false; } })); I want to see the output of that. Hopefully the source name this time will be clearer than just "__gtksharp_37_Banshee_Sources_Gui_SourceView". If you something strange in the UI of Banshee, let me know as well please. Thanks!
s/you something/you see something/
Here is the new output. [Info 07:28:34.392] Running Banshee 2.5.0: [git-checkout (linux-gnu, i686) @ 2012-09-05 14:21:02 MDT] [Info 07:28:37.005] Starting collection of anonymous usage data [Info 07:28:39.248] Updating web proxy from GConf [Info 07:28:39.468] All services are started 2.772886 [Info 07:28:41.793] Creating Accessible for Banshee.Collection.Gui.TrackListView [Info 07:28:41.865] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [Info 07:28:41.875] Creating Accessible for Banshee.Collection.Gui.ArtistListView [Info 07:28:41.878] Creating Accessible for Banshee.Collection.Gui.YearListView [Info 07:28:41.881] Creating Accessible for Banshee.Collection.Gui.AlbumListView [Info 07:28:41.953] nereid Client Started [Info 07:28:42.460] GStreamer version 0.10.36.0, gapless: True, replaygain: False [Error 07:28:42.798] SourceView of some source could not render its source column because its type value returned null from the iter [Error 07:28:42.800] SourceView of source Podcasts could not render its source column because its type value returned null from the iter [Error 07:28:42.801] SourceView of source Podcasts could not render its source column because its type value returned null from the iter [Error 07:28:42.802] SourceView of source Podcasts could not render its source column because its type value returned null from the iter [Error 07:28:42.803] SourceView of source Podcasts could not render its source column because its type value returned null from the iter 0.044929027557373 [Info 07:28:48.807] Posted usage data? True
By the way, I did not see anything odd at all with the display. At least in the podcast area, things look fine.
Created attachment 223777 [details] [review] patch.diff Ok, I think we're getting closer to the bottom of it. I think it must be a race condition that is only hit by slower or faster machines. Can you try this patch instead? For applying it, you need to revert first the copy+paste of my new code block by writing "git reset --hard" on the command line, then download this patch to the same folder where your banshee folder is, and then writing "patch -p1 -i ./patch.diff" in the terminal. (Then "make" and "make run" like previous times) Hopefully, with these patch, you will not see any more [Error] logs and still don't crash/freeze.
Thanks so much for the quick patch Andrés! Unfortunately, this did not help. I did a git reset, applied the patch, verified that SourceView.cs was patched exactly as expected (old hand applied changes gone, changes from patch files there), rebuilt and ran, and immedeately got the following crash. [Info 15:17:55.593] Running Banshee 2.5.0: [git-checkout (linux-gnu, i686) @ 2012-09-05 14:21:02 MDT] [Info 15:17:57.841] Updating web proxy from GConf [Info 15:17:57.992] All services are started 1.840284 [Info 15:18:00.271] Creating Accessible for Banshee.Collection.Gui.TrackListView [Info 15:18:00.344] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [Info 15:18:00.354] Creating Accessible for Banshee.Collection.Gui.ArtistListView [Info 15:18:00.358] Creating Accessible for Banshee.Collection.Gui.YearListView [Info 15:18:00.360] Creating Accessible for Banshee.Collection.Gui.AlbumListView [Info 15:18:00.465] nereid Client Started [Info 15:18:00.715] GStreamer version 0.10.36.0, gapless: True, replaygain: False 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__D5 (CellLayout layout, Gtk.CellRenderer cell, TreeModel model, TreeIter iter) [0x00011] in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:139 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) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 215 at Banshee.Sources.Gui.SourceModel.AddSource(Banshee.Sources.Source source) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 192 at Banshee.Sources.Gui.SourceModel+<OnSourceAdded>c__AnonStorey2F.<>m__C8() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 97 at Hyena.ThreadAssist.ProxyToMain(Hyena.InvokeHandler handler) in /home/andyg/bansheetest/banshee/src/Hyena/Hyena/Hyena/ThreadAssist.cs:line 103 at Banshee.Sources.Gui.SourceModel.OnSourceAdded(Banshee.Sources.SourceAddedArgs args) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 96 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) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 226 at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System.Reflection/MethodBase.cs:line 96 at System.Delegate.DynamicInvokeImpl(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/Delegate.cs:line 408 at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/MulticastDelegate.cs:line 70 at System.Delegate.DynamicInvoke(System.Object[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/Delegate.cs:line 382 at Hyena.EventExtensions.SafeInvoke(Banshee.Sources.SourceAddedHandler event, System.Object[] args) in /home/andyg/bansheetest/banshee/src/Hyena/Hyena/Hyena/EventArgs.cs:line 55 at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source, Boolean isDefault) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:line 183 at Banshee.Sources.SourceManager.AddSource(Banshee.Sources.Source source) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:line 148 at Banshee.Podcasting.PodcastService.DelayedInitialize() in /home/andyg/bansheetest/banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:line 237 at Banshee.ServiceStack.ServiceManager.DelayedInitialize(IService service) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 282 at Banshee.ServiceStack.ServiceManager.DelayedInitialize() in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 268 at Banshee.ServiceStack.ServiceManager.OnClientStarted(Banshee.ServiceStack.Client client) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 126 at <Module>.invoke_void__this___Client(Banshee.ServiceStack.Client ) at Banshee.ServiceStack.Application.OnClientStarted(Banshee.ServiceStack.Client client) in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:line 164 at Banshee.ServiceStack.Client.OnStarted() in /home/andyg/bansheetest/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs:line 60 at Banshee.Gui.GtkBaseClient.<Run>m__A0() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 207 at Banshee.Gui.GtkBaseClient+<RunIdle>c__AnonStorey1D.<>m__A3() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 296 at GLib.Idle+IdleProxy.Handler() at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 208 at Banshee.Gui.GtkBaseClient.Startup() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 82 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /home/andyg/bansheetest/banshee/src/Hyena/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at Banshee.Gui.GtkBaseClient.Startup() in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 77 at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 67 at Nereid.Client.Main(System.String[] args) in /home/andyg/bansheetest/banshee/src/Clients/Nereid/Nereid/Client.cs:line 54 at System.AppDomain.ExecuteAssembly(System.AppDomain , System.Reflection.Assembly , System.String[] ) at System.AppDomain.ExecuteAssemblyInternal(System.Reflection.Assembly a, System.String[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 660 at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 629 at System.AppDomain.ExecuteAssembly(System.String assemblyFile) in /build/buildd/mono-2.10.8.1/mcs/class/corlib/System/AppDomain.cs:line 612 at Booter.Booter.BootClient(System.String clientName) in /home/andyg/bansheetest/banshee/src/Clients/Booter/Booter/Entry.cs:line 112 at Booter.Booter.Main() in /home/andyg/bansheetest/banshee/src/Clients/Booter/Booter/Entry.cs:line 105
Created attachment 223830 [details] patch v2 (In reply to comment #22) > Thanks so much for the quick patch Andrés! No problem, thank *you* for testing! Hopefully you can keep testing without getting bored until the bug is fixed :) > Unfortunately, this did not help. I did a git reset, applied the patch, > verified that SourceView.cs was patched exactly as expected (old hand applied > changes gone, changes from patch files there), rebuilt and ran, and immedeately > got the following crash. Ok here you have a new patch.
Was this supposed to be a patch ontop of the base (ie do a reset first), or ontop of the last patch? I did a reset first, compiles, and still get a crash. [Info 09:31:31.688] Running Banshee 2.5.0: [git-checkout (linux-gnu, i686) @ 2012-09-05 14:21:02 MDT] [Info 09:31:35.737] Updating web proxy from GConf [Info 09:31:35.874] All services are started 2.414832 [Info 09:31:37.601] Creating Accessible for Banshee.Collection.Gui.TrackListView [Info 09:31:37.644] Creating Accessible for Banshee.Collection.Gui.QueryFilterView`1[System.String] [Info 09:31:37.651] Creating Accessible for Banshee.Collection.Gui.ArtistListView [Info 09:31:37.654] Creating Accessible for Banshee.Collection.Gui.YearListView [Info 09:31:37.655] Creating Accessible for Banshee.Collection.Gui.AlbumListView [Info 09:31:37.703] nereid Client Started [Info 09:31:38.181] GStreamer version 0.10.36.0, gapless: True, replaygain: False 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__D5 (CellLayout layout, Gtk.CellRenderer cell, TreeModel model, TreeIter iter) [0x00011] in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:139 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) in /home/andyg/bansheetest/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:line 215
Created attachment 224137 [details] [review] Patch to avoid crashing atleast (In reply to comment #24) > Was this supposed to be a patch ontop of the base (ie do a reset first), or > ontop of the last patch? It was on top of base. > > I did a reset first, compiles, and still get a crash. > Damn! Well, I guess we'll have to dig more. But for now I guess this logging patch would do for the next 2.5.x release. Thanks again for testing!
*** Bug 675587 has been marked as a duplicate of this bug. ***
Comment on attachment 224137 [details] [review] Patch to avoid crashing atleast Committed: http://git.gnome.org/browse/banshee/commit/?id=d835de9ebc75bf937aa66d45909cb5eb119249e0
So I'm marking this as FIXED, as the main problem (crashing) is solved. We will have to revisit the problem later. Fortunately, we will have Error logs for us to not forget. Thanks Andy for testing! And Bertrand for reviewing. This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
*** Bug 684714 has been marked as a duplicate of this bug. ***
Created attachment 292706 [details] [review] Resolution I know this bug was closed a long time ago but couldn't see the sense in opening a new one since the fix was a workaround. Apologies if I have bothered you. @knocte: Nice to know we think alike-my first thought here was also to move the BuildColumns call and see what happened! :) Enjoy.
(In reply to comment #30) > Created an attachment (id=292706) [details] [review] > Resolution > > I know this bug was closed a long time ago but couldn't see the sense in > opening a new one since the fix was a workaround. Apologies if I have bothered > you. > > @knocte: Nice to know we think alike-my first thought here was also to move the > BuildColumns call and see what happened! :) > > Enjoy. So, I'm assuming that this patch is fixing some error logs that you're getting in the console? Can you paste them here? As the patch for this bug added the log "SourceView of {0} could not render its source column because its type value returned {1} from the iter", I first assumed that you really had faced bug 732373 (which I still reproduce in the stable branch), but sadly your patch doesn't fix it :(
(In reply to comment #31) > (In reply to comment #30) > > Created an attachment (id=292706) [details] [review] [details] [review] > > Resolution > > > > I know this bug was closed a long time ago but couldn't see the sense in > > opening a new one since the fix was a workaround. Apologies if I have bothered > > you. > > > > @knocte: Nice to know we think alike-my first thought here was also to move the > > BuildColumns call and see what happened! :) > > > > Enjoy. > > So, I'm assuming that this patch is fixing some error logs that you're getting > in the console? Can you paste them here? Without the above patch, whenever the podcasts extension loads I get these log messages: [1 Debug 23:24:43.600] Delayed Initializating Banshee.Podcasting.PodcastService [1 Error 23:24:43.619] SourceView of some source could not render its source column because its type value returned null from the iter [1 Error 23:24:43.620] SourceView of source Podcasts could not render its source column because its type value returned null from the iter [1 Error 23:24:43.620] SourceView of source Podcasts could not render its source column because its type value returned null from the iter [9 Debug 23:24:43.629] Refreshing any podcasts that haven't been updated in over an hour With the patch, the log contains only the first and last messages. I haven't tested the various DAP sources that are exhibiting the problem. > As the patch for this bug added the log "SourceView of {0} could not render its > source column because its type value returned {1} from the iter", I first > assumed that you really had faced bug 732373 (which I still reproduce in the > stable branch), but sadly your patch doesn't fix it :( Not entirely certain what's going on in bug 732373. I'll most likely have a closer look this week.
Comment on attachment 292706 [details] [review] Resolution > Without the above patch, whenever the podcasts extension loads I get these log > messages: > > [1 Debug 23:24:43.600] Delayed Initializating Banshee.Podcasting.PodcastService > [1 Error 23:24:43.619] SourceView of some source could not render its source > column because its type value returned null from the iter > [1 Error 23:24:43.620] SourceView of source Podcasts could not render its > source column because its type value returned null from the iter > [1 Error 23:24:43.620] SourceView of source Podcasts could not render its > source column because its type value returned null from the iter > [9 Debug 23:24:43.629] Refreshing any podcasts that haven't been updated in > over an hour > > With the patch, the log contains only the first and last messages. I haven't > tested the various DAP sources that are exhibiting the problem. Thanks for the patch and the log! Committed.
(In reply to comment #32) > Not entirely certain what's going on in bug 732373. I'll most likely have a > closer look this week. That would be appreciated!