GNOME Bugzilla – Bug 626699
F-spot crash at starting with message: Value is greater than Int32.MaxValue or less than Int32.MinValue
Last modified: 2010-11-23 02:22:03 UTC
I just installed F-spot 0.7.2 from the ppa repo and start it. Just before it shows anything but the main windows without pictures it throws an exception with this: An unhandled exception was thrown: Value is greater than Int32.MaxValue or less than Int32.MinValue at System.Convert.ToInt32 (Int64 value) [0x00000] in <filename unknown>:0 at System.Int64.System.IConvertible.ToInt32 (IFormatProvider provider) [0x00000] in <filename unknown>:0 at System.Convert.ToType (System.Object value, System.Type conversionType, IFormatProvider provider, Boolean try_target_to_type) [0x00000] in <filename unknown>:0 at System.Convert.ChangeType (System.Object value, System.Type conversionType, IFormatProvider provider) [0x00000] in <filename unknown>:0 at Mono.Data.Sqlite.Sqlite3.GetValue (Mono.Data.Sqlite.SqliteStatement stmt, Int32 index, Mono.Data.Sqlite.SqliteType typ) [0x00000] in <filename unknown>:0 at Mono.Data.Sqlite.SqliteDataReader.GetValue (Int32 i) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader.ReadAllRows (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader..ctor (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) Hyena.Data.Sqlite.HyenaSqliteArrayDataReader:.ctor (Mono.Data.Sqlite.SqliteDataReader) at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00000] in <filename unknown>:0 .NET Version: 2.0.50727.1433 OS Version: Unix 2.6.35.0 Assembly Version Information: glade-sharp (2.12.0.0) FSpot.Bling (0.7.0.0) TagLib (0.7.0.0) pango-sharp (2.12.0.0) FSpot.Query (0.7.0.0) gtk-sharp-beans (2.14.0.0) gnome-sharp (2.24.0.0) System.Transactions (2.0.0.0) System.Data (2.0.0.0) Mono.Data.Sqlite (0.7.0.0) Hyena.Data.Sqlite (0.7.0.0) FSpot.JobScheduler (0.7.0.0) System.Core (3.5.0.0) unique-sharp (1.0.0.0) System.Configuration (2.0.0.0) FSpot.Gui (0.7.0.0) System.Xml (2.0.0.0) Mono.Addins (0.4.0.0) Mono.Addins.Setup (0.4.0.0) gconf-sharp (2.24.0.0) Hyena.Gui (0.7.0.0) atk-sharp (2.12.0.0) System (2.0.0.0) gtk-sharp (2.12.0.0) FSpot.Cms (0.7.0.0) FSpot.Core (0.7.0.0) FSpot.Platform (0.7.0.0) Mono.Posix (2.0.0.0) gdk-sharp (2.12.0.0) Hyena (0.7.0.0) glib-sharp (2.12.0.0) FSpot.Utils (0.7.0.0) f-spot (0.7.0.0) mscorlib (2.0.0.0) Platform Information: Linux 2.6.35 i686 unknown GNU/Linux Disribution Information: [/etc/lsb-release] DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.04 DISTRIB_CODENAME=lucid DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS" [/etc/debian_version] squeeze/sid I don't know if it may be because of the amount of pictures in my database approximately 12k, but f-spot 0.7.1 was handling them fine. Launching it with the --debug flag it shows this in the shell: f-spot --debug ** Running f-spot in Debug Mode ** ** Running Mono with --debug ** [1 Info 20:12:41.221] Initializing Mono.Addins [1 Debug 20:12:41.646] Mono.Addins Initialization took 0.403497 [1 Debug 20:12:42.419] Db Initialization took 0.421361 [1 Debug 20:12:43.120] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 20:12:43.467] QueryToTemp took 0.346682 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 20:12:43.467] Reloading the query took 0.352367 [2 Debug 20:12:43.881] Exception executing command: SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 Value is greater than Int32.MaxValue or less than Int32.MinValue System.OverflowException: Value is greater than Int32.MaxValue or less than Int32.MinValue at System.Convert.ToInt32 (Int64 value) [0x00000] in <filename unknown>:0 at System.Int64.System.IConvertible.ToInt32 (IFormatProvider provider) [0x00000] in <filename unknown>:0 at System.Convert.ToType (System.Object value, System.Type conversionType, IFormatProvider provider, Boolean try_target_to_type) [0x00000] in <filename unknown>:0 at System.Convert.ChangeType (System.Object value, System.Type conversionType, IFormatProvider provider) [0x00000] in <filename unknown>:0 at Mono.Data.Sqlite.Sqlite3.GetValue (Mono.Data.Sqlite.SqliteStatement stmt, Int32 index, Mono.Data.Sqlite.SqliteType typ) [0x00000] in <filename unknown>:0 at Mono.Data.Sqlite.SqliteDataReader.GetValue (Int32 i) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader.ReadAllRows (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader..ctor (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) Hyena.Data.Sqlite.HyenaSqliteArrayDataReader:.ctor (Mono.Data.Sqlite.SqliteDataReader) at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00000] in <filename unknown>:0 [3 Debug 20:12:44.075] PhotosPerMonth took 0.346257 [3 Debug 20:12:44.080] TimeAdaptor REAL Reload took 0.564962
Could you run this again with --debug?
I did it, it do the same thing and the messages printed in the shell are in the last part of the bug report, or, is there any part missing?
It should have line numbers and filenames in the stack trace when you do that.
I hope this help you, I don't know the name of the package that I need to install for sqlite debug flags. If you tell me I'll install them and run f-spot with --debug again. f-spot --debug ** Running f-spot in Debug Mode ** ** Running Mono with --debug ** [1 Info 11:35:55.222] Initializing Mono.Addins [1 Debug 11:35:55.617] Mono.Addins Initialization took 0.380232 [1 Debug 11:35:56.348] Db Initialization took 0.426825 [1 Debug 11:35:57.097] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 11:35:57.458] QueryToTemp took 0.360681 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 11:35:57.458] Reloading the query took 0.366464 [2 Debug 11:35:57.988] PhotosPerMonth took 0.268088 [2 Debug 11:35:57.990] TimeAdaptor REAL Reload took 0.495456 [3 Debug 11:35:57.993] Exception executing command: SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 Value is greater than Int32.MaxValue or less than Int32.MinValue System.OverflowException: Value is greater than Int32.MaxValue or less than Int32.MinValue at System.Convert.ToInt32 (Int64 value) [0x0002b] in /build/buildd/mono-2.6.3/mcs/class/corlib/System/Convert.cs:1249 at System.Int64.System.IConvertible.ToInt32 (IFormatProvider provider) [0x00000] in /build/buildd/mono-2.6.3/mcs/class/corlib/System/Int64.cs:562 at System.Convert.ToType (System.Object value, System.Type conversionType, IFormatProvider provider, Boolean try_target_to_type) [0x00139] in /build/buildd/mono-2.6.3/mcs/class/corlib/System/Convert.cs:2906 at System.Convert.ChangeType (System.Object value, System.Type conversionType, IFormatProvider provider) [0x00017] in /build/buildd/mono-2.6.3/mcs/class/corlib/System/Convert.cs:2507 at Mono.Data.Sqlite.Sqlite3.GetValue (Mono.Data.Sqlite.SqliteStatement stmt, Int32 index, Mono.Data.Sqlite.SqliteType typ) [0x00000] in <filename unknown>:0 at Mono.Data.Sqlite.SqliteDataReader.GetValue (Int32 i) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader.ReadAllRows (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader..ctor (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) Hyena.Data.Sqlite.HyenaSqliteArrayDataReader:.ctor (Mono.Data.Sqlite.SqliteDataReader) at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00000] in <filename unknown>:0 [4 Debug 11:36:00.966] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.967] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.967] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.967] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.967] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.967] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.967] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.967] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.968] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 11:36:00.968] Finalizer called on FSpot.Core.Category. Should be Disposed
What else can I do for you?
Hmmm, that doesn't show much. Could you attach your database file or email it to me (ruben@savanne.be), unless it contains too much sensitive data. I'm pretty sure we can fix this once the problem is pinpointed.
While importing some images (all were imported) f-spot crashed. Afterwards it didn't start anymore. Full log (message is the same as original report, but contains more information). I'm using F-spot 0.8.0 (Ubuntu maverick version). I will attach my database. nathan@gamma:~$ f-spot --debug ** Running f-spot in Debug Mode ** ** Running Mono with --debug ** [1 Info 01:45:54.695] Initializing Mono.Addins [1 Debug 01:45:55.113] Mono.Addins Initialization took 0,387844 [1 Debug 01:45:56.282] Db Initialization took 0,62081 [1 Debug 01:45:57.136] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 01:45:57.239] QueryToTemp took 0,103629 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 01:45:57.240] Reloading the query took 0,107546 [2 Debug 01:45:57.499] PhotosPerMonth took 0,038559 [2 Debug 01:45:57.502] TimeAdaptor REAL Reload took 0,244232 [1 Debug 01:45:57.593] Query took 0,012333 : SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 [1 Debug 01:45:57.705] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time ASC, filename ASC [1 Debug 01:45:57.792] QueryToTemp took 0,087123 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time ASC, filename ASC [3 Debug 01:45:57.833] Exception executing command: SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 Value is greater than Int32.MaxValue or less than Int32.MinValue System.OverflowException: Value is greater than Int32.MaxValue or less than Int32.MinValue at System.Convert.ToInt32 (Int64 value) [0x00000] in <filename unknown>:0 at System.Int64.System.IConvertible.ToInt32 (IFormatProvider provider) [0x00000] in <filename unknown>:0 at System.Convert.ToType (System.Object value, System.Type conversionType, IFormatProvider provider, Boolean try_target_to_type) [0x00000] in <filename unknown>:0 at System.Convert.ChangeType (System.Object value, System.Type conversionType, IFormatProvider provider) [0x00000] in <filename unknown>:0 at Mono.Data.Sqlite.Sqlite3.GetValue (Mono.Data.Sqlite.SqliteStatement stmt, Int32 index, Mono.Data.Sqlite.SqliteType typ) [0x00000] in <filename unknown>:0 at Mono.Data.Sqlite.SqliteDataReader.GetValue (Int32 i) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader.ReadAllRows (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader..ctor (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) Hyena.Data.Sqlite.HyenaSqliteArrayDataReader:.ctor (Mono.Data.Sqlite.SqliteDataReader) at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00000] in <filename unknown>:0 [4 Debug 01:45:58.029] PhotosPerMonth took 0,033418 [4 Debug 01:45:58.030] TimeAdaptor REAL Reload took 0,234259 Exception in Gtk# callback delegate Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception. System.ArgumentOutOfRangeException: Argument is out of range. Parameter name: Parameters describe an unrepresentable DateTime. at System.DateTime..ctor (Int32 year, Int32 month, Int32 day, Int32 hour, Int32 minute, Int32 second, Int32 millisecond) [0x00000] in <filename unknown>:0 at System.DateTime..ctor (Int32 year, Int32 month, Int32 day) [0x00000] in <filename unknown>:0 at FSpot.TimeAdaptor.DateFromIndexAscending (Int32 item) [0x00000] in <filename unknown>:0 at FSpot.TimeAdaptor.DateFromIndex (Int32 item) [0x00000] in <filename unknown>:0 at FSpot.TimeAdaptor.TickLabel (Int32 item) [0x00000] in <filename unknown>:0 at FSpot.GroupSelector.HandleAdaptorChanged (FSpot.GroupAdaptor adaptor) [0x00000] in <filename unknown>:0 at (wrapper delegate-invoke) FSpot.GroupAdaptor/ChangedHandler:invoke_void__this___GroupAdaptor (FSpot.GroupAdaptor) at FSpot.TimeAdaptor+<DoReload>c__AnonStorey19.<>m__6B () [0x00000] in <filename unknown>:0 at FSpot.Driver+<RunIdle>c__AnonStorey11.<>m__50 () [0x00000] in <filename unknown>:0 at GLib.Idle+IdleProxy.Handler () [0x00000] in <filename unknown>:0 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at GLib.Idle+IdleProxy.Handler() at Gtk.Dialog.gtk_dialog_run(IntPtr ) at Gtk.Dialog.Run() at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) at FSpot.Driver.Main(System.String[] args) nathan@gamma:~$
Since my database is too large to upload, I'll post a link: http://users.skynet.be/sb306975/photos.db
I get the same error. Is photoquery_temp_0 a table that I could safely empty out? I'm not sure where the sqlite3 db is on disk, or I could examine the table. I also have a lot of photos, I can't check the total but it's easily over 1000. Running 10.04, my f-spot is the latest using the source deb http://ppa.launchpad.net/f-spot/f-spot-ppa/ubuntu lucid main $ f-spot --debug ** Running f-spot in Debug Mode ** ** Running Mono with --debug ** [1 Info 07:58:48.478] Initializing Mono.Addins [1 Debug 07:58:49.070] Mono.Addins Initialization took 0.52805 (f-spot:14654): Gtk-WARNING **: Unable to locate theme engine in module_path: "ubuntulooks", [1 Debug 07:58:49.747] Db Initialization took 0.341824 [1 Debug 07:58:51.646] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 07:58:52.667] QueryToTemp took 1.020753 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 07:58:52.667] Reloading the query took 1.031546 [2 Debug 07:58:53.618] PhotosPerMonth took 0.619771 [2 Debug 07:58:53.623] TimeAdaptor REAL Reload took 0.851642 [3 Debug 07:58:53.776] Exception executing command: SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 Value is greater than Int32.MaxValue or less than Int32.MinValue System.OverflowException: Value is greater than Int32.MaxValue or less than Int32.MinValue at System.Convert.ToInt32 (Int64 value) [0x00000] at System.Int64.System.IConvertible.ToInt32 (IFormatProvider provider) [0x00000] at System.Convert.ToType (System.Object value, System.Type conversionType, IFormatProvider provider, Boolean try_target_to_type) [0x00000] at System.Convert.ChangeType (System.Object value, System.Type conversionType, IFormatProvider provider) [0x00000] at Mono.Data.Sqlite.Sqlite3.GetValue (Mono.Data.Sqlite.SqliteStatement stmt, Int32 index, Mono.Data.Sqlite.SqliteType typ) [0x00000] at Mono.Data.Sqlite.SqliteDataReader.GetValue (Int32 i) [0x00000] at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader.ReadAllRows (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader..ctor (Mono.Data.Sqlite.SqliteDataReader reader) [0x00000] at (wrapper remoting-invoke-with-check) Hyena.Data.Sqlite.HyenaSqliteArrayDataReader:.ctor (Mono.Data.Sqlite.SqliteDataReader) at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00000] [4 Debug 07:58:56.920] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 07:58:56.921] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 07:58:56.923] Finalizer called on FSpot.Core.Tag. Should be Disposed [4 Debug 07:58:56.924] Finalizer called on FSpot.Database.Db. Should be Disposed [4 Debug 07:58:56.925] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 07:58:56.926] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 07:58:56.926] Finalizer called on FSpot.Core.Category. Should be Disposed [4 Debug 07:58:56.948] Finalizer called on FSpot.Utils.DisposableCache`2[System.String,Gdk.Pixbuf]. Should be Disposed
Getting the exact same thing as nathansamson@gmail.com, I imported photos and then it won't let me see them. They are pictures from a while ago so it'll still launch but it won't let me see 'the last import' without crashing. [1 Info 10:00:28.169] Initializing Mono.Addins [1 Debug 10:00:28.467] Mono.Addins Initialization took 0.276339 [1 Debug 10:00:28.949] Db Initialization took 0.203239 [1 Debug 10:00:29.575] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 10:00:29.992] QueryToTemp took 0.417167 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 10:00:29.992] Reloading the query took 0.419451 [2 Debug 10:00:30.457] PhotosPerMonth took 0.229114 [2 Debug 10:00:30.459] TimeAdaptor REAL Reload took 0.444261 [1 Debug 10:00:30.461] Query took 0.194523 : SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 [1 Debug 10:00:30.528] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 10:00:30.914] QueryToTemp took 0.385972 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 10:00:30.947] Query took 0.001471 : SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 [1 Debug 10:00:31.196] open uri = file:///media/sdb1/fspot/2010/10/24/IMG_4655.JPG [1 Debug 10:00:31.221] Reloading the query took 0.693163 [3 Debug 10:00:31.350] PhotosPerMonth took 0.231985 [3 Debug 10:00:31.350] TimeAdaptor REAL Reload took 0.432832 [1 Debug 10:00:31.414] Query took 0.00447 : SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 100 (f-spot:12785): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference. [1 Debug 10:00:31.978] Loading image took 1.029551 [1 Debug 10:00:35.463] Query Started : SELECT * FROM photos WHERE photos.roll_id IN (59) AND photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 10:00:35.498] QueryToTemp took 0.03531 : SELECT * FROM photos WHERE photos.roll_id IN (59) AND photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 10:00:35.502] IndexOf took 0.000149 : SELECT ROWID AS row_id FROM photoquery_temp_0 WHERE id = 29803 [4 Debug 10:00:35.503] Exception executing command: SELECT * FROM photoquery_temp_0 LIMIT 100 OFFSET 0 Marshaling activate signal Exception in Gtk# callback delegate Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception. System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.OverflowException: Value is greater than Int32.MaxValue or less than Int32.MinValue at System.Convert.ToInt32 (Int64 value) [0x0002b] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System/Convert.cs:1253 at System.Int64.System.IConvertible.ToInt32 (IFormatProvider provider) [0x00000] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System/Int64.cs:562 at System.Convert.ToType (System.Object value, System.Type conversionType, IFormatProvider provider, Boolean try_target_to_type) [0x00139] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System/Convert.cs:2910 at System.Convert.ChangeType (System.Object value, System.Type conversionType, IFormatProvider provider) [0x00017] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System/Convert.cs:2511 at Mono.Data.Sqlite.Sqlite3.GetValue (Mono.Data.Sqlite.SqliteStatement stmt, Int32 index, Mono.Data.Sqlite.SqliteType typ) [0x000ee] in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/lib/Hyena/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLite3.cs:662 at Mono.Data.Sqlite.SqliteDataReader.GetValue (Int32 i) [0x0002b] in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/lib/Hyena/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLiteDataReader.cs:839 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader.ReadAllRows (Mono.Data.Sqlite.SqliteDataReader reader) [0x000a1] in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/lib/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/HyenaSqliteArrayDataReader.cs:134 at Hyena.Data.Sqlite.HyenaSqliteArrayDataReader..ctor (Mono.Data.Sqlite.SqliteDataReader reader) [0x0002a] in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/lib/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/HyenaSqliteArrayDataReader.cs:74 at (wrapper remoting-invoke-with-check) Hyena.Data.Sqlite.HyenaSqliteArrayDataReader:.ctor (Mono.Data.Sqlite.SqliteDataReader) at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00084] in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/lib/Hyena/Hyena.Data.Sqlite/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:103 --- End of inner exception stack trace --- at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000eb] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System.Reflection/MonoMethod.cs:223 at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System.Reflection/MethodBase.cs:113 at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x000b9] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System/Delegate.cs:443 at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00018] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System/MulticastDelegate.cs:71 at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in /var/tmp/portage/dev-lang/mono-2.6.7/work/mono-2.6.7/mcs/class/corlib/System/Delegate.cs:415 at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in <filename unknown>:0 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) at Gtk.Application.gtk_main() at Gtk.Application.Run() at FSpot.Driver.Startup() in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/src/Clients/MainApp/FSpot/main.cs:line 355 at Hyena.Gui.CleanRoomStartup.Startup(Hyena.Gui.StartupInvocationHandler startup) in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/lib/Hyena/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:line 54 at FSpot.Driver.Main(System.String[] args) in /var/tmp/portage/media-gfx/f-spot-0.8.0/work/f-spot-0.8.0/src/Clients/MainApp/FSpot/main.cs:line 273 [5 Debug 10:00:35.544] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.544] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.544] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.545] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.545] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.545] Finalizer called on FSpot.Core.Tag. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.547] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.548] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed [5 Debug 10:00:35.549] Finalizer called on FSpot.Core.Category. Should be Disposed
Is it possible to export my data and tags to another photo management app or does this error prevent it?
Created attachment 174412 [details] [review] A patch to prevent time values greater than Int32.MaxValue and less than Int32.MinValue. They will be respectively capped at those values if they fall outside the range. This is a bug in Hyena (Mono.Data.Sqlite code actually) that is incorrectly mapping the database type as Int32 instead of the correct type of Int64. This will prevent problems for occuring until this is fixed. It limits pictures to basically 1902-2037. This seems reasonable for now.
Sorry to everyone that is dealing with this problem. The patch should prevent it from happening in 0.8.1 but it doesn't help those of you who have a database problem. It most likely resulted from importing a picture with an invalid date/time. This resulted in a value in the time field of the photos table that cannot be correctly handled when the database is loaded. BACKUP YOUR DATABASE FIRST! It is easy enough to fix. If you run the following commands from the terminal: echo 'update photos set time=-2147483647 where time<-2147483647;' | sqlite3 ~/.config/f-spot/photos.db echo 'update photos set time=2147483647 where time>2147483647;' | sqlite3 ~/.config/f-spot/photos.db Each one should be run separately and it operates on a database file in the default location. If you have your database in another location you will need to change the path "~/.config/f-spot/photos.db" accordingly.
Comment on attachment 174412 [details] [review] A patch to prevent time values greater than Int32.MaxValue and less than Int32.MinValue. They will be respectively capped at those values if they fall outside the range. This is a patch against stable-0.8.
Confirmed Hyena master HEAD (2e94a81e7547edbbb9fe7c1204c14483413880d7) fixes this issue.
I have merged the code from your branch to port to Hyena.Data.Sqlite, which solves the issue. People should retest from git (master or stable-0.8), but this bug should finally be fixed.
Review of attachment 174412 [details] [review]: Not needed now that Hyena is updated.
*** Bug 635340 has been marked as a duplicate of this bug. ***