Bug 155846 - gphoto2 segment faults when fetching photos from the camera
Summary: gphoto2 segment faults when fetching photos from the camera
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gphoto2
Version: 4
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Tim Waugh
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: FC5Target
TreeView+ depends on / blocked
 
Reported: 2005-04-24 16:43 UTC by Glenn Simpson
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-06-30 16:06:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Glenn Simpson 2005-04-24 16:43:50 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050328 Fedora/1.7.6-1.2.5

Description of problem:
using the command
gphoto2 --camera "Olympus C-3000Z" -P --port usb
the application causes a segment fault and thus aborts the request

On FC3 and prior this is NOT happening.  I can issue the same command to the FC3 released version and I extract the photos from the same camera.

Version-Release number of selected component (if applicable):
gphoto2-2.1.5-7

How reproducible:
Always

Steps to Reproduce:
1.Connect Olympus C-3000Z camera to the USB port
2.Turn the camera on.  This assumes you have a number of photos in the camera mem.
3.Issue the cmd
   gphoto2 --camera "Olympus C-3000Z" -P --port usb

  

Actual Results:  In the above command, the application progresses for a short time and then reports a segment fault.  No photos are extracted.

If --debug is added to the above command, the app reports scanning for camera device as follows:
0.665838 gphoto2-port(2): Opening USB port...
0.689049 gphoto2-port(0): Could not query kernel driver of device.
0.689268 gphoto2-port(2): Setting settings...
0.691031 gphoto2-port-usb(2): Changed usb.config from -1 to 1
0.700878 gphoto2-port-usb(2): Changed usb.altsetting from -1 to 0
0.706714 gphoto2-port(2): Setting timeout to 2000 millisecond(s)...
0.706877 sierra/library.c(2): Sending initialization sequence to the camera
0.707042 sierra/sierra.c(2): Establishing connection
0.707186 gphoto2-port(2): Setting timeout to 5000 millisecond(s)...
0.707408 sierra/library.c(2): sierra_get_int_register: register 0x01...
0.729075 gphoto2-port(2): Writing 8=0x8 byte(s) to port...
0.729301 gphoto2-port(3): Hexdump of 8 = 0x8 bytes follows:
0000  1b 43 02 00 01 01 02 00-                         .C......
                                                                                                  
0.738362 sierra/library.c(2): Reading packet...
0.738560 gphoto2-port(2): Clear halt...
0.739814 gphoto2-port(2): Reading 32774=0x8006 bytes from port...
0.863361 gphoto2-port(2): Could only read 10 out of 32774 byte(s)
0.863572 gphoto2-port(3): Hexdump of 10 = 0xa bytes follows:
0000  03 00 04 00 06 00 00 00-06 00                    ..........
                                                                                                  
0.863772 gphoto2-port(2): Clear halt...
0.879109 sierra/library.c(2): Packet successfully read.
0.879372 sierra/library.c(2): Successfully read packet. Interpreting result (0x03)
Segmentation fault


Expected Results:  The app should extract the JPEG files that are stored in the camera memory.
This app works correctly under FC3 released, gphoto2-2.1.5-1.1 rpm

Additional info:

Comment 1 Tim Waugh 2005-04-25 08:57:05 UTC
Please install the gphoto2-debuginfo package of the same version and release
(you can fetch it from
http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/debug/)
and then run gphoto2 under the debugger, like so:

gdb --args gphoto2 --camera "Olympus C-3000Z" -P --port usb

Then, at the (gdb) prompt, enter:

run

When it segfaults, enter:

bt

What does it say?

Comment 2 Glenn Simpson 2005-04-25 15:09:28 UTC
Debugger info when running the requested command.

This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".
                                                                               
(gdb) run
Starting program: /usr/bin/gphoto2 --camera Olympus\ C-3000Z -P --port usb
Detaching after fork from child process 8042.
Detaching after fork from child process 8043.
 :
 :
Detaching after fork from child process 8090.
Detaching after fork from child process 8091.
Detaching after fork from child process 8092.
---Type <return> to continue, or q <return> to quit---
                                                                               
At this point I pressed <return> and got
                                                                               
Detaching after fork from child process 8093.
Detaching after fork from child process 8109.
Detaching after fork from child process 8110.
Detaching after fork from child process 8111.
Detaching after fork from child process 8112.
Detaching after fork from child process 8113.
Detaching after fork from child process 8114.
Detaching after fork from child process 8115.
Detaching after fork from child process 8116.
Detaching after fork from child process 8117.
Detaching after fork from child process 8118.
Detaching after fork from child process 8119.
Detaching after fork from child process 8120.
Detaching after fork from child process 8121.
Detaching after fork from child process 8122.
                                                                               
Program received signal SIGSEGV, Segmentation fault.
0x0071e61a in sierra_get_int_register (camera=0x8549860, reg=Variable "reg" is
not available.
) at library.c:1068
1068                            *value = r;

Comment 3 Glenn Simpson 2005-04-25 15:20:45 UTC
gdb> bt
                                                                               
#1  0x5a5a5a5a in ?? ()
#2  0x5a5a5a5a in ?? ()
#3  0x5a5a5a5a in ?? ()
#4  0x5a5a5a5a in ?? ()
#5  0x5a5a5a5a in ?? ()
  :
  :
#2043 0x5a5a5a5a in ?? ()
#2044 0x5a5a5a5a in ?? ()
#2045 0x5a5a5a5a in ?? ()
---Type <return> to continue, or q <return> to quit---
                                                                               
I pressed <return> and the list repeated this report up to #2045
(when I repeatedly pressed <return>) then I got the gdb prompt again.
gdb>
                                                                               
At which point I quit the debugger

Comment 4 Tim Waugh 2005-04-25 16:35:55 UTC
Nice.  Something scribbled all over the stack. :-/

Comment 5 Tim Waugh 2005-05-19 15:05:36 UTC
Can you run it in valgrind and see what's going on?  'valgrind gphoto2 ...'

Comment 6 Glenn Simpson 2005-05-24 16:03:12 UTC
Using valgrind gphoto2 .... starts with the following report of an unitialize
variable in the lib.

==4605== Memcheck, a memory error detector for x86-linux.
==4605== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==4605== Using valgrind-2.4.0, a program supervision framework for x86-linux.
==4605== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==4605== For more details, rerun with: -v
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x4D6CB7: strstr (in /lib/libc-2.3.5.so)
==4605==    by 0x6B36E7: __pthread_initialize_minimal (in /lib/libpthread-2.3.5.so)
==4605==    by 0x6B3297: (within /lib/libpthread-2.3.5.so)
==4605==    by 0x6B2E7F: (within /lib/libpthread-2.3.5.so)
==4605==    by 0x1B8F191A: call_init (in /lib/ld-2.3.5.so)
==4605==    by 0x1B8F1A3C: _dl_init (in /lib/ld-2.3.5.so)
==4605==    by 0x1B8E483E: (within /lib/ld-2.3.5.so)
==4605==

I can supply further details if you request.

Comment 7 Tim Waugh 2005-05-24 16:09:56 UTC
The full output would be most useful.

Comment 8 Glenn Simpson 2005-05-25 21:11:16 UTC
==4605== Memcheck, a memory error detector for x86-linux.
==4605== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==4605== Using valgrind-2.4.0, a program supervision framework for x86-linux.
==4605== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==4605== For more details, rerun with: -v
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x4D6CB7: strstr (in /lib/libc-2.3.5.so)
==4605==    by 0x6B36E7: __pthread_initialize_minimal (in /lib/libpthread-2.3.5.so)
==4605==    by 0x6B3297: (within /lib/libpthread-2.3.5.so)
==4605==    by 0x6B2E7F: (within /lib/libpthread-2.3.5.so)
==4605==    by 0x1B8F191A: call_init (in /lib/ld-2.3.5.so)
==4605==    by 0x1B8F1A3C: _dl_init (in /lib/ld-2.3.5.so)
==4605==    by 0x1B8E483E: (within /lib/ld-2.3.5.so)
==4605==
==4605== Syscall param ioctl(generic) points to uninitialised byte(s)
==4605==    at 0x52E989: ioctl (in /lib/libc-2.3.5.so)
==4605==    by 0x9FE85B: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==  Address 0x52BFB324 is on thread 1's stack
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA007DE: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Use of uninitialised value of size 4
==4605==    at 0xA007E3: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA00886: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
                                                                               
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA00899: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA008B5: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA008DF: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA0090C: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605====4605==    at 0xA00911: usb_os_determine_children (in
/usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Use of uninitialised value of size 4
==4605==    at 0xA00939: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA00953: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B910744: gp_port_library_list (in
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD6F953: gp_port_info_list_load (in
/usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x804DB79: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Syscall param ioctl(generic) points to uninitialised byte(s)
==4605==    at 0x52E989: ioctl (in /lib/libc-2.3.5.so)
==4605==    by 0x9FE85B: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==  Address 0x52BFBB54 is on thread 1's stack
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA007DE: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Use of uninitialised value of size 4
==4605==    at 0xA007E3: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA00886: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA00899: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA008B5: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA008DF: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA0090C: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Use of uninitialised value of size 4
==4605==    at 0xA00911: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Use of uninitialised value of size 4
==4605==    at 0xA00939: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xA00953: usb_os_determine_children (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x9FE9F6: usb_find_devices (in /usr/lib/libusb-0.1.so.4.4.2)
==4605==    by 0x1B91040D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD72005: gp_port_set_info (in
/usr/lib/libgphoto2_port.so.0.5.1)==4605==    by 0x7596CD7:
gp_camera_set_port_info (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804DBF4: (within /usr/bin/gphoto2)
==4605==    by 0x805204D: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x8050281: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==
==4605== Syscall param ioctl(generic) points to uninitialised byte(s)
==4605==    at 0x52E989: ioctl (in /lib/libc-2.3.5.so)
==4605==    by 0x1B91049B: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD71B66: gp_port_open (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x75971CD: gp_camera_init (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x7599444: gp_camera_folder_list_files (in
/usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804E139: (within /usr/bin/gphoto2)
==4605==    by 0x8051D40: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==    by 0x80505CE: (within /usr/bin/gphoto2)
==4605==    by 0x480DE5: __libc_start_main (in /lib/libc-2.3.5.so)
==4605==    by 0x804AD20: (within /usr/bin/gphoto2)
==4605==  Address 0x52BFB3EC is on thread 1's stack
==4605==
==4605== Syscall param ioctl(generic) points to uninitialised byte(s)
==4605==    at 0x52E989: ioctl (in /lib/libc-2.3.5.so)
==4605==    by 0x1B90FF1D: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD717AD: gp_port_write (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x1B91FA13: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B91FA13: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204C1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B91B0D0: camera_init (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x75971E6: gp_camera_init (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x7599444: gp_camera_folder_list_files (in
/usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804E139: (within /usr/bin/gphoto2)
==4605==    by 0x8051D40: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==    by 0xD39D7F: poptGetNextOpt (in /usr/lib/libpopt.so.0.0.0)
==4605==  Address 0x52BF8978 is on thread 1's stack
==4605==
==4605== Syscall param ioctl(generic) points to uninitialised byte(s)
==4605==    at 0x52E989: ioctl (in /lib/libc-2.3.5.so)
==4605==    by 0x1B90FF7F: (within
/usr/lib/gphoto2_port/0.5.1/libgphoto2_port_usb.so)
==4605==    by 0xD71620: gp_port_read (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x1B91FE10: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B91B0D0: camera_init (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x75971E6: gp_camera_init (in /usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x7599444: gp_camera_folder_list_files (in
/usr/lib/libgphoto2.so.2.0.3)
==4605==    by 0x804E139: (within /usr/bin/gphoto2)
==4605==    by 0x8051D40: (within /usr/bin/gphoto2)
==4605==    by 0xD38566: (within /usr/lib/libpopt.so.0.0.0)
==4605==  Address 0x52BF8938 is on thread 1's stack
==4605==
==4605== Use of uninitialised value of size 4
==4605==    at 0xD703DA: gp_log_data (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0xD71665: gp_port_read (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x1B91FE10: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Use of uninitialised value of size 4
==4605==    at 0xD703F0: gp_log_data (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0xD71665: gp_port_read (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x1B91FE10: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0xD7040A: gp_log_data (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0xD71665: gp_port_read (in /usr/lib/libgphoto2_port.so.0.5.1)
==4605==    by 0x1B91FE10: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B91FE2C: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B91FE32: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605==    at 0x1B91FEC1: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B91FEC9: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B91FF24: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B91FF2C: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B9200D5: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B920278: (within /usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x1B9204F1: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B92052C: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B92052E: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Conditional jump or move depends on uninitialised value(s)
==4605==    at 0x1B920532: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== Invalid write of size 4
==4605==    at 0x1B92063A: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==  Address 0x5A5A5A5A is not stack'd, malloc'd or (recently) free'd
==4605==
==4605== Process terminating with default action of signal 11 (SIGSEGV)
==4605==  GPF (Pointer out of bounds?)
==4605==    at 0x1B92063A: sierra_get_int_register (in
/usr/lib/gphoto2/2.1.5/libgphoto2_sierra.so)
==4605==    by 0x5A5A5A59: ???
==4605==
==4605== ERROR SUMMARY: 195 errors from 40 contexts (suppressed: 137 from 1)
==4605== malloc/free: in use at exit: 1675172 bytes in 121 blocks.
==4605== malloc/free: 1310 allocs, 1189 frees, 354952361 bytes allocated.
==4605== For counts of detected errors, rerun with: -v
==4605== searching for pointers to 121 not-freed blocks.
==4605== checked 1985080 bytes.
==4605==
==4605== LEAK SUMMARY:
==4605==    definitely lost: 300382 bytes in 57 blocks.
==4605==      possibly lost: 0 bytes in 0 blocks.
==4605==    still reachable: 1374790 bytes in 64 blocks.
==4605==         suppressed: 0 bytes in 0 blocks.
==4605== Use --leak-check=full to see details of leaked memory.

Comment 9 Glenn Simpson 2005-06-30 15:02:45 UTC
The above issue has been cleared as of kernel version 2.6.12-1-1400_FC5 and
gphoto2 version 2.1.6

Using cmd
 gphoto2 --camera="Olympus C_3000Z" -L -port usb
or
 gphoto2 --camera="Olympus C_3000Z" -P -port usb
worked correctly to extract 49 photos.

Tnxs for the fix.


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