digikam 0.9.3: Canon EOS400D - no thumbnails then digikam segfaults.
Mark Ovens
parish at magichamster.com
Mon Jan 28 09:38:24 PST 2008
Re-posting as the original, posted a week ago, hasn't appeared on the
list - apologies if it appears twice
I originally posted this on the digikam mailing list as it appeared to
be a dk problem, however two people there have posted to say that it
works on Linux so it looks like this is specific to the FreeBSD port.
Running under KDE 3.5.8 on FreeBSD 6.3-PRERELEASE
When I connect my Canon EOS400D (PTP Mode) the OS reports it as:
ugen0: Canon Inc. Canon Digital Camera, rev 2.00/0.02, addr 2
In digikam I connect to the camera, the camera window opens, displays
"Connecting to camera", 'BUSY' appears on the camera LCD screen and the
read/write LED flashes. Digikam then displays "Listing Folders....".
When digikam has finished, there are no thumbnails displayed but the
following appears in the console:
digikam: Failed to get folders list from camera!
digikam: Libgphoto2 error: Unspecified error (-1)
Then, when I click 'Close' in the camera window in digikam, this appears
in the console and digikam dies on a SIGSEGV:
KCrash: Application 'digikam' crashing...
The following library versions are being used:
libgphoto2 2.4.0
kipi-plugins 0.1.4
exiv2 0.14
lcms 1.17
dcraw 8.81
This camera worked OK in 0.9.2
It was suggested that gphoto2 may be the cause (Canon stability problems
in 2.4.0) so I downgraded gphoto2 to 2.2.1 but the problem persisted.
I then downgraded digikam back to 0.9.2 and it works correctly - even
with gphoto2 2.4.0 - so it definitely seems to be a problem with digikam
0.9.3
Also, running gphoto2 from the commandline -
``gphoto2 --auto-detect -L''
- works correctly.
I've done some limited debugging (using fprintf()s in both the digikam
and gphoto2 code) and the problem seems to be in camlibs/ptp2/library.c
(gphoto2) at around line 2578:
PTPStorageIDs storageids;
if (ptp_operation_issupported(params,PTP_OC_GetStorageIDs)) {
fprintf(stderr, ">> 2\n");
CPR (context, ptp_getstorageids(params,
&storageids));
fprintf(stderr, ">> Returned from ptp_getstorageids()\n");
for (i=0; i<storageids.n; i++) {
char fname[PTP_MAXSTRLEN];
The fprintf()'s are my debug and it never gets to the second one so it
appears to never return from ptp_getstorageids() - although this is
using an optimized build rather than a debug build so may be misleading.
If someone can explain how to build a debug version of digikam (and
libgphoto2) I will provide a back trace.
Regards,
Mark
More information about the freebsd-ports
mailing list