Bug 555166 - F-Spot Fatal Error on photo import from camera
Summary: F-Spot Fatal Error on photo import from camera
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: f-spot
Version: 11
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Christian Krause
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-13 20:56 UTC by morgan read
Modified: 2010-03-05 19:44 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-05 19:44:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Fatal Error text (3.34 KB, text/plain)
2010-01-13 20:56 UTC, morgan read
no flags Details
File 1 As per Comment 2 (61.99 KB, text/plain)
2010-01-20 08:48 UTC, morgan read
no flags Details
File 2 As per Comment 2 (123.96 KB, text/plain)
2010-01-20 08:50 UTC, morgan read
no flags Details
File 3 As per Comment 2 (125.73 KB, text/plain)
2010-01-20 08:52 UTC, morgan read
no flags Details
File 4 As per Comment 2 (2.30 KB, text/plain)
2010-01-20 08:53 UTC, morgan read
no flags Details
SetUp as per Comment 8 (736 bytes, text/plain)
2010-02-22 11:36 UTC, morgan read
no flags Details
Terminal as per Comment 8 (19.66 KB, text/plain)
2010-02-22 11:37 UTC, morgan read
no flags Details
DBusMonitor as per Comment 8 (117.73 KB, text/plain)
2010-02-22 11:37 UTC, morgan read
no flags Details
my-logfile as per Comment 8 (397.19 KB, text/plain)
2010-02-22 11:38 UTC, morgan read
no flags Details

Description morgan read 2010-01-13 20:56:00 UTC
Created attachment 383555 [details]
Fatal Error text

Description of problem:
Importing photos PTP mode from Sony DSC-P8 causes an error in the Transfering Pictures window ("Unspecified error..." & cpu 100%) followed by programme crash - with the text attached provided in an "F-Spot Encountered a Fatal Error: Object reference not set to an instance an object" window (2 examples in attachment).

Also, this error when connecting camera to computer:
Unable to mount Sony Corp. DSC-xxx (ptp)
DBus error org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

Version-Release number of selected component (if applicable):
F-Spot 0.6.1.5

How reproducible:
Always

Steps to Reproduce:
1. Connect camera via usb
2. Turn camera on
3. Symptoms as above
  
Actual results:
Fatal error

Expected results:
Import photos

Additional info:

Comment 1 Christian Krause 2010-01-18 21:32:32 UTC
Thank you very much for the bug report. Unfortunately I can't reproduce it with my Canon A610 in F11 - importing photos via PTP works without any problems.

Here are a couple of questions which may help to find the problem:

1. Please can you start as a regular user the program "dbus-monitor" to verify, that there is a session dbus running? If you see events then it works, otherwise you'll get an error message that the session bus can't be connected.

2. After the problem happened, can you check, whether your camera is mounted via gvfsd:
ls -la ~/.gvfs/

3. Was f-spot already started, before you tried the import?

4.
- please configure in nautlus / edit / preferences / media "Do nothing" for Photos
- then turn on the camera, then the camera should have been automatically mounted via gvfs anyway (see 2.).
- then umount it manually with "gvfs-mount --unmount-scheme gphoto2"
- check on which USB bus the camera is connected: "lsusb"
- call f-spot-import manually with "f-spot /usr/lib/f-spot/f-spot.exe --import gphoto2:usb:002,018" (please make sure to adjust the last two numbers accordingly with the bus,device number from the previous step)
- if there is any output, please paste it here, too

Comment 2 morgan read 2010-01-20 08:45:48 UTC
> 1. Please can you start as a regular user the program "dbus-monitor" to verify,
> that there is a session dbus running? If you see events then it works,
> otherwise you'll get an error message that the session bus can't be connected.

$ dbus-monitor
signal sender=org.freedesktop.DBus -> dest=:1.108 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.108"
method call sender=:1.108 -> dest=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='method_call'"
method call sender=:1.108 -> dest=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='method_return'"
method call sender=:1.108 -> dest=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='error'"

But, then when I plugged the camera in there was a whole lot of more promising events - attached as 1st text file

> 2. After the problem happened, can you check, whether your camera is mounted
> via gvfsd:
> ls -la ~/.gvfs/

$ ls -la ~/.gvfs/
total 8
dr-x------.  2 morgan morgan    0 2010-01-20 15:43 .
drwx------. 64 morgan morgan 4096 2010-01-20 20:59 ..

No, but...
I'm getting ahead here...
I have in nautilus / edit / preferences / media "Open F-Spot Photo Import".  And, when as soon as the camera is turned on and before F-Spot Photo Import launches, the above command provides:
$ ls -la ~/.gvfs/
total 8
dr-x------.  3 morgan morgan    0 2010-01-20 15:43 .
drwx------. 64 morgan morgan 4096 2010-01-20 21:02 ..
drwx------.  1 morgan morgan    0 1970-01-01 12:00 gphoto2 mount on usb%3A002,001

And, there is a "Sony Corp. DSC-xxx (ptp)" icon on the desktop, in the gnome computer:/// space and 2(!) such icons in the nautilus browser side-pane tree.  But, when the F-Spot Photo Import launches the desktop and 2 nautilus browser side-pane tree icons disappear (but the gnome computer:/// space icon remains in the nautilus browser - and when attempting to open provides the error window: Unable to mount location; Error initializing camera: -60: Could not lock the device).

And, also after F-Spot Photo Import launches:

$ ls -la ~/.gvfs/
total 8
dr-x------.  2 morgan morgan    0 2010-01-20 15:43 .
drwx------. 64 morgan morgan 4096 2010-01-20 20:59 ..

As above.


> 3. Was f-spot already started, before you tried the import?

No


> 4.
> - please configure in nautilus / edit / preferences / media "Do nothing" for
> Photos

OK



> - then turn on the camera, then the camera should have been automatically
> mounted via gvfs anyway (see 2.).

Yes, all mounted as I've described under 2. above before F-Spot Photo Import launches.


> - then umount it manually with "gvfs-mount --unmount-scheme gphoto2"

OK, unmounted - but the gnome computer:/// space icon remains and instead of providing an error (as above) when attempting to open, mounts the camera (I assume this correct behaviour?).

(Sometimes when switching on the camera it is mounted as "Linux Foundation 1.1 root hub" with the following:
$ ls -la ~/.gvfs/
ls: cannot access /home/morgan/.gvfs/gphoto2 mount on usb%3A002,001: Input/output error
total 8
dr-x------.  3 morgan morgan    0 2010-01-20 15:43 .
drwx------. 64 morgan morgan 4096 2010-01-20 21:07 ..
???????????  ? ?      ?         ?                ? gphoto2 mount on usb%3A002,001

and the rest as above in 2.  Perhaps connected?)


> - check on which USB bus the camera is connected: "lsusb"

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 413c:2002 Dell Computer Corp. SK-8125 Keyboard
Bus 003 Device 004: ID 045e:0040 Microsoft Corp. Wheel Mouse Optical
Bus 003 Device 002: ID 413c:1002 Dell Computer Corp. Keyboard Hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 054c:004e Sony Corp. DSC-xxx (ptp)
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


> - call f-spot-import manually with "f-spot /usr/lib/f-spot/f-spot.exe --import
> gphoto2:usb:002,018" (please make sure to adjust the last two numbers
> accordingly with the bus,device number from the previous step)

$ f-spot /usr/lib/f-spot/f-spot.exe --import gphoto2:usb:002,003
[Info  17:58:55.155] Initializing DBus
[Info  17:58:55.360] Initializing Mono.Addins
[Info  17:58:55.624] Starting new FSpot server (f-spot 0.6.1.5)

(f-spot:15056): 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.
error checking orientation
error checking orientation
Error GeneralError: LibGPhoto2.GPhotoException: Unspecified error
  at LibGPhoto2.Error.CheckError (ErrorCode error) [0x00000] 
  at LibGPhoto2.Camera.GetFile (System.String folder, System.String name, CameraFileType type, LibGPhoto2.CameraFile camera_file, LibGPhoto2.Context context) [0x00000] 
  at GPhotoCamera.SaveFile (Int32 index, System.String filename) [0x00000] 
  at FSpot.CameraFileSelectionDialog.SaveFile (Int32 index) [0x00000] 
  at FSpot.CameraFileSelectionDialog.Download () [0x00000] 


> - if there is any output, please paste it here, too    
OK, I'm posting 4 text files:
#4 is the above commands as executed
#1-3 is dbus-monitor output in tandem with #4
#1 is from the top
#2 is somewhere in between
#3 is to the end where I dismissed "Unspecified error..." window (you can see where I executed "f-spot /usr/lib/f-spot/f-spot.exe --import gphoto2:usb:002,003" because the cut'n'paste included a return so the command threw an error in the dbus-monitor output)

Comment 3 morgan read 2010-01-20 08:48:07 UTC
Created attachment 385622 [details]
File 1 As per Comment 2

Comment 4 morgan read 2010-01-20 08:50:58 UTC
Created attachment 385623 [details]
File 2 As per Comment 2

Comment 5 morgan read 2010-01-20 08:52:20 UTC
Created attachment 385624 [details]
File 3 As per Comment 2

Comment 6 morgan read 2010-01-20 08:53:22 UTC
Created attachment 385625 [details]
File 4 As per Comment 2

Comment 7 Christian Krause 2010-02-07 23:32:54 UTC
(In reply to comment #2)
> > 1. Please can you start as a regular user the program "dbus-monitor" to verify,
> > that there is a session dbus running? If you see events then it works,
> > otherwise you'll get an error message that the session bus can't be connected.
> 
> $ dbus-monitor
> signal sender=org.freedesktop.DBus -> dest=:1.108 serial=2
> path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired

Ok, good. The session dbus is running. By look at the other details you've presented, I thend to exclude the dbus from list of possible root causes.

> > 2. After the problem happened, can you check, whether your camera is mounted
> > via gvfsd:
> > ls -la ~/.gvfs/
> 
> $ ls -la ~/.gvfs/
> total 8
> dr-x------.  2 morgan morgan    0 2010-01-20 15:43 .
> drwx------. 64 morgan morgan 4096 2010-01-20 20:59 ..

Ok, that's expected.

> No, but...
> I'm getting ahead here...
> I have in nautilus / edit / preferences / media "Open F-Spot Photo Import". 
> And, when as soon as the camera is turned on and before F-Spot Photo Import
> launches, the above command provides:
> $ ls -la ~/.gvfs/
> total 8
> dr-x------.  3 morgan morgan    0 2010-01-20 15:43 .
> drwx------. 64 morgan morgan 4096 2010-01-20 21:02 ..
> drwx------.  1 morgan morgan    0 1970-01-01 12:00 gphoto2 mount on
> usb%3A002,001

Yes, same here. That's also expected.

> And, there is a "Sony Corp. DSC-xxx (ptp)" icon on the desktop, in the gnome
> computer:/// space and 2(!) such icons in the nautilus browser side-pane tree. 

Ok, I have only one icon, but so far it looks ok.

> But, when the F-Spot Photo Import launches the desktop and 2 nautilus browser
> side-pane tree icons disappear (but the gnome computer:/// space icon remains
> in the nautilus browser - and when attempting to open provides the error
> window: Unable to mount location; Error initializing camera: -60: Could not
> lock the device).

Yeah, that's also expected.

> And, also after F-Spot Photo Import launches:
> 
> $ ls -la ~/.gvfs/
> total 8
> dr-x------.  2 morgan morgan    0 2010-01-20 15:43 .
> drwx------. 64 morgan morgan 4096 2010-01-20 20:59 ..
> 

Correct. The startup-script of f-spot unmounts the gvfs mount since f-spot needs to open the camera via gphoto2 again.

> > - then umount it manually with "gvfs-mount --unmount-scheme gphoto2"
> 
> OK, unmounted - but the gnome computer:/// space icon remains and instead of
> providing an error (as above) when attempting to open, mounts the camera (I
> assume this correct behaviour?).


Yes, as long as f-spot has not opened the camera device already, it should work like this.

> (Sometimes when switching on the camera it is mounted as "Linux Foundation 1.1
> root hub" with the following:
> $ ls -la ~/.gvfs/
> ls: cannot access /home/morgan/.gvfs/gphoto2 mount on usb%3A002,001:
> Input/output error
> total 8
> dr-x------.  3 morgan morgan    0 2010-01-20 15:43 .
> drwx------. 64 morgan morgan 4096 2010-01-20 21:07 ..
> ???????????  ? ?      ?         ?                ? gphoto2 mount on
> usb%3A002,001

For this I don't have any explanation... :-(

> > - call f-spot-import manually with "f-spot /usr/lib/f-spot/f-spot.exe --import
> > gphoto2:usb:002,018" (please make sure to adjust the last two numbers
> > accordingly with the bus,device number from the previous step)
> 
> $ f-spot /usr/lib/f-spot/f-spot.exe --import gphoto2:usb:002,003
> [Info  17:58:55.155] Initializing DBus
> [Info  17:58:55.360] Initializing Mono.Addins
> [Info  17:58:55.624] Starting new FSpot server (f-spot 0.6.1.5)
> 
> (f-spot:15056): 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.
> error checking orientation
> error checking orientation
> Error GeneralError: LibGPhoto2.GPhotoException: Unspecified error
>   at LibGPhoto2.Error.CheckError (ErrorCode error) [0x00000] 
>   at LibGPhoto2.Camera.GetFile (System.String folder, System.String name,
> CameraFileType type, LibGPhoto2.CameraFile camera_file, LibGPhoto2.Context
> context) [0x00000] 
>   at GPhotoCamera.SaveFile (Int32 index, System.String filename) [0x00000] 
>   at FSpot.CameraFileSelectionDialog.SaveFile (Int32 index) [0x00000] 
>   at FSpot.CameraFileSelectionDialog.Download () [0x00000] 

This is interesting: the "GeneralError" means, that a direct call to a libgphoto2 function has failed.

Probably some more tests with gphoto2 will give us a better understanding. Please can you test the following and paste the results (for sure it's ok to cut off any long lists of images...)

- umount the camera as above
- check with "gphoto2 --auto-detect" whether gphoto2 find you camera correctly
- check with "gphoto2 --summary" whether some extended communication works, too
- check with "gphoto2 -L" whether it is possible to list files on the camera
- try to download one photo with "gphoto2 -p xx" where xx is a number displayed by the previous command

If the communication via gphoto2 reveals any problems, your issue seems to be in libgphoto2. If not, then the problems seems to be in f-spot.

Comment 8 morgan read 2010-02-22 11:34:40 UTC
This is a bit embarrassing...

I discovered I didn't have gphoto2 installed...

But, there still seemed to be errors...

Then I notice that the directory F-Spot is set has permissions of a different account - now everything is working

Anyway, uploaded:
SetUp
DBusMonitor
Terminal
my-logfile (from gphoto2 --debug)

But, all academic I guess...

Thank you

Comment 9 morgan read 2010-02-22 11:36:40 UTC
Created attachment 395448 [details]
SetUp as per Comment 8

Comment 10 morgan read 2010-02-22 11:37:19 UTC
Created attachment 395449 [details]
Terminal as per Comment 8

Comment 11 morgan read 2010-02-22 11:37:55 UTC
Created attachment 395450 [details]
DBusMonitor as per Comment 8

Comment 12 morgan read 2010-02-22 11:38:49 UTC
Created attachment 395451 [details]
my-logfile as per Comment 8

Comment 13 Christian Krause 2010-03-05 19:44:09 UTC
(In reply to comment #8)
> I discovered I didn't have gphoto2 installed...
> But, there still seemed to be errors...
> 
> Then I notice that the directory F-Spot is set has permissions of a different
> account - now everything is working

Ok, good! I've tested this on my system a little bit, and it looks like that a missing gphoto2 package is not a problem. So most likely your problem was solely caused by the file ownership / permission problem.

> But, all academic I guess...

However, I have recognized that f-spot has indeed no dependency to libphoto2! So it is possible to have f-spot installed without libgphoto2 and trying to import fotos will result in a crash anyway. So nevertheless this bug report has revealed another problem. ;-)

Since it is not that critical (libgphoto2 is installed due to a bunch of other dependencies), I'll close this bug report for now. The bug fix for the missing dependency will be published with the next update of the f-spot package.


Morgan, thanks to you for your patience and debugging help.


Note You need to log in before you can comment on or make changes to this bug.