GNOME Bugzilla – Bug 469393
Crashes when removing/deleting more than 1000 entries at once
Last modified: 2008-03-08 19:59:12 UTC
Whenever you try to remove more than 1000 entries from the library at once, Banshee crashes. How to reproduce: 1. Have a library with more than 1000 entries 2. Select more than 1000 of them 3. Press delete on your keyboard 4. Click "Remove" 5. Watch banshee crash Here's the exception backtrace (copied/pasted from the terminal in which I had started banshee): 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 ()
*** Bug 472130 has been marked as a duplicate of this bug. ***
*** Bug 486233 has been marked as a duplicate of this bug. ***
Possible duplicate: bug #471093. Also, description should be "removing" instead of "renoving" for more accurate search results.
Bug #491835 is a duplicate, using 0.13.1. Can the version be updated?
*** Bug 491835 has been marked as a duplicate of this bug. ***
Bug 500063: another duplicate, also using 0.13.1. I need me some b.g.o permissions!
andrew: cool that you're interested in helping! have you read the triage guide? feel free to visit us on irc (irc.gimp.org) in #bugs, see http://live.gnome.org/Bugsquad/TriageGuide ! in general: use your bugzilla power wisely - use common sense, and if you're not sure, ask first. happy triaging! :-)
*** Bug 500063 has been marked as a duplicate of this bug. ***
*** Bug 502432 has been marked as a duplicate of this bug. ***
*** Bug 504699 has been marked as a duplicate of this bug. ***
Bug #507885: Another duplicate using 0.13.1.
Created attachment 104540 [details] [review] banshee-sql-syntax-too-large-on-delete.patch A patch derived from Tim Retout's suggestion for the same problem on F-Spot (http://bugzilla.gnome.org/show_bug.cgi?id=494351#c2, where there's a link to a discussion in sqlite ml also): use WHERE ... IN instead of OR. It works for F-Spot. I couldn't effectively test it on banshee as I have a very small music selection.
I can't speak to how exactly, but this has been fixed in SVN. Deleting my entire 2000+ track library took about a second. ;) Unfortunately, that means this patch won't get any love, but on the other hand, trunk is shaping up nicely.
*** Bug 521244 has been marked as a duplicate of this bug. ***