Bugzilla – Bug 351745
f-spot photo import fails
Last modified: 2008-03-28 10:15:17 UTC
f-spot does 99.7% of things right here it seems; I hot plug the camera, it is detected by HAL: Jan 2 12:52:10 linux kernel: usb 5-1: new high speed USB device using ehci_hcd and address 15 Jan 2 12:52:11 linux kernel: usb 5-1: new device found, idVendor=04a9, idProduct=314f Jan 2 12:52:11 linux kernel: usb 5-1: new device strings: Mfr=1, Product=2, SerialNumber=3 Jan 2 12:52:11 linux kernel: usb 5-1: Product: Canon Digital Camera Jan 2 12:52:11 linux kernel: usb 5-1: Manufacturer: Canon Inc. Jan 2 12:52:11 linux kernel: usb 5-1: SerialNumber: B6DDBCF5BDDA4044B31A1D47F32D38AC Jan 2 12:52:11 linux kernel: usb 5-1: configuration #1 chosen from 1 choice f-spot is launched, thumbnails are shown nicely, photos are imported and the progress moves to ~100% Then - at the last minute it barfs with some error - presumably it doesn't like the JPEG files (for some strange reason): I attach stdout/stderr from f-spot, the interesting section being: open uri = file:///home/michael/Photos/2007/12/25/img_0003-1.jpg Error importing /home/michael/Photos/2007/12/25/img_0003-1.jpg System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count. Parameter name: index -1 at System.Collections.ArrayList.get_Item (Int32 index) [0x00000] at Mono.Data.SqliteClient.SqliteParameterCollection.GetParameter (Int32 parameterIndex) [0x00000] at System.Data.Common.DbParameterCollection.get_Item (Int32 index) [0x00000] at System.Data.Common.DbParameterCollection.get_Item (System.String parameterName) [0x00000] at (wrapper remoting-invoke-with-check) System.Data.Common.DbParameterCollection:get_Item (string) at Mono.Data.SqliteClient.SqliteCommand.BindParameters2 () [0x00000] at Mono.Data.SqliteClient.SqliteCommand.Prepare () [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] Could not import file and a photo of my eldest daughter :-)
Created attachment 189397 [details] f-spot log
Created attachment 189398 [details] photo
At first glance, this doesn't look like a duplicate of Bug 327122 I'm unable to reproduce the problem with the attached photo.
*** Bug 349067 has been marked as a duplicate of this bug. ***
I just started getting this bug as well. It started after: 1. using a recycled /home directory 2. doing a fresh install of openSUSE 10.3 3. finding that I get bug #327122 4. installing sqlite2 5. restarting f-spot - now it starts, but it won't import. I get the same exception as Michael.
However, I get the exception as soon as F-spot loads the first photo from the CF card - it never gets to 100%, unlike Michael's case. If I hit "skip" in the error dialog that tells me about the incorrect index, I get the same error again for the next photo.
From talking to Larry and then experimenting, this made things work for me: 0. Backup ~/.gnome2/f-spot 1. Install sqlite2 2. Run f-spot, exit it 3. Run f-spot-sqlite-upgrade 3. Run f-spot again After that, importing works fine.
*** This bug has been marked as a duplicate of bug 327122 ***
So - what about the end-users ? do they all need to run 5 steps from the command-line to be able to import pictures again ;-) Grief - I -hate- databases. Can we not have a dual representation of the tag data in an append-only log file / journal of some kind; treat that as authoritative and re-build the database if necessary.