After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 630537 - Sometimes freezes with an uncaught exception during rescanning of the library
Sometimes freezes with an uncaught exception during rescanning of the library
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: Importing
1.7.6
Other Linux
: Normal critical
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
: 568962 626329 634544 638181 640180 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-09-24 17:39 UTC by Sebastian Dröge (slomo)
Modified: 2011-10-23 16:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug patch (1.25 KB, patch)
2010-09-24 18:01 UTC, Gabriel Burt
none Details | Review
Debug log (Banshee 1.9.4) (10.65 KB, text/plain)
2011-02-27 18:51 UTC, Serrano Pereira
  Details
proposed patch to fix exception in comment#0 (1.98 KB, patch)
2011-10-21 11:24 UTC, Andrés G. Aragoneses (IRC: knocte)
committed Details | Review

Description Sebastian Dröge (slomo) 2010-09-24 17:39:58 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()
Comment 1 Sebastian Dröge (slomo) 2010-09-24 17:45:47 UTC
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
Comment 2 Gabriel Burt 2010-09-24 18:01:07 UTC
Created attachment 171046 [details] [review]
debug patch

Can you apply this under src/Hyena and try to reproduce it again, and attach the log?
Comment 3 Sebastian Dröge (slomo) 2010-09-24 22:12:39 UTC
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
Comment 4 Gabriel Burt 2010-11-05 19:44:41 UTC
*** Bug 626329 has been marked as a duplicate of this bug. ***
Comment 5 Bertrand Lorentz 2010-12-28 15:15:48 UTC
*** Bug 638181 has been marked as a duplicate of this bug. ***
Comment 6 Bertrand Lorentz 2011-01-22 14:16:48 UTC
*** Bug 640180 has been marked as a duplicate of this bug. ***
Comment 7 Tobias Mueller 2011-02-02 18:13:31 UTC
*** Bug 568962 has been marked as a duplicate of this bug. ***
Comment 8 Tobias Mueller 2011-02-02 18:13:57 UTC
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
Comment 9 Serrano Pereira 2011-02-27 18:50:21 UTC
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.
Comment 10 Serrano Pereira 2011-02-27 18:51:55 UTC
Created attachment 182047 [details]
Debug log (Banshee 1.9.4)

Attached debug log from Banshee 1.9.4 from the daily PPA.
Comment 11 David Nielsen 2011-02-27 21:01:57 UTC
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?
Comment 12 David Nielsen 2011-04-01 23:44:17 UTC
*** Bug 634544 has been marked as a duplicate of this bug. ***
Comment 13 Sebastian Dröge (slomo) 2011-05-18 13:31:21 UTC
Why is this NEEDINFO if all requested information was provided and lots of duplicates were filed?
Comment 14 David Nielsen 2011-05-18 15:48:16 UTC
Good question, let's move this one back and confirm it - quite a number of dups.
Comment 15 olivier dufour 2011-09-03 21:53:02 UTC
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...
Comment 16 Andrés G. Aragoneses (IRC: knocte) 2011-10-21 11:09:38 UTC
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.
Comment 17 Andrés G. Aragoneses (IRC: knocte) 2011-10-21 11:24:09 UTC
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.
Comment 18 Bertrand Lorentz 2011-10-23 15:09:26 UTC
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 19 Andrés G. Aragoneses (IRC: knocte) 2011-10-23 16:31:06 UTC
Comment on attachment 199624 [details] [review]
proposed patch to fix exception in comment#0

Committed to master and stable, thanks!
Comment 20 Andrés G. Aragoneses (IRC: knocte) 2011-10-23 16:32:31 UTC
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!