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 469393 - Crashes when removing/deleting more than 1000 entries at once
Crashes when removing/deleting more than 1000 entries at once
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: general
0.13.1
Other Linux
: Normal critical
: 2.x
Assigned To: Banshee Maintainers
Banshee Maintainers
: 472130 486233 491835 500063 502432 504699 521244 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-08-22 21:16 UTC by Aaron Isotton
Modified: 2008-03-08 19:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
banshee-sql-syntax-too-large-on-delete.patch (1.39 KB, patch)
2008-02-06 08:20 UTC, Maxxer
none Details | Review

Description Aaron Isotton 2007-08-22 21:16:02 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 ()
Comment 1 Wade Menard 2007-10-16 19:21:22 UTC
*** Bug 472130 has been marked as a duplicate of this bug. ***
Comment 2 Wade Menard 2007-10-16 19:24:27 UTC
*** Bug 486233 has been marked as a duplicate of this bug. ***
Comment 3 Andrew Conkling 2007-10-16 19:32:39 UTC
Possible duplicate: bug #471093.

Also, description should be "removing" instead of "renoving" for more accurate search results.
Comment 4 Andrew Conkling 2007-10-30 21:30:30 UTC
Bug #491835 is a duplicate, using 0.13.1. Can the version be updated?
Comment 5 Gabriel Burt 2007-10-30 23:36:51 UTC
*** Bug 491835 has been marked as a duplicate of this bug. ***
Comment 6 Andrew Conkling 2007-11-27 23:25:06 UTC
Bug 500063: another duplicate, also using 0.13.1. I need me some b.g.o permissions!
Comment 7 André Klapper 2007-11-28 04:55:22 UTC
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! :-)
Comment 8 Wade Menard 2007-11-28 05:54:09 UTC
*** Bug 500063 has been marked as a duplicate of this bug. ***
Comment 9 Andrew Conkling 2007-12-12 04:15:04 UTC
*** Bug 502432 has been marked as a duplicate of this bug. ***
Comment 10 Andrew Conkling 2007-12-20 19:48:32 UTC
*** Bug 504699 has been marked as a duplicate of this bug. ***
Comment 11 Jason Switzer 2008-02-06 04:23:40 UTC
Bug #507885: Another duplicate using 0.13.1.
Comment 12 Maxxer 2008-02-06 08:20:11 UTC
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.
Comment 13 Andrew Conkling 2008-02-21 01:57:10 UTC
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.
Comment 14 Andrew Conkling 2008-03-08 19:59:12 UTC
*** Bug 521244 has been marked as a duplicate of this bug. ***