GNOME Bugzilla – Bug 630537
Sometimes freezes with an uncaught exception during rescanning of the library
Last modified: 2011-10-23 16:32:31 UTC
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.Widgets.RoundedFrame.DrawFrame (Cairo.Context cr, Rectangle clip) [0x00000] in <filename unknown>:0 at Hyena.Widgets.RoundedFrame.OnExposeEvent (Gdk.EventExpose evnt) [0x00000] in <filename unknown>:0 at Gtk.Widget.exposeevent_cb (IntPtr widget, IntPtr evnt) [0x00000] in <filename unknown>:0 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at Gtk.Widget.exposeevent_cb(IntPtr widget, IntPtr evnt) 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.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()
New backtrace with line numbers this time. 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.Widgets.RoundedFrame.DrawFrame (Cairo.Context cr, Rectangle clip) [0x0005b] in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs:172 at Hyena.Widgets.RoundedFrame.OnExposeEvent (Gdk.EventExpose evnt) [0x00019] in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs:153 at Gtk.Widget.exposeevent_cb (IntPtr widget, IntPtr evnt) [0x00000] in <filename unknown>:0 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at Gtk.Widget.exposeevent_cb(IntPtr widget, IntPtr evnt) at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 205 at Banshee.Gui.GtkBaseClient.Startup() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 82 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at Banshee.Gui.GtkBaseClient.Startup() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 77 at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 67 at Nereid.Client.Main(System.String[] args) in /home/slomo/projects/debian/tmp/tmp1/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 /tmp/buildd/mono-2.6.7/mcs/class/corlib/System/AppDomain.cs:line 556 at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) in /tmp/buildd/mono-2.6.7/mcs/class/corlib/System/AppDomain.cs:line 539 at System.AppDomain.ExecuteAssembly(System.String assemblyFile) in /tmp/buildd/mono-2.6.7/mcs/class/corlib/System/AppDomain.cs:line 528 at Booter.Booter.BootClient(System.String clientName) in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Clients/Booter/Booter/Entry.cs:line 108 at Booter.Booter.Main() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Clients/Booter/Booter/Entry.cs:line 102
Created attachment 171046 [details] [review] debug patch Can you apply this under src/Hyena and try to reproduce it again, and attach the log?
Heh, now I'm getting a different exception in the same situation but I'll continue to try to reproduce the other one... Exception in Gtk# callback delegate Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception. GLib.MissingIntPtrCtorException: GLib.Object subclass Hyena.Data.Gui.Accessibility.ListViewAccessible`1[Banshee.Collection.TrackInfo] must provide a protected or public IntPtr ctor to support wrapping of native object handles. at GLib.ObjectManager.CreateObject (IntPtr raw) [0x00000] in <filename unknown>:0 at GLib.Object.GetObject (IntPtr o, Boolean owned_ref) [0x00000] in <filename unknown>:0 at GLib.Object.GetObject (IntPtr o) [0x00000] in <filename unknown>:0 at Gtk.Widget.get_Accessible () [0x00000] in <filename unknown>:0 at Hyena.Data.Gui.ListView`1[T].AccessibleCellRedrawn (Int32 column, Int32 row) [0x00000] in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Accessible.cs:149 at Hyena.Data.Gui.ListView`1[T].PaintCell (System.Object item, Int32 column_index, Int32 row_index, Rectangle area, Boolean opaque, Boolean bold, StateType state, Boolean dragging) [0x00132] in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:433 at Hyena.Data.Gui.ListView`1[T].PaintRow (Int32 row_index, Rectangle area, StateType state) [0x000e3] in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:395 at Hyena.Data.Gui.ListView`1[T].PaintList (Rectangle clip) [0x003d7] in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:326 at Hyena.Data.Gui.ListView`1[T].OnExposeEvent (Gdk.EventExpose evnt) [0x0010d] in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:137 at Gtk.Widget.exposeevent_cb (IntPtr widget, IntPtr evnt) [0x00000] in <filename unknown>:0 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at Gtk.Widget.exposeevent_cb(IntPtr widget, IntPtr evnt) at Gtk.Application.gtk_main() at Gtk.Application.Run() at Banshee.Gui.GtkBaseClient.Run() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 205 at Banshee.Gui.GtkBaseClient.Startup() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 82 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Hyena/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at Banshee.Gui.GtkBaseClient.Startup() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 77 at Banshee.Gui.GtkBaseClient.Startup(System.String[] args) in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:line 67 at Nereid.Client.Main(System.String[] args) in /home/slomo/projects/debian/tmp/tmp1/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 /tmp/buildd/mono-2.6.7/mcs/class/corlib/System/AppDomain.cs:line 556 at System.AppDomain.ExecuteAssembly(System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) in /tmp/buildd/mono-2.6.7/mcs/class/corlib/System/AppDomain.cs:line 539 at System.AppDomain.ExecuteAssembly(System.String assemblyFile) in /tmp/buildd/mono-2.6.7/mcs/class/corlib/System/AppDomain.cs:line 528 at Booter.Booter.BootClient(System.String clientName) in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Clients/Booter/Booter/Entry.cs:line 108 at Booter.Booter.Main() in /home/slomo/projects/debian/tmp/tmp1/banshee/src/Clients/Booter/Booter/Entry.cs:line 102
*** Bug 626329 has been marked as a duplicate of this bug. ***
*** Bug 638181 has been marked as a duplicate of this bug. ***
*** Bug 640180 has been marked as a duplicate of this bug. ***
*** Bug 568962 has been marked as a duplicate of this bug. ***
Please run banshee-1 --debug ---redirect-log and reproduce the specific steps required to trigger your problem, exit Banshee and attach the resulting ~/.config/banshee-1/log file to the report. It is very helpful if this could be done on a daily snapshot such as those provided by the Banshee daily ppa. https://launchpad.net/~banshee-team/+archive/banshee-daily
I recently experienced crashes when rescanning the music library. Just now, it happened three times in a row and I managed to create a debug log (attached). Now it works fine again, so I can't do a "banshee-1 --debug ---redirect-log" right now.
Created attachment 182047 [details] Debug log (Banshee 1.9.4) Attached debug log from Banshee 1.9.4 from the daily PPA.
serrano, that is a different bug. Can you please file it with the title "NRE at Banshee.Sources.Gui.SourceRowRenderer.RenderSelection" and attach the same log?
*** Bug 634544 has been marked as a duplicate of this bug. ***
Why is this NEEDINFO if all requested information was provided and lots of duplicates were filed?
Good question, let's move this one back and confirm it - quite a number of dups.
No, we still need info on that bug the pathc give by gabriel need to be apply and we need a "full" log with that patch. The exception stacktrace post in comment 3 have nothing to do with first exception.DrawFrame must be called and some log message from gabriel patch must appear to understand wht cause this NRE. So if someone have this issue please apply the gabriel's patch and do a log...
For the exception in comment#3 I pushed this fix to hyena: http://git.gnome.org/browse/hyena/commit/?id=b67097af422a75aef6eca233b015ac85410d5f14 For the exception in comment#0 I'm going to post a patch here for review.
Created attachment 199624 [details] [review] proposed patch to fix exception in comment#0 This patch assumes that theme was the thing that was NULL when it happened, not theme.Context. Even if theme.Context was the culprit, I think this is a good improvement to be committed.
Review of attachment 199624 [details] [review]: Thanks for the patch ! I don't really understand how the exception happens in the first place, but the patch looks like it should address it, and I don't see any ill effects. So please commit to git master and the stable branch.
Comment on attachment 199624 [details] [review] proposed patch to fix exception in comment#0 Committed to master and stable, thanks!
Now that 2 fixes were committed for this, it's very unlikely that we see this again (except if it was "theme.Context" the value that was null!). So let's close this and if anybody sees it again in git master or the upcoming 2.3.0 or 2.2.1 (or higher), please reopen!