GNOME Bugzilla – Bug 667355
SQL error
Last modified: 2012-01-08 12:09:54 UTC
Doing some generic debugging on the latest git-master. (Feedback not needed) After upgrading from latest stable and starting freshly built 2.3.3 this happens from time to time when doing a fingerprint on a song... Have not recreated the database yet... sqlite-3.7.7.1 Result of this is of course a crash.. Will update bug if problem does not appear after recreating the database. [9 Debug 15:20:07.626] Watcher: sleeping 1ms [9 Debug 15:20:07.628] Watcher: sleeping 2ms [4 Debug 15:20:07.644] Exception executing command: INSERT INTO CoreRemovedTracks (DateRemovedStamp, TrackID, Uri) SELECT 1325773207, TrackID, CoreTracks.Uri FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '') ; DELETE FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '') [4 Warn 15:20:07.646] Caught an exception - Hyena.Data.Sqlite.SqliteException: Sqlite error 1: ESCAPE expression must be a single character (SQL: INSERT INTO CoreRemovedTracks (DateRemovedStamp, TrackID, Uri) SELECT 1325773207, TrackID, CoreTracks.Uri FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '') ; DELETE FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '')) (in `Hyena.Data.Sqlite') at Hyena.Data.Sqlite.Connection.CheckError (Int32 errorCode, System.String sql) [0x0003b] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/Sqlite.cs:107 at Hyena.Data.Sqlite.Connection.Execute (System.String sql) [0x00000] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/Sqlite.cs:133 at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Hyena.Data.Sqlite.Connection connection) [0x000a8] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:110 Unhandled Exception: Hyena.Data.Sqlite.SqliteException: Sqlite error 1: ESCAPE expression must be a single character (SQL: INSERT INTO CoreRemovedTracks (DateRemovedStamp, TrackID, Uri) SELECT 1325773207, TrackID, CoreTracks.Uri FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '') ; DELETE FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '')) at Hyena.Data.Sqlite.Connection.CheckError (Int32 errorCode, System.String sql) [0x0003b] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/Sqlite.cs:107 at Hyena.Data.Sqlite.Connection.Execute (System.String sql) [0x00000] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/Sqlite.cs:133 at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Hyena.Data.Sqlite.Connection connection) [0x000a8] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:110 [ERROR] FATAL UNHANDLED EXCEPTION: Hyena.Data.Sqlite.SqliteException: Sqlite error 1: ESCAPE expression must be a single character (SQL: INSERT INTO CoreRemovedTracks (DateRemovedStamp, TrackID, Uri) SELECT 1325773207, TrackID, CoreTracks.Uri FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '') ; DELETE FROM CoreTracks WHERE TrackID IN (SELECT TrackID FROM CoreTracks WHERE CoreTracks.Uri LIKE 'file:///Music/AC\_DC/Live/2-02\%20Are\%20You\%20Ready.mp3/_%' ESCAPE '')) at Hyena.Data.Sqlite.Connection.CheckError (Int32 errorCode, System.String sql) [0x0003b] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/Sqlite.cs:107 at Hyena.Data.Sqlite.Connection.Execute (System.String sql) [0x00000] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/Sqlite.cs:133 at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Hyena.Data.Sqlite.Connection connection) [0x000a8] in /var/tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:110
Exact same problem happens when starting with a clean database.
Created attachment 204696 [details] [review] patch "ESCAPE '\\'" instead of "ESCAPE '\'"
The problem seems to be related to the librarywatcher together with fingerprinting. If library watcher is disabled the problem does not seem to appear. See the uploaded patch.
Good catch, and thanks for the patch ! This was caused by recent refactoring, which messed up the SQL query escaping. I've committed a different patch, taking the opportunity to try to make the query construction a bit clearer: http://git.gnome.org/browse/banshee/commit/?id=48f6ac2b9d
*** Bug 667154 has been marked as a duplicate of this bug. ***