GNOME Bugzilla – Bug 615892
Crash on startup in ListViewAccessible
Last modified: 2010-04-25 23:05:36 UTC
Here's the trace, which I guess implies that list_view.Model is null at this point: ** Running Mono with --debug ** [1 Info 14:36:39.392] Running Banshee 1.6.0: [git-checkout (linux-gnu, i686) @ 2010-04-15 14:31:37 PDT] [1 Debug 14:36:41.320] Initializing GTK ** (Banshee:8973): WARNING **: AT-SPI: Accessibility bus not found - Using session bus. [1 Debug 14:36:41.377] Configuration client extension loaded (Banshee.GnomeBackend.GConfConfigurationClient) [1 Debug 14:36:41.385] Using default gconf-base-key [1 Debug 14:36:41.424] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner [1 Debug 14:36:41.429] Core service started (DBusServiceManager, 0.000833s) [1 Debug 14:36:41.431] Registering remote object /org/bansheeproject/Banshee/DBusCommandService (Banshee.ServiceStack.DBusCommandService) on org.bansheeproject.Banshee [1 Debug 14:36:41.437] Core service started (DBusCommandService, 0.00815s) [1 Debug 14:36:41.497] Opened SQLite connection to /home/sandy/.config/banshee-1/banshee.db [1 Debug 14:36:41.497] Core service started (DbConnection, 0.059648s) [1 Debug 14:36:41.500] Database version 41 is up to date [1 Info 14:36:41.514] Starting collection of anonymous usage data [1 Debug 14:36:41.591] Core service started (PreferenceService, 0.067474s) [1 Debug 14:36:41.593] Registering remote object /org/bansheeproject/Banshee/SourceManager (Banshee.Sources.SourceManager) on org.bansheeproject.Banshee [1 Debug 14:36:41.593] Core service started (SourceManager, 0.001658s) [1 Debug 14:36:41.594] Core service started (MediaProfileManager, 0.000466s) [1 Debug 14:36:41.613] Registering remote object /org/bansheeproject/Banshee/PlayerEngine (Banshee.MediaEngine.PlayerEngineService) on org.bansheeproject.Banshee [1 Debug 14:36:41.617] Core service started (PlayerEngine, 0.023609s) [1 Debug 14:36:41.635] IO provider extension loaded (Banshee.IO.Unix.Provider) [1 Debug 14:36:41.643] Core service started (TranscoderService, 0.011716s) [1 Debug 14:36:41.645] Registering remote object /org/bansheeproject/Banshee/PlaybackController (Banshee.PlaybackController.PlaybackControllerService) on org.bansheeproject.Banshee [1 Debug 14:36:41.647] Core service started (PlaybackController, 0.003874s) [1 Debug 14:36:41.648] Core service started (ImportSourceManager, 0.00039s) [1 Debug 14:36:41.652] Core service started (LibraryImportManager, 0.004196s) [1 Debug 14:36:41.652] Core service started (JobScheduler, 0.000576s) [1 Debug 14:36:41.675] Core service started (HardwareManager, 0.022631s) [1 Debug 14:36:41.677] Bus.Session.RequestName ('org.bansheeproject.CollectionIndexer') replied with PrimaryOwner [1 Debug 14:36:41.678] Registering remote object /org/bansheeproject/Banshee/CollectionIndexerService (Banshee.Collection.Indexer.CollectionIndexerService) on org.bansheeproject.CollectionIndexer [1 Debug 14:36:41.680] Core service started (CollectionIndexerService, 0.004961s) [1 Debug 14:36:41.681] Core service started (SaveMetadataService, 0.001016s) [1 Debug 14:36:41.707] Adding icon theme search path: /usr/share/banshee-1/icons [1 Debug 14:36:41.708] Core service started (GtkElementsService, 0.027045s) [1 Debug 14:36:41.709] Core service started (InterfaceActionService, 0.000948s) [1 Debug 14:36:41.847] Registering remote object /org/bansheeproject/Banshee/GlobalUIActions (Banshee.Gui.GlobalActions) on org.bansheeproject.Banshee [1 Debug 14:36:41.848] Album artwork path set to /home/sandy/.cache/media-art [1 Debug 14:36:41.855] Core service started (ArtworkManager, 0.007402s) [1 Debug 14:36:42.066] Adding context page lastfm-recommendations [1 Debug 14:36:42.087] Adding context page wikipedia [1 Debug 14:36:42.399] Constructed Nereid interface: 0.499851s 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 Hyena.Data.Gui.Accessibility.ListViewAccessible`1[Banshee.Collection.TrackInfo]..ctor (GLib.Object widget) [0x0006e] in /home/sandy/git-gnome/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/Accessibility/ListViewAccessible.cs:57 at Hyena.Data.Gui.ListViewAccessibleFactory`1[Banshee.Collection.TrackInfo].OnCreateAccessible (GLib.Object obj) [0x00000] in /home/sandy/git-gnome/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Accessible.cs:168 at Atk.ObjectFactory+Marshaler.CreateAccessible_cb (IntPtr raw) [0x0002c] in /usr/src/packages/BUILD/gtk-sharp-2.12.10/atk/generated/ObjectFactory.custom:78 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) in /usr/src/packages/BUILD/gtk-sharp-2.12.10/glib/ExceptionManager.cs:line 58 at Atk.ObjectFactory+Marshaler.CreateAccessible_cb(IntPtr raw) in /usr/src/packages/BUILD/gtk-sharp-2.12.10/atk/generated/ObjectFactory.custom:line 83 at Gtk.Widget.gtk_widget_show(IntPtr ) at Gtk.Widget.Show() in /usr/src/packages/BUILD/gtk-sharp-2.12.10/gtk/generated/Widget.cs:line 4088 at Banshee.Gui.BaseClientWindow.InitialShowPresent() in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs:line 106 at Nereid.PlayerInterface.Initialize() in /home/sandy/git-gnome/banshee/src/Clients/Nereid/Nereid/PlayerInterface.cs:line 103 at Banshee.Gui.BaseClientWindow.InitializeWindow() in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs:line 136 at Banshee.Gui.BaseClientWindow..ctor(System.String title, System.String configNameSpace, Int32 defaultWidth, Int32 defaultHeight) in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs:line 78 at Nereid.PlayerInterface..ctor() at System.Reflection.MonoCMethod.InternalInvoke(System.Object , System.Object[] , System.Exception ByRef ) at System.Reflection.MonoCMethod.Invoke(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 504 at System.Reflection.MonoCMethod.Invoke(BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 519 at System.Reflection.ConstructorInfo.Invoke(System.Object[] parameters) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System.Reflection/ConstructorInfo.cs:line 77 at System.Activator.CreateInstance(System.Type type, Boolean nonPublic) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System/Activator.cs:line 337 at System.Activator.CreateInstance(System.Type type) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System/Activator.cs:line 219 at Banshee.ServiceStack.ServiceManager.RegisterService(System.Type type) in /home/sandy/git-gnome/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 156 at Banshee.ServiceStack.ServiceManager.Run() in /home/sandy/git-gnome/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:line 129 at Banshee.ServiceStack.Application.Run() in /home/sandy/git-gnome/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:line 108 at Banshee.Gui.GtkBaseClient.Initialize(Boolean registerCommonServices) in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 160 at Banshee.Gui.GtkBaseClient..ctor(Boolean initializeDefault, System.String defaultIconName) in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 95 at Banshee.Gui.GtkBaseClient..ctor() at Nereid.Client..ctor() at System.Reflection.MonoCMethod.InternalInvoke(System.Object , System.Object[] , System.Exception ByRef ) at System.Reflection.MonoCMethod.Invoke(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 504 at System.Reflection.MonoCMethod.Invoke(BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 519 at System.Reflection.ConstructorInfo.Invoke(System.Object[] parameters) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System.Reflection/ConstructorInfo.cs:line 77 at System.Activator.CreateInstance(System.Type type, Boolean nonPublic) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System/Activator.cs:line 337 at System.Activator.CreateInstance(System.Type type) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System/Activator.cs:line 219 at Banshee.Gui.GtkBaseClient.Startup() in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 82 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /home/sandy/git-gnome/banshee/src/Libraries/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at Banshee.Gui.GtkBaseClient.Startup() in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 77 at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) in /home/sandy/git-gnome/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 67 at Nereid.Client.Main(System.String[] args) in /home/sandy/git-gnome/banshee/src/Clients/Nereid/Nereid/Client.cs:line 54 at System.AppDomain.ExecuteAssembly(System.Reflection.Assembly , System.String[] ) at System.AppDomain.ExecuteAssemblyInternal(System.Reflection.Assembly a, System.String[] args) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System/AppDomain.cs:line 556 at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System/AppDomain.cs:line 539 at System.AppDomain.ExecuteAssembly(System.String assemblyFile) in /usr/src/packages/BUILD/mono-2.6.3/mcs/class/corlib/System/AppDomain.cs:line 528 at Booter.Booter.BootClient(System.String clientName) in /home/sandy/git-gnome/banshee/src/Clients/Booter/Booter/Entry.cs:line 106 at Booter.Booter.Main() in /home/sandy/git-gnome/banshee/src/Clients/Booter/Booter/Entry.cs:line 100
Created attachment 158846 [details] [review] Caveman approach to fixing startup crashes
BTW, presumably other people aren't seeing this crash because they don't have gtk-sharp 2.12.10, and thus aren't building with a11y support.
Review of attachment 158846 [details] [review]: I don't have a11y enabled but the patch looks good. Maybe also address those TODOs while you are at it?
Fixed: commit 864e902ce66b3a0634d13238dabc4421601eef3d Author: Gabriel Burt <gabriel.burt@gmail.com> Date: Sun Apr 25 16:01:48 2010 [Hyena] Fix ListView a11y crasher ListViewAccessible wasn't setup to support the fact that a ListView's model (and therefore its Selection) can change over time (bgo#615892). This patch was based on one from Sandy Armstrong.