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 502432 - Banshee crashes when I try to delete all songs from the library
Banshee crashes when I try to delete all songs from the library
Status: RESOLVED DUPLICATE of bug 469393
Product: banshee
Classification: Other
Component: general
0.13.1
Other Linux
: Normal critical
: 2.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-12-08 02:25 UTC by Germán Poo-Caamaño
Modified: 2007-12-12 04:15 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Germán Poo-Caamaño 2007-12-08 02:25:18 UTC
I have a library with 2783 songs.

Because there is no a easy way to delete the songs whose file doesn't exists, I tried to delete all of them to reimported again.

Steps:
1. Run Banshee
2. In the main library select all
3. Press 'Supr' button (delete from the library, not the files).

The UI gots frozen after a minute or so and then banshee crashed 
with the following traceback:

Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
Mono.Data.SqliteClient.SqliteSyntaxException: Expression tree is too large (maximum depth 1000)
  at Mono.Data.SqliteClient.SqliteCommand.GetNextStatement (IntPtr pzStart, System.IntPtr& pzTail, System.IntPtr& pStmt) [0x00000] 
  at Mono.Data.SqliteClient.SqliteCommand.ExecuteReader (CommandBehavior behavior, Boolean want_results, System.Int32& rows_affected) [0x00000] 
  at Mono.Data.SqliteClient.SqliteCommand.ExecuteNonQuery () [0x00000] 
  at Banshee.Database.QueuedSqliteCommand.Execute () [0x00000] 

   at GLib.ExceptionManager.RaiseUnhandledException ()
   at GLib.Signal.voidObjectCallback ()
   at GLib.Signal.voidObjectCallback ()
   at Gtk.Application.gtk_main ()
   at Gtk.Application.gtk_main ()
   at Gtk.Application.Run ()
   at Gnome.Program.Run ()
   at Banshee.BansheeEntry.Startup ()
   at System.MulticastDelegate.invoke_void_string[] ()
   at Banshee.Gui.CleanRoomStartup.Startup ()
   at Banshee.BansheeEntry.Main ()

Before I tried to delete the items, banshee was using 37 MB.  When I pressed
supr and confirmed the operation, it started to eat memory. When it got 55 MB
it crashed.

I didn't expect such operation could take so long time. It seems 
is building a very long SQL instruction or something like that.
Evenmore, it seems to be a O(n) operation at least, when I was
expecting something like O(1).
Comment 1 Andrew Conkling 2007-12-12 04:15:04 UTC
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find.


*** This bug has been marked as a duplicate of 469393 ***