Bug 141577

Summary: Crash during initial camera auto detect
Product: [Applications] digikam Reporter: William Bixby <wbixby>
Component: Import-Gphoto2Assignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 0.9.0   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: gphoto22.lst
gphoto2.lst

Description William Bixby 2007-02-12 06:05:17 UTC
Version:           0.9.0 (using KDE 3.5.5 "release 45.2" , openSUSE 10.2)
Compiler:          Target: x86_64-suse-linux
OS:                Linux (x86_64) release 2.6.18.2-34-default

Initial setup of Digikam.  No camera defined, select auto-detect and crash.
Ver 0.9.0 (KDE 3.5.5 Release 45.2 Suse 10.2 new install

libgphoto2:
libgphoto2 2.2.1.5.trunk-22 
libgphoto2-32bit 2.2.1.5.trunk-22

Digikam:
digikam 0.9.0-0.pm.3
digikam-doc 0.8.0-45
digikamimageplugins 0.9.0-0.pm.1

Camera is Canon Digital Rebel xti connected via USB

dmesg lines:
usb 2-4: new high speed USB device using ehci_hcd and address 5
usb 2-4: new device found, idVendor=04a9, idProduct=3110
usb 2-4: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-4: Product: Canon Digital Camera
usb 2-4: Manufacturer: Canon Inc.
usb 2-4: configuration #1 chosen from 1 choice
usb 2-4: USB disconnect, address 5
usb 2-4: new high speed USB device using ehci_hcd and address 6
usb 2-4: new device found, idVendor=04a9, idProduct=3110
usb 2-4: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-4: Product: Canon Digital Camera
usb 2-4: Manufacturer: Canon Inc.
usb 2-4: configuration #1 chosen from 1 choice

System configuration startup check disabled.

(no debugging symbols found)
Using host libthread_db library "/lib64/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 47865323003168 (LWP 9526)]
[KCrash handler]
#5  0x00002b887d239535 in raise () from /lib64/libc.so.6
#6  0x00002b887d23a990 in abort () from /lib64/libc.so.6
#7  0x00002b887d232c16 in __assert_fail () from /lib64/libc.so.6
#8  0x00002aaab50de073 in DNSServiceConstructFullName ()
   from /usr/lib64/libdns_sd.so
#9  0x00002aaab4eaf03a in gp_port_library_list ()
   from /usr/lib64/libgphoto2_port/0.7.0/ptpip.so
#10 0x00002b887fa3d6e1 in gp_port_info_list_load ()
   from /usr/lib64/libgphoto2_port.so.0
#11 0x00002b88830d1928 in lt_dlforeachfile () from /usr/lib64/libltdl.so.3
#12 0x00002b88830d14be in lt_dladdsearchdir () from /usr/lib64/libltdl.so.3
#13 0x00002b887fa3d5ad in gp_port_info_list_load ()
   from /usr/lib64/libgphoto2_port.so.0
#14 0x00002b887b169b73 in Digikam::GPIface::autoDetect ()
   from /opt/kde3/lib64/libdigikam.so.0
#15 0x00002b887b16e6b0 in Digikam::SetupCamera::slotAutoDetectCamera ()
   from /opt/kde3/lib64/libdigikam.so.0
#16 0x00002b887b16ee0c in Digikam::SetupCamera::qt_invoke ()
   from /opt/kde3/lib64/libdigikam.so.0
#17 0x00002b887c7e8adc in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#18 0x00002b887c7e97b3 in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#19 0x00002b887c81b7b7 in QWidget::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#20 0x00002b887c791eb5 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x00002b887c792df1 in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#22 0x00002b887c1d8e38 in KApplication::notify ()
   from /opt/kde3/lib64/libkdecore.so.4
#23 0x00002b887c73a399 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#24 0x00002b887c7393f3 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#25 0x00002b887c74840f in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#26 0x00002b887c7a6963 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#27 0x00002b887c947dbb in QDialog::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#28 0x00002b887afd0222 in Digikam::DigikamApp::slotSetupCamera ()
   from /opt/kde3/lib64/libdigikam.so.0
#29 0x00002b887afd2bd3 in Digikam::DigikamApp::qt_invoke ()
   from /opt/kde3/lib64/libdigikam.so.0
#30 0x00002b887c7e8adc in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#31 0x00002b887c7e97b3 in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#32 0x00002b887bce5fae in KAction::slotPopupActivated ()
   from /opt/kde3/lib64/libkdeui.so.4
#33 0x00002b887bce6253 in KAction::qt_invoke ()
   from /opt/kde3/lib64/libkdeui.so.4
#34 0x00002b887c7e8adc in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#35 0x00002b887cacce82 in QSignal::signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#36 0x00002b887c801555 in QSignal::activate ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#37 0x00002b887c8d8c35 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#38 0x00002b887c81b7b7 in QWidget::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#39 0x00002b887c791eb5 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#40 0x00002b887c792df1 in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#41 0x00002b887c1d8e38 in KApplication::notify ()
   from /opt/kde3/lib64/libkdecore.so.4
#42 0x00002b887c73ac45 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#43 0x00002b887c7393f3 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#44 0x00002b887c74840f in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#45 0x00002b887c7a6963 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#46 0x00002b887c7a6812 in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#47 0x0000000000402818 in main ()
Comment 1 Marcus Meissner 2007-02-12 16:19:45 UTC
thius is a problem in the avahi mdns compat libraries.

as workaround remove the ptpip.so from /usr/lib/libgphoto2_port/2.2.....
Comment 2 William Bixby 2007-02-13 03:13:34 UTC
Thanks for the feedback.
removing the Shared library worked (I'm 64 bit, so it was in lib64)

However, now when the window comes up to connect to the camera there 
are no images displayed,  If I browse 'storage media' for the USB 
camera I also do not see the images.

I'm on a new installation of Suse 10.2 with avahi 6.5.  
I found 6.15 in Suse Factory ready for Suse 10.3 and installed that.

Now I can connect to the camera WITH the ptpop.so library, but still 
no images to browse.

On Monday 12 February 2007 10:19 am, Marcus Meissner wrote:
[bugs.kde.org quoted mail]
Comment 3 Arnd Baecker 2007-06-26 09:57:44 UTC
Hi William,

could you try with digikam 0.9.2 and see if things are better now?
Somehow it sounds more of a gphoto problem, so could you
try the commands to list and download the images just using the gphoto2
command-line application?
Also gtkam might be another option.

Many thanks for any feedback,

Arnd
Comment 4 William Bixby 2007-06-27 05:12:18 UTC
On Tuesday 26 June 2007 3:57 am, Arnd Baecker wrote:
[bugs.kde.org quoted mail]
Installed digikam 0.9.2 RPM for SUSE 10.2, x64_86 from the packman 
repository.

Same result.
Camera can be detected OK w/o a crash, but no images appear.

gphoto2 at the command line - debug shows images detected but unable 
to download the image data.

Two debug log files attached.
Command #1 created gphoto2.lst:
Bill@Bill:~> gphoto2 --auto-detect -P -n --debug --debug-logfile 
gphoto2.lst
Model                          Port
----------------------------------------------------------
Canon EOS 400D (PTP mode)      usb:
Number of files in folder '/': 0

Command #2 created gphoto22.lst:
Bill@Bill:~> gphoto2 --auto-detect -L -n --debug --debug-logfile 
gphoto22.lst
Model                          Port
----------------------------------------------------------
Canon EOS 400D (PTP mode)      usb:
There is no file in folder '/'.
There is no file in folder '/store_00000001'.
Number of files in folder '/': 0

Command #3 w/o a debug log:
Bill@Bill:~> gphoto2 --auto-detect -l -n
Model                          Port
----------------------------------------------------------
Canon EOS 400D (PTP mode)      usb:
There is 1 folder in folder '/'.
 - store_00000001
There are 0 folders in folder '/store_00000001'.
Number of files in folder '/': 0


Created an attachment (id=20979)
gphoto22.lst

Created an attachment (id=20980)
gphoto2.lst
Comment 5 Arnd Baecker 2007-06-27 08:51:44 UTC
Hi William,

thanks a lot for the information -
according to gphoto2.lst you have gphoto2 2.3.1.2.trunk
which looks pretty recent ;-), but maybe not
recent enough for the 400D, see this gphoto2 bug:

https://sourceforge.net/tracker/?func=detail&atid=108874&aid=1722091&group_id=8874

So the PTP commands have changed from 350D to 400D
and in the link,  Marcus Meissner writes:

> Date: 2007-06-09 06:37
> capture is working in current SVN.
>
> configuration is pending.


So with the svn version of gphoto2 things *might* work to some extent

BTW, have you tried the other mode (forgot the name) -
you can change this in the settings of the camera?

In any case, digikam should not crash,
but lead to a nice warning with a description
of the steps to do, to debug the problem ...

Best, Arnd
Comment 6 Marcus Meissner 2007-06-27 09:10:49 UTC
just to clarify: Detection and Download from a EOS 400D should work fine as-is.
the gphoto bugreport is only about tethered capture.


But I see the problem, the EOS 400D is also affected by the "wrong parent" bug.
I have flagged it in current libgphoto2 SVN.

I added the change and put the new libgphoto2 into the openSUSE buildservice,
available in some minutes/hours in:
http://software.opensuse.org/download/GPhoto/
Comment 7 Arnd Baecker 2007-06-27 09:33:44 UTC
ok, sorry, wasn't reading carefully enough.
(but obviously it was the pointer in the right direction
so that you could help out  ;-) - thanks a lot!)
Comment 8 William Bixby 2007-06-28 06:55:51 UTC
On Wednesday 27 June 2007 3:10 am, Marcus Meissner wrote:
[bugs.kde.org quoted mail]

Installed the new gphoto2 and libgphoto.
Works Great!

Results from the CLI:
Bill@Bill:~> gphoto2 --auto-detect -L -n --debug --debug-logfile 
gphoto2_Jun27.lst
Model                          Port
----------------------------------------------------------
Canon EOS 400D (PTP mode)      usb:
There is no file in folder '/'.
There is no file in folder '/store_00000001'.
There is no file in folder '/store_00000001/DCIM'.
There are 4 files in folder '/store_00000001/DCIM/900CANON'.
#1     IMG_2022.JPG                 3573 KB 3888x2592 image/jpeg
#2     IMG_2023.JPG                 3633 KB 3888x2592 image/jpeg
#3     IMG_2024.JPG                 3203 KB 3888x2592 image/jpeg
#4     IMG_2025.JPG                 3158 KB 3888x2592 image/jpeg
Number of files in folder '/': 0
Bill@Bill:~> gphoto2 --auto-detect -P -n --debug --debug-logfile 
gphoto2_Jun27A.lst
Model                          Port
----------------------------------------------------------
Canon EOS 400D (PTP mode)      usb:
Downloading 'IMG_2022.JPG' from 
folder '/store_00000001/DCIM/900CANON'...
Saving file as IMG_2022.JPG
Downloading 'IMG_2023.JPG' from 
folder '/store_00000001/DCIM/900CANON'...
Saving file as IMG_2023.JPG
Downloading 'IMG_2024.JPG' from 
folder '/store_00000001/DCIM/900CANON'...
Saving file as IMG_2024.JPG
Downloading 'IMG_2025.JPG' from 
folder '/store_00000001/DCIM/900CANON'...
Saving file as IMG_2025.JPG
Number of files in folder '/': 0
Bill@Bill:~>
Comment 9 Arnd Baecker 2007-06-28 07:39:40 UTC
This is good news! Thanks for testing this out.

In principle we could close this bug now, but in my opinion:

> In any case, digikam should not crash,
> but lead to a nice warning with a description
> of the steps to do, to debug the problem ... 

Question to the developers: is there a way to fetch such a crash
and come up with a warning instead?
Comment 10 caulier.gilles 2007-06-28 08:30:58 UTC
Arnd,

Certainly... and it must work as well of course.

Do not close this file, i will take a look why camera gui crash in these conditions...

Gilles
Comment 11 caulier.gilles 2007-08-22 09:31:28 UTC
William,

Can you give me a fresh backtrace of digiKam crash using last stable 0.9.2 ? I would to solve this issue...

Gilles
Comment 12 William Bixby 2007-08-31 06:49:17 UTC
Unable to reproduce the crash with 0.9.2.
 
On Wednesday 22 August 2007 3:31 am, Gilles Caulier wrote:
[bugs.kde.org quoted mail]
Comment 13 caulier.gilles 2007-08-31 07:49:05 UTC
William,

Are you updated too libgphoto2 ?

Arnd, 

Without a backtrace, it's not possible to hack what it's wrong in digiKam Gphoto2 interface. We close this file ?

Gilles
Comment 14 Arnd Baecker 2007-08-31 09:39:58 UTC
Gilles,

yes, closing this one as FIXED. 
Because it works now (which is good ;-)
there is nothing which can be done at this point.
However, I would suspect that something like this will come
up again at some point and with a proper backtrace it
will be possible to find out the origin of the problem.

Arnd