Open gmerceron1000r opened 2 years ago
can you perhaps get a gdb backtrace of the crash?
or valgrind output,. which should also show the crash location and reason
Hello,
Thanks for your feedback, I'm not confident with gdb nor valgrind so I take look on previous ticket to understand how it works. I started gphoto with the following:
gdb gphoto2 r --auto-detect -B 2 --capture-image-and-download --interval 5 ... wait for the crash ... bt
then here is the direct output: gdb gphoto2 GNU gdb (Raspbian 8.2.1-2) 8.2.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/.
Sony ILCE-7M2 (Control) usb:001,014
Time-lapse mode enabled (interval: 5s).
Bulb mode enabled (exposure time: 2s).
Capturing frame #1...
New file is in location /capt0000.arw on the camera
File capt0000.arw exists. Overwrite? [y|n] y
Saving file as capt0000.arw
Deleting file /capt0000.arw on the camera
not sleeping (3 seconds behind schedule)
Capturing frame #2...
New file is in location /capt0001.arw on the camera
File capt0001.arw exists. Overwrite? [y|n] y
Saving file as capt0001.arw
Deleting file /capt0001.arw on the camera
not sleeping (0 seconds behind schedule)
Capturing frame #3...
New file is in location /capt0002.arw on the camera
Saving file as capt0002.arw
Deleting file /capt0002.arw on the camera
not sleeping (3 seconds behind schedule)
Capturing frame #4...
not sleeping (0 seconds behind schedule)
Capturing frame #5...
New file is in location /capt0003.arw on the camera
Saving file as capt0003.arw
Deleting file /capt0003.arw on the camera
Waiting for next capture slot 0 seconds...
New file is in location /capt0004.arw on the camera
Saving file as capt0004.arw
Deleting file /capt0004.arw on the camera
Capturing frame #6...
New file is in location /capt0005.arw on the camera
Saving file as capt0005.arw
Deleting file /capt0005.arw on the camera
not sleeping (5 seconds behind schedule)
Capturing frame #7...
Waiting for next capture slot 2 seconds...
New file is in location /capt0006.arw on the camera
Saving file as capt0006.arw
Deleting file /capt0006.arw on the camera
Capturing frame #8...
New file is in location /capt0007.arw on the camera
Saving file as capt0007.arw
Deleting file /capt0007.arw on the camera
not sleeping (2 seconds behind schedule)
Capturing frame #9...
Waiting for next capture slot 0 seconds...
New file is in location /capt0008.arw on the camera
Saving file as capt0008.arw
Deleting file /capt0008.arw on the camera
Capturing frame #10...
New file is in location /capt0009.arw on the camera
Saving file as capt0009.arw
Deleting file /capt0009.arw on the camera
not sleeping (5 seconds behind schedule)
Capturing frame #11...
Waiting for next capture slot 2 seconds...
New file is in location /capt0010.arw on the camera
Saving file as capt0010.arw
Deleting file /capt0010.arw on the camera
Capturing frame #12...
New file is in location /capt0011.arw on the camera
Saving file as capt0011.arw
Deleting file /capt0011.arw on the camera
not sleeping (2 seconds behind schedule)
Capturing frame #13...
Waiting for next capture slot 0 seconds...
New file is in location /capt0012.arw on the camera
Saving file as capt0012.arw
Deleting file /capt0012.arw on the camera
Capturing frame #14...
New file is in location /capt0013.arw on the camera
Saving file as capt0013.arw
Deleting file /capt0013.arw on the camera
not sleeping (5 seconds behind schedule)
Capturing frame #15...
Waiting for next capture slot 2 seconds...
New file is in location /capt0014.arw on the camera
Saving file as capt0014.arw
Deleting file /capt0014.arw on the camera
Capturing frame #16...
New file is in location /capt0015.arw on the camera
Saving file as capt0015.arw
Deleting file /capt0015.arw on the camera
not sleeping (2 seconds behind schedule)
Capturing frame #17...
Waiting for next capture slot 0 seconds...
New file is in location /capt0016.arw on the camera
Saving file as capt0016.arw
Deleting file /capt0016.arw on the camera
Capturing frame #18...
New file is in location /capt0017.arw on the camera
Saving file as capt0017.arw
Deleting file /capt0017.arw on the camera
not sleeping (5 seconds behind schedule)
Capturing frame #19...
Waiting for next capture slot 2 seconds...
New file is in location /capt0018.arw on the camera
Saving file as capt0018.arw
Deleting file /capt0018.arw on the camera
Capturing frame #20...
New file is in location /capt0019.arw on the camera
Saving file as capt0019.arw
Deleting file /capt0019.arw on the camera
not sleeping (3 seconds behind schedule)
Capturing frame #21...
New file is in location /capt0020.arw on the camera
Saving file as capt0020.arw
Deleting file /capt0020.arw on the camera
not sleeping (0 seconds behind schedule)
Capturing frame #22...
New file is in location /capt0021.arw on the camera
Saving file as capt0021.arw
Deleting file /capt0021.arw on the camera
not sleeping (5 seconds behind schedule)
Capturing frame #23...
Waiting for next capture slot 2 seconds...
New file is in location /capt0022.arw on the camera
Saving file as capt0022.arw
Deleting file /capt0022.arw on the camera
Capturing frame #24...
New file is in location /capt0023.arw on the camera
Saving file as capt0023.arw
Deleting file /capt0023.arw on the camera
not sleeping (3 seconds behind schedule)
Capturing frame #25...
New file is in location /capt0024.arw on the camera
Saving file as capt0024.arw
Deleting file /capt0024.arw on the camera
not sleeping (0 seconds behind schedule)
Capturing frame #26...
New file is in location /capt0025.arw on the camera
Saving file as capt0025.arw
Deleting file /capt0025.arw on the camera
not sleeping (1 seconds behind schedule)
Capturing frame #27...
Waiting for next capture slot 1 seconds...
New file is in location /capt0026.arw on the camera
Saving file as capt0026.arw
Deleting file /capt0026.arw on the camera
Capturing frame #28...
Thread 1 "gphoto2" received signal SIGSEGV, Segmentation fault. strlen () at ../sysdeps/arm/armv6/strlen.S:26 26 ../sysdeps/arm/armv6/strlen.S: No such file or directory. (gdb) bt
Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb)
The current vertion is gphoto2 2.5.20 OS is Stellarmate 5.10.17 running on raspberry pi4
I try to export a valgrind output
it's passing nullptr
to a strldup()
(also it's on arm 32-bits which mean the bug might not be revealed in x86_64)
edit it's strlen()
by way of strdup()
These is a beta test on x64. I try it now then come back to you if I can reproduce the issue.
Here is the x64 test feedback, you will find
stellarmate@stellarmate:~ $ uname -a Linux stellarmate 5.10.63-v8+ #1488 SMP PREEMPT Thu Nov 18 16:16:16 GMT 2021 aarch64 GNU/Linux
stellarmate@stellarmate:~ $ gphoto2 -v gphoto2 2.5.27
Copyright (c) 2000-2021 Marcus Meissner and others
gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of gphoto2 under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING.
This version of gphoto2 is using the following software versions and options: gphoto2 2.5.27 gcc, popt(m), exif, cdk, aa, jpeg, readline libgphoto2 2.5.27.1 standard camlibs, gcc, no ltdl, EXIF libgphoto2_port 0.12.0 iolibs: disk ptpip serial usb1 usbdiskdirect usbscsi, gcc, no ltdl, EXIF, USB, serial without locking
stellarmate@stellarmate:~ $ gdb gphoto2 GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: https://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/.
Sony ILCE-7M2 (Control) usb:001,006
Time-lapse mode enabled (interval: 5s).
Bulb mode enabled (exposure time: 2s).
Capturing frame #1...
Waiting for next capture slot 1 seconds...
Capturing frame #2...
Waiting for next capture slot 2 seconds...
Capturing frame #3...
Waiting for next capture slot 2 seconds...
Capturing frame #4...
Waiting for next capture slot 2 seconds...
Capturing frame #5...
Waiting for next capture slot 2 seconds...
Capturing frame #6...
Waiting for next capture slot 2 seconds...
Capturing frame #7...
Waiting for next capture slot 2 seconds...
Capturing frame #8...
Waiting for next capture slot 2 seconds...
New file is in location /capt0000.arw on the camera
Saving file as capt0000.arw
Deleting file /capt0000.arw on the camera
Capturing frame #9...
Waiting for next capture slot 1 seconds...
Capturing frame #10...
Waiting for next capture slot 2 seconds...
Capturing frame #11...
Waiting for next capture slot 2 seconds...
Capturing frame #12...
Waiting for next capture slot 2 seconds...
Capturing frame #13...
Waiting for next capture slot 2 seconds...
Capturing frame #14...
Waiting for next capture slot 2 seconds...
Capturing frame #15...
Waiting for next capture slot 2 seconds...
New file is in location /capt0001.arw on the camera
Saving file as capt0001.arw
Deleting file /capt0001.arw on the camera
Capturing frame #16...
Waiting for next capture slot 0 seconds...
Capturing frame #17...
Waiting for next capture slot 2 seconds...
Thread 1 "gphoto2" received signal SIGSEGV, Segmentation fault. __strlen_generic () at ../sysdeps/aarch64/multiarch/../strlen.S:98 98 ../sysdeps/aarch64/multiarch/../strlen.S: No such file or directory. (gdb) bt
from /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so
from /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so
from /lib/aarch64-linux-gnu/libgphoto2.so.6
from /lib/aarch64-linux-gnu/libpopt.so.0
argv=0x7ffffff0d8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=<optimized out>)
at ../csu/libc-start.c:308
Backtrace stopped: not enough registers or memory available to unwind further (gdb)
Sony ILCE-7M2 (Control) usb:001,006
Time-lapse mode enabled (interval: 5s).
Bulb mode enabled (exposure time: 2s).
Capturing frame #1...
New file is in location /capt0000.arw on the camera
Saving file as capt0000.arw
Deleting file /capt0000.arw on the camera
not sleeping (18 seconds behind schedule)
Capturing frame #2...
==3763== Invalid read of size 1
==3763== at 0x484D32C: __GI_strlen (vg_replace_strmem.c:460)
==3763== by 0x4BBFE93: strdup (strdup.c:41)
==3763== by 0x716BA57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3763== by 0x713B937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3763== by 0x48892B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3763== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==3763== by 0x11C597: ??? (in /usr/bin/gphoto2)
==3763== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3763== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3763== by 0x4B24F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3763== by 0x4B2674B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3763== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==3763== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==3763==
==3763==
==3763== Process terminating with default action of signal 11 (SIGSEGV)
==3763== Access not within mapped region at address 0x0
==3763== at 0x484D32C: __GI_strlen (vg_replace_strmem.c:460)
==3763== by 0x4BBFE93: strdup (strdup.c:41)
==3763== by 0x716BA57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3763== by 0x713B937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3763== by 0x48892B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3763== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==3763== by 0x11C597: ??? (in /usr/bin/gphoto2)
==3763== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3763== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3763== by 0x4B24F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3763== by 0x4B2674B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3763== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==3763== If you believe this happened as a result of a stack
==3763== overflow in your program's main thread (unlikely but
==3763== possible), you can try to increase the size of the
==3763== main thread stack using the --main-stacksize= flag.
==3763== The main thread stack size used in this run was 8388608.
==3763==
==3763== HEAP SUMMARY:
==3763== in use at exit: 6,706,720 bytes in 302 blocks
==3763== total heap usage: 28,467 allocs, 28,165 frees, 2,711,733,815 bytes allocated
==3763==
==3763== LEAK SUMMARY:
==3763== definitely lost: 32 bytes in 1 blocks
==3763== indirectly lost: 48 bytes in 2 blocks
==3763== possibly lost: 5,736 bytes in 34 blocks
==3763== still reachable: 6,700,904 bytes in 265 blocks
==3763== suppressed: 0 bytes in 0 blocks
==3763== Rerun with --leak-check=full to see details of leaked memory
==3763==
==3763== For lists of detected and suppressed errors, rerun with: -s
==3763== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault
that's not x86_64. That's aarch64.
(just to clarify)
Yes you right. I would also add the valgrind --leak-check=full as suggested by the tool itself.
Sony ILCE-7M2 (Control) usb:001,006
Time-lapse mode enabled (interval: 5s).
Bulb mode enabled (exposure time: 2s).
Capturing frame #1...
New file is in location /capt0000.arw on the camera
File capt0000.arw exists. Overwrite? [y|n] y
Saving file as capt0000.arw
Deleting file /capt0000.arw on the camera
==3780== Invalid read of size 1
==3780== at 0x484D32C: __GI_strlen (vg_replace_strmem.c:460)
==3780== by 0x4BBFE93: strdup (strdup.c:41)
==3780== by 0x716BA57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3780== by 0x713B937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3780== by 0x48892B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==3780== by 0x11C3D7: ??? (in /usr/bin/gphoto2)
==3780== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B24F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B2674B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==3780== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==3780==
==3780==
==3780== Process terminating with default action of signal 11 (SIGSEGV)
==3780== Access not within mapped region at address 0x0
==3780== at 0x484D32C: __GI_strlen (vg_replace_strmem.c:460)
==3780== by 0x4BBFE93: strdup (strdup.c:41)
==3780== by 0x716BA57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3780== by 0x713B937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==3780== by 0x48892B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==3780== by 0x11C3D7: ??? (in /usr/bin/gphoto2)
==3780== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B24F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B2674B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==3780== If you believe this happened as a result of a stack
==3780== overflow in your program's main thread (unlikely but
==3780== possible), you can try to increase the size of the
==3780== main thread stack using the --main-stacksize= flag.
==3780== The main thread stack size used in this run was 8388608.
==3780==
==3780== HEAP SUMMARY:
==3780== in use at exit: 6,707,352 bytes in 307 blocks
==3780== total heap usage: 27,853 allocs, 27,546 frees, 2,708,056,072 bytes allocated
==3780==
==3780== 24 bytes in 1 blocks are possibly lost in loss record 50 of 135
==3780== at 0x4849E4C: malloc (vg_replace_malloc.c:307)
==3780== by 0x5A1E923: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1EC2F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A19F9B: libusb_init (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E5C13: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49199E3: gp_port_set_info (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780== by 0x4885CB7: gp_camera_set_port_info (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x115257: ??? (in /usr/bin/gphoto2)
==3780== by 0x110A9B: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B63217: (below main) (libc-start.c:308)
==3780==
==3780== 24 bytes in 1 blocks are possibly lost in loss record 51 of 135
==3780== at 0x4849E4C: malloc (vg_replace_malloc.c:307)
==3780== by 0x5A1E923: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1EC7F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A19F9B: libusb_init (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E5C13: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49199E3: gp_port_set_info (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780== by 0x4885CB7: gp_camera_set_port_info (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x115257: ??? (in /usr/bin/gphoto2)
==3780== by 0x110A9B: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B63217: (below main) (libc-start.c:308)
==3780==
==3780== 24 bytes in 1 blocks are possibly lost in loss record 52 of 135
==3780== at 0x4849E4C: malloc (vg_replace_malloc.c:307)
==3780== by 0x5A1E923: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A24AD3: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1903B: libusb_open (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E831B: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49174AB: gp_port_open (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780== by 0x488615B: gp_camera_init (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x4886DB3: gp_camera_get_single_config (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x117077: ??? (in /usr/bin/gphoto2)
==3780== by 0x11C54F: ??? (in /usr/bin/gphoto2)
==3780== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780==
==3780== 80 (32 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 82 of 135
==3780== at 0x4849E4C: malloc (vg_replace_malloc.c:307)
==3780== by 0x4015CD3: htab_create (inline-hashtab.h:50)
==3780== by 0x4015CD3: _dl_make_tlsdesc_dynamic (tlsdeschtab.h:94)
==3780== by 0x400C903: elf_machine_rela (dl-machine.h:319)
==3780== by 0x400C903: elf_dynamic_do_Rela (do-rel.h:172)
==3780== by 0x400C903: _dl_relocate_object (dl-reloc.c:274)
==3780== by 0x4012BFB: dl_open_worker (dl-open.c:688)
==3780== by 0x4C4EAB3: _dl_catch_exception (dl-error-skeleton.c:208)
==3780== by 0x401260F: _dl_open (dl-open.c:837)
==3780== by 0x4DB9263: dlopen_doit (dlopen.c:66)
==3780== by 0x4C4EAB3: _dl_catch_exception (dl-error-skeleton.c:208)
==3780== by 0x4C4EB7F: _dl_catch_error (dl-error-skeleton.c:227)
==3780== by 0x4DB9B0F: _dlerror_run (dlerror.c:170)
==3780== by 0x4DB9303: dlopen@@GLIBC_2.17 (dlopen.c:87)
==3780== by 0x4CBB3FB: ??? (in /usr/lib/aarch64-linux-gnu/libltdl.so.7.3.1)
==3780==
==3780== 168 bytes in 3 blocks are possibly lost in loss record 98 of 135
==3780== at 0x484C164: calloc (vg_replace_malloc.c:760)
==3780== by 0x5A20BE7: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1D103: libusb_submit_transfer (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E7C23: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49174AB: gp_port_open (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780== by 0x488615B: gp_camera_init (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x4886DB3: gp_camera_get_single_config (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x117077: ??? (in /usr/bin/gphoto2)
==3780== by 0x11C54F: ??? (in /usr/bin/gphoto2)
==3780== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B24F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780==
==3780== 256 bytes in 1 blocks are possibly lost in loss record 105 of 135
==3780== at 0x4849E4C: malloc (vg_replace_malloc.c:307)
==3780== by 0x59E5B9B: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x5A1DBDB: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A2364F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A2499F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1D5F3: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1E703: libusb_handle_events_timeout_completed (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1E7DF: libusb_handle_events_completed (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1F2D3: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1F3DB: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E77EF: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49177DF: gp_port_write (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780==
==3780== 304 bytes in 1 blocks are possibly lost in loss record 107 of 135
==3780== at 0x484C164: calloc (vg_replace_malloc.c:760)
==3780== by 0x40118CB: allocate_dtv (dl-tls.c:348)
==3780== by 0x40118CB: _dl_allocate_tls (dl-tls.c:594)
==3780== by 0x4A38027: allocate_stack (allocatestack.c:622)
==3780== by 0x4A38027: pthread_create@@GLIBC_2.17 (pthread_create.c:660)
==3780== by 0x5A0F00B: ???
==3780== by 0x5A0C92B: ???
==3780== by 0x5A03F8B: ???
==3780== by 0x59E8C2F: gp_port_library_list (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x491588B: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780== by 0x4CB8CBF: ??? (in /usr/lib/aarch64-linux-gnu/libltdl.so.7.3.1)
==3780== by 0x4CB86A3: ??? (in /usr/lib/aarch64-linux-gnu/libltdl.so.7.3.1)
==3780== by 0x4CB928F: lt_dlforeachfile (in /usr/lib/aarch64-linux-gnu/libltdl.so.7.3.1)
==3780== by 0x4915D0F: gp_port_info_list_load (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780==
==3780== 392 bytes in 7 blocks are possibly lost in loss record 112 of 135
==3780== at 0x484C164: calloc (vg_replace_malloc.c:760)
==3780== by 0x5A20BE7: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1D103: libusb_submit_transfer (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E5B4F: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x5A1DBDB: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A2364F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A2499F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1D5F3: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1E703: libusb_handle_events_timeout_completed (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1E7DF: libusb_handle_events_completed (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1F2D3: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1F3DB: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780==
==3780== 768 bytes in 3 blocks are possibly lost in loss record 117 of 135
==3780== at 0x4849E4C: malloc (vg_replace_malloc.c:307)
==3780== by 0x59E7BDB: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49174AB: gp_port_open (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780== by 0x488615B: gp_camera_init (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x4886DB3: gp_camera_get_single_config (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x117077: ??? (in /usr/bin/gphoto2)
==3780== by 0x11C54F: ??? (in /usr/bin/gphoto2)
==3780== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B24F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B2674B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==3780==
==3780== 1,536 bytes in 6 blocks are possibly lost in loss record 120 of 135
==3780== at 0x4849E4C: malloc (vg_replace_malloc.c:307)
==3780== by 0x59E5B9B: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x5A1DBDB: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A2364F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A2499F: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1D5F3: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1E703: libusb_handle_events_timeout_completed (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1E7DF: libusb_handle_events_completed (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1F2D3: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x5A1F3DB: ??? (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E792F: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49179C3: gp_port_read (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780==
==3780== 2,240 bytes in 10 blocks are possibly lost in loss record 124 of 135
==3780== at 0x484C164: calloc (vg_replace_malloc.c:760)
==3780== by 0x5A1CDBF: libusb_alloc_transfer (in /usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.3.0)
==3780== by 0x59E7BCB: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2_port/0.12.0/usb1.so)
==3780== by 0x49174AB: gp_port_open (in /usr/lib/aarch64-linux-gnu/libgphoto2_port.so.12.0.0)
==3780== by 0x488615B: gp_camera_init (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x4886DB3: gp_camera_get_single_config (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==3780== by 0x117077: ??? (in /usr/bin/gphoto2)
==3780== by 0x11C54F: ??? (in /usr/bin/gphoto2)
==3780== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==3780== by 0x4B24EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B24F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780== by 0x4B2674B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==3780==
==3780== LEAK SUMMARY:
==3780== definitely lost: 32 bytes in 1 blocks
==3780== indirectly lost: 48 bytes in 2 blocks
==3780== possibly lost: 5,736 bytes in 34 blocks
==3780== still reachable: 6,701,536 bytes in 270 blocks
==3780== suppressed: 0 bytes in 0 blocks
==3780== Reachable blocks (those to which a pointer was found) are not shown.
==3780== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==3780==
==3780== For lists of detected and suppressed errors, rerun with: -s
==3780== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0)
Segmentation fault
is it possible to build / install with debug symbols so we can see where the strlen is called from?
Sure it's possible, please could you advise how to enable it?
if you run configure prepend CFLAGS="-g -O2" or so
CFLAGS="-g -O2" ./configure .....
For posterity, I used the following process:
output still prompt ??? I continue to look why
#############
#############
Sony ILCE-7M2 (Control) usb:001,006
Time-lapse mode enabled (interval: 5s).
Bulb mode enabled (exposure time: 2s).
Capturing frame #1...
Waiting for next capture slot 1 seconds...
New file is in location /capt0000.arw on the camera
Saving file as capt0000.arw
Deleting file /capt0000.arw on the camera
Capturing frame #2...
not sleeping (0 seconds behind schedule)
Capturing frame #3...
New file is in location /capt0001.arw on the camera
Saving file as capt0001.arw
Deleting file /capt0001.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #4...
Waiting for next capture slot 2 seconds...
New file is in location /capt0002.arw on the camera
Saving file as capt0002.arw
Deleting file /capt0002.arw on the camera
Capturing frame #5...
Waiting for next capture slot 0 seconds...
Capturing frame #6...
New file is in location /capt0003.arw on the camera
Saving file as capt0003.arw
Deleting file /capt0003.arw on the camera
not sleeping (17 seconds behind schedule)
Capturing frame #7...
New file is in location /capt0004.arw on the camera
Saving file as capt0004.arw
Deleting file /capt0004.arw on the camera
not sleeping (21 seconds behind schedule)
Capturing frame #8...
New file is in location /capt0005.arw on the camera
Saving file as capt0005.arw
Deleting file /capt0005.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #9...
New file is in location /capt0006.arw on the camera
Saving file as capt0006.arw
Deleting file /capt0006.arw on the camera
not sleeping (23 seconds behind schedule)
Capturing frame #10...
New file is in location /capt0007.arw on the camera
Saving file as capt0007.arw
Deleting file /capt0007.arw on the camera
not sleeping (22 seconds behind schedule)
Capturing frame #11...
New file is in location /capt0008.arw on the camera
Saving file as capt0008.arw
Deleting file /capt0008.arw on the camera
==2069== Invalid read of size 1
==2069== at 0x4851324: __GI_strlen (vg_replace_strmem.c:495)
==2069== by 0x4BC4E93: strdup (strdup.c:41)
==2069== by 0x7170A57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2069== by 0x7140937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2069== by 0x488E2B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==2069== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==2069== by 0x11C3D7: ??? (in /usr/bin/gphoto2)
==2069== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==2069== by 0x4B29EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2069== by 0x4B29F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2069== by 0x4B2B74B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2069== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==2069== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==2069==
==2069==
==2069== Process terminating with default action of signal 11 (SIGSEGV)
==2069== Access not within mapped region at address 0x0
==2069== at 0x4851324: __GI_strlen (vg_replace_strmem.c:495)
==2069== by 0x4BC4E93: strdup (strdup.c:41)
==2069== by 0x7170A57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2069== by 0x7140937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2069== by 0x488E2B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==2069== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==2069== by 0x11C3D7: ??? (in /usr/bin/gphoto2)
==2069== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==2069== by 0x4B29EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2069== by 0x4B29F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2069== by 0x4B2B74B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2069== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==2069== If you believe this happened as a result of a stack
==2069== overflow in your program's main thread (unlikely but
==2069== possible), you can try to increase the size of the
==2069== main thread stack using the --main-stacksize= flag.
==2069== The main thread stack size used in this run was 8388608.
==2069==
==2069== HEAP SUMMARY:
==2069== in use at exit: 6,726,474 bytes in 437 blocks
==2069== total heap usage: 41,648 allocs, 41,211 frees, 23,664,900,952 bytes allocated
==2069==
==2069== LEAK SUMMARY:
==2069== definitely lost: 32 bytes in 1 blocks
==2069== indirectly lost: 48 bytes in 2 blocks
==2069== possibly lost: 5,736 bytes in 34 blocks
==2069== still reachable: 6,720,658 bytes in 400 blocks
==2069== suppressed: 0 bytes in 0 blocks
==2069== Rerun with --leak-check=full to see details of leaked memory
==2069==
==2069== For lists of detected and suppressed errors, rerun with: -s
==2069== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault
did not yet really work: ... would not have ??? here ==2069== by 0x4BC4E93: strdup (strdup.c:41) ==2069== by 0x7170A57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
I put some hardening into 2.5.28.1 current git state, if you can update to that?
Hello,
Here is the process used.
$ sudo apt remove gphoto2 Reading package lists... Done Building dependency tree... Done Reading state information... Done The following package was automatically installed and is no longer required: libcdk5nc6 Use 'sudo apt autoremove' to remove it. The following packages will be REMOVED: gphoto2 0 upgraded, 0 newly installed, 1 to remove and 84 not upgraded. After this operation, 970 kB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 133470 files and directories currently installed.) Removing gphoto2 (2.5.27-1) ... Processing triggers for man-db (2.9.4-2) ...
Now I'm no longer able to run "gphoto2" commands as I did previously in my commands. BTW the version seems updated to the suggested one.
stellarmate@stellarmate:~ $ gphoto2-config --version libgphoto2 2.5.28.1
stellarmate@stellarmate:~ $ gphoto2- gphoto2-config gphoto2-port-config
you should not need to remove the "gphoto2" commandline tool if you rebuiold the library, can you reinstall it?
I reinstalled gphoto as suggested : sudp apt install -y gphoto2
stellarmate@stellarmate:~ $ gphoto2 --version gphoto2 2.5.27
Copyright (c) 2000-2021 Marcus Meissner and others
gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of gphoto2 under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING.
This version of gphoto2 is using the following software versions and options: gphoto2 2.5.27 gcc, popt(m), exif, cdk, aa, jpeg, readline libgphoto2 2.5.27.1 standard camlibs, gcc, no ltdl, EXIF libgphoto2_port 0.12.0 iolibs: disk ptpip serial usb1 usbdiskdirect usbscsi, gcc, no ltdl, EXIF, USB, serial without locking
Then I re-run the compilation process:
$ mv /usr/local/libgphoto2-master (unzipped form github) $ sudo autoreconf --install --symlink $ sudo ./configure --prefix=/usr/local $ sudo make $ sudo make install
Here is the result:
stellarmate@stellarmate:~ $ gphoto2 --version gphoto2 2.5.27
Copyright (c) 2000-2021 Marcus Meissner and others
gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of gphoto2 under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING.
This version of gphoto2 is using the following software versions and options: gphoto2 2.5.27 gcc, popt(m), exif, cdk, aa, jpeg, readline libgphoto2 2.5.27.1 standard camlibs, gcc, no ltdl, EXIF libgphoto2_port 0.12.0 iolibs: disk ptpip serial usb1 usbdiskdirect usbscsi, gcc, no ltdl, EXIF, USB, serial without locking stellarmate@stellarmate:~ $ gphoto2-config --version libgphoto2 2.5.28.1
the error still remain
Sony ILCE-7M2 (Control) usb:001,006
Time-lapse mode enabled (interval: 5s).
Bulb mode enabled (exposure time: 2s).
Capturing frame #1...
Waiting for next capture slot 1 seconds...
New file is in location /capt0000.arw on the camera
Saving file as capt0000.arw
Deleting file /capt0000.arw on the camera
Capturing frame #2...
not sleeping (1 seconds behind schedule)
Capturing frame #3...
New file is in location /capt0001.arw on the camera
Saving file as capt0001.arw
Deleting file /capt0001.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #4...
Waiting for next capture slot 1 seconds...
New file is in location /capt0002.arw on the camera
Saving file as capt0002.arw
Deleting file /capt0002.arw on the camera
Capturing frame #5...
not sleeping (0 seconds behind schedule)
Capturing frame #6...
New file is in location /capt0003.arw on the camera
Saving file as capt0003.arw
Deleting file /capt0003.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #7...
Waiting for next capture slot 2 seconds...
New file is in location /capt0004.arw on the camera
Saving file as capt0004.arw
Deleting file /capt0004.arw on the camera
Capturing frame #8...
Waiting for next capture slot 0 seconds...
Capturing frame #9...
New file is in location /capt0005.arw on the camera
Saving file as capt0005.arw
Deleting file /capt0005.arw on the camera
not sleeping (18 seconds behind schedule)
Capturing frame #10...
New file is in location /capt0006.arw on the camera
Saving file as capt0006.arw
Deleting file /capt0006.arw on the camera
not sleeping (22 seconds behind schedule)
Capturing frame #11...
New file is in location /capt0007.arw on the camera
Saving file as capt0007.arw
Deleting file /capt0007.arw on the camera
not sleeping (21 seconds behind schedule)
Capturing frame #12...
New file is in location /capt0008.arw on the camera
Saving file as capt0008.arw
Deleting file /capt0008.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #13...
New file is in location /capt0009.arw on the camera
Saving file as capt0009.arw
Deleting file /capt0009.arw on the camera
not sleeping (18 seconds behind schedule)
Capturing frame #14...
New file is in location /capt0010.arw on the camera
Saving file as capt0010.arw
Deleting file /capt0010.arw on the camera
not sleeping (22 seconds behind schedule)
Capturing frame #15...
New file is in location /capt0011.arw on the camera
Saving file as capt0011.arw
Deleting file /capt0011.arw on the camera
not sleeping (21 seconds behind schedule)
Capturing frame #16...
New file is in location /capt0012.arw on the camera
Saving file as capt0012.arw
Deleting file /capt0012.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #17...
New file is in location /capt0013.arw on the camera
Saving file as capt0013.arw
Deleting file /capt0013.arw on the camera
not sleeping (23 seconds behind schedule)
Capturing frame #18...
New file is in location /capt0014.arw on the camera
Saving file as capt0014.arw
Deleting file /capt0014.arw on the camera
not sleeping (22 seconds behind schedule)
Capturing frame #19...
New file is in location /capt0015.arw on the camera
Saving file as capt0015.arw
Deleting file /capt0015.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #20...
New file is in location /capt0016.arw on the camera
Saving file as capt0016.arw
Deleting file /capt0016.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #21...
Waiting for next capture slot 2 seconds...
New file is in location /capt0017.arw on the camera
Saving file as capt0017.arw
Deleting file /capt0017.arw on the camera
Capturing frame #22...
Waiting for next capture slot 0 seconds...
Capturing frame #23...
New file is in location /capt0018.arw on the camera
Saving file as capt0018.arw
Deleting file /capt0018.arw on the camera
not sleeping (18 seconds behind schedule)
Capturing frame #24...
New file is in location /capt0019.arw on the camera
Saving file as capt0019.arw
Deleting file /capt0019.arw on the camera
not sleeping (22 seconds behind schedule)
Capturing frame #25...
New file is in location /capt0020.arw on the camera
Saving file as capt0020.arw
Deleting file /capt0020.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #26...
New file is in location /capt0021.arw on the camera
Saving file as capt0021.arw
Deleting file /capt0021.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #27...
not sleeping (1 seconds behind schedule)
Capturing frame #28...
New file is in location /capt0022.arw on the camera
Saving file as capt0022.arw
Deleting file /capt0022.arw on the camera
==2071== Invalid read of size 1
==2071== at 0x4851324: __GI_strlen (vg_replace_strmem.c:495)
==2071== by 0x4BC4E93: strdup (strdup.c:41)
==2071== by 0x7170A57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2071== by 0x7140937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2071== by 0x488E2B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==2071== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==2071== by 0x11C3D7: ??? (in /usr/bin/gphoto2)
==2071== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==2071== by 0x4B29EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2071== by 0x4B29F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2071== by 0x4B2B74B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2071== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==2071== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==2071==
==2071==
==2071== Process terminating with default action of signal 11 (SIGSEGV)
==2071== Access not within mapped region at address 0x0
==2071== at 0x4851324: __GI_strlen (vg_replace_strmem.c:495)
==2071== by 0x4BC4E93: strdup (strdup.c:41)
==2071== by 0x7170A57: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2071== by 0x7140937: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.27.1/ptp2.so)
==2071== by 0x488E2B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==2071== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==2071== by 0x11C3D7: ??? (in /usr/bin/gphoto2)
==2071== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==2071== by 0x4B29EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2071== by 0x4B29F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2071== by 0x4B2B74B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2071== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==2071== If you believe this happened as a result of a stack
==2071== overflow in your program's main thread (unlikely but
==2071== possible), you can try to increase the size of the
==2071== main thread stack using the --main-stacksize= flag.
==2071== The main thread stack size used in this run was 8388608.
==2071==
==2071== HEAP SUMMARY:
==2071== in use at exit: 6,727,034 bytes in 441 blocks
==2071== total heap usage: 65,281 allocs, 64,840 frees, 60,794,565,632 bytes allocated
==2071==
==2071== LEAK SUMMARY:
==2071== definitely lost: 32 bytes in 1 blocks
==2071== indirectly lost: 48 bytes in 2 blocks
==2071== possibly lost: 5,736 bytes in 34 blocks
==2071== still reachable: 6,721,218 bytes in 404 blocks
==2071== suppressed: 0 bytes in 0 blocks
==2071== Rerun with --leak-check=full to see details of leaked memory
==2071==
==2071== For lists of detected and suppressed errors, rerun with: -s
==2071== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault
Reminds me of Segmentation Fault i keep getting both with Sony A7 and Sony 5000. Tried loading newest Kstars 3.5.7 but find the error keeps happening after 40-73 captures. It kills the whole system and it restarts.
it went back to 2.5.27.1 libgphoto2 2.5.27.1 standard camlibs, gcc, no ltdl, EXIF
either you build both libgphoto2 or gphoto2 locally, or you overwrite the installed libgphoto2 version by your own build.
Hi,
Thanks for the feedback, I tried to manage the lib change, I found the information from your FAQ => 3.6.4.
stellarmate@stellarmate:/usr/local/bin $ ldd which gphoto2
linux-vdso.so.1 (0x0000007fae540000)
libgphoto2.so.6 => /lib/aarch64-linux-gnu/libgphoto2.so.6 (0x0000007fae42e000)
libgphoto2_port.so.12 => /lib/aarch64-linux-gnu/libgphoto2_port.so.12 (0x0000007fae412000)
...
stellarmate@stellarmate:/usr/local/lib $ LD_LIBRARY_PATH=/usr/local/lib
stellarmate@stellarmate:/usr/local/lib $ gphoto2 --version gphoto2 2.5.27
Copyright (c) 2000-2021 Marcus Meissner and others
gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of gphoto2 under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING.
This version of gphoto2 is using the following software versions and options: gphoto2 2.5.27 gcc, popt(m), exif, cdk, aa, jpeg, readline libgphoto2 2.5.28.1 standard camlibs (SKIPPING docupen lumix), gcc, no ltdl, no EXIF libgphoto2_port 0.12.0 iolibs: disk ptpip serial, gcc, no ltdl, no EXIF, no USB, serial without locking
stellarmate@stellarmate:/usr/local/lib $ env |grep LD LD_LIBRARY_PATH=/usr/local/lib
stellarmate@stellarmate:/usr/local/lib $ ldd which gphoto2
linux-vdso.so.1 (0x0000007fab071000)
libgphoto2.so.6 => /usr/local/lib/libgphoto2.so.6 (0x0000007faaf77000)
libgphoto2_port.so.12 => /usr/local/lib/libgphoto2_port.so.12 (0x0000007faaf5c000)
...
Sony ILCE-7M2 (Control) usb:001,006
Time-lapse mode enabled (interval: 5s).
Bulb mode enabled (exposure time: 2s).
Capturing frame #1...
Waiting for next capture slot 1 seconds...
New file is in location /capt0000.arw on the camera
Saving file as capt0000.arw
Deleting file /capt0000.arw on the camera
Capturing frame #2...
not sleeping (0 seconds behind schedule)
Capturing frame #3...
New file is in location /capt0001.arw on the camera
Saving file as capt0001.arw
Deleting file /capt0001.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #4...
not sleeping (1 seconds behind schedule)
Capturing frame #5...
New file is in location /capt0002.arw on the camera
Saving file as capt0002.arw
Deleting file /capt0002.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #6...
Waiting for next capture slot 2 seconds...
New file is in location /capt0003.arw on the camera
Saving file as capt0003.arw
Deleting file /capt0003.arw on the camera
Capturing frame #7...
Waiting for next capture slot 1 seconds...
New file is in location /capt0004.arw on the camera
Saving file as capt0004.arw
Deleting file /capt0004.arw on the camera
Capturing frame #8...
not sleeping (0 seconds behind schedule)
Capturing frame #9...
New file is in location /capt0005.arw on the camera
Saving file as capt0005.arw
Deleting file /capt0005.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #10...
not sleeping (1 seconds behind schedule)
Capturing frame #11...
New file is in location /capt0006.arw on the camera
Saving file as capt0006.arw
Deleting file /capt0006.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #12...
Waiting for next capture slot 2 seconds...
New file is in location /capt0007.arw on the camera
Saving file as capt0007.arw
Deleting file /capt0007.arw on the camera
Capturing frame #13...
Waiting for next capture slot 0 seconds...
Capturing frame #14...
New file is in location /capt0008.arw on the camera
Saving file as capt0008.arw
Deleting file /capt0008.arw on the camera
not sleeping (17 seconds behind schedule)
Capturing frame #15...
New file is in location /capt0009.arw on the camera
Saving file as capt0009.arw
Deleting file /capt0009.arw on the camera
not sleeping (21 seconds behind schedule)
Capturing frame #16...
New file is in location /capt0010.arw on the camera
Saving file as capt0010.arw
Deleting file /capt0010.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #17...
New file is in location /capt0011.arw on the camera
Saving file as capt0011.arw
Deleting file /capt0011.arw on the camera
not sleeping (23 seconds behind schedule)
Capturing frame #18...
not sleeping (0 seconds behind schedule)
Capturing frame #19...
New file is in location /capt0012.arw on the camera
Saving file as capt0012.arw
Deleting file /capt0012.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #20...
not sleeping (1 seconds behind schedule)
Capturing frame #21...
New file is in location /capt0013.arw on the camera
Saving file as capt0013.arw
Deleting file /capt0013.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #22...
not sleeping (2 seconds behind schedule)
Capturing frame #23...
New file is in location /capt0014.arw on the camera
Saving file as capt0014.arw
Deleting file /capt0014.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #24...
Waiting for next capture slot 2 seconds...
New file is in location /capt0015.arw on the camera
Saving file as capt0015.arw
Deleting file /capt0015.arw on the camera
Capturing frame #25...
Waiting for next capture slot 0 seconds...
New file is in location /capt0016.arw on the camera
Saving file as capt0016.arw
Deleting file /capt0016.arw on the camera
Capturing frame #26...
not sleeping (0 seconds behind schedule)
Capturing frame #27...
New file is in location /capt0017.arw on the camera
Saving file as capt0017.arw
Deleting file /capt0017.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #28...
not sleeping (1 seconds behind schedule)
Capturing frame #29...
New file is in location /capt0018.arw on the camera
Saving file as capt0018.arw
Deleting file /capt0018.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #30...
New file is in location /capt0019.arw on the camera
Saving file as capt0019.arw
Deleting file /capt0019.arw on the camera
not sleeping (19 seconds behind schedule)
Capturing frame #31...
not sleeping (1 seconds behind schedule)
Capturing frame #32...
New file is in location /capt0020.arw on the camera
Saving file as capt0020.arw
Deleting file /capt0020.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #33...
Waiting for next capture slot 2 seconds...
New file is in location /capt0021.arw on the camera
Saving file as capt0021.arw
Deleting file /capt0021.arw on the camera
Capturing frame #34...
Waiting for next capture slot 0 seconds...
Capturing frame #35...
New file is in location /capt0022.arw on the camera
Saving file as capt0022.arw
Deleting file /capt0022.arw on the camera
not sleeping (18 seconds behind schedule)
Capturing frame #36...
New file is in location /capt0023.arw on the camera
Saving file as capt0023.arw
Deleting file /capt0023.arw on the camera
not sleeping (23 seconds behind schedule)
Capturing frame #37...
New file is in location /capt0024.arw on the camera
Saving file as capt0024.arw
Deleting file /capt0024.arw on the camera
not sleeping (22 seconds behind schedule)
Capturing frame #38...
New file is in location /capt0025.arw on the camera
Saving file as capt0025.arw
Deleting file /capt0025.arw on the camera
not sleeping (21 seconds behind schedule)
Capturing frame #39...
New file is in location /capt0026.arw on the camera
Saving file as capt0026.arw
Deleting file /capt0026.arw on the camera
not sleeping (21 seconds behind schedule)
Capturing frame #40...
New file is in location /capt0027.arw on the camera
Saving file as capt0027.arw
Deleting file /capt0027.arw on the camera
not sleeping (21 seconds behind schedule)
Capturing frame #41...
New file is in location /capt0028.arw on the camera
Saving file as capt0028.arw
Deleting file /capt0028.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #42...
New file is in location /capt0029.arw on the camera
Saving file as capt0029.arw
Deleting file /capt0029.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #43...
làDownloading... |------------------------------------------- \ 95.5% 2, noDownloading... |-------------------------------------------- - 98.8% n Downloading... |---------------------------------------------| 99.6% 1New file is in location /capt0030.arw on the camera
Saving file as capt0030.arw
Deleting file /capt0030.arw on the camera
not sleeping (20 seconds behind schedule)
Capturing frame #44...
Waiting for next capture slot 2 seconds...
==2116== Invalid read of size 1
==2116== at 0x4851324: __GI_strlen (vg_replace_strmem.c:495)
==2116== by 0x4BC4E93: strdup (strdup.c:41)
==2116== by 0x745A297: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.28.1/ptp2.so)
==2116== by 0x7427CF3: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.28.1/ptp2.so)
==2116== by 0x488E2B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==2116== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==2116== by 0x11C2F3: ??? (in /usr/bin/gphoto2)
==2116== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==2116== by 0x4B29EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2116== by 0x4B29F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2116== by 0x4B2B74B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2116== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==2116== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==2116==
==2116==
==2116== Process terminating with default action of signal 11 (SIGSEGV)
==2116== Access not within mapped region at address 0x0
==2116== at 0x4851324: __GI_strlen (vg_replace_strmem.c:495)
==2116== by 0x4BC4E93: strdup (strdup.c:41)
==2116== by 0x745A297: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.28.1/ptp2.so)
==2116== by 0x7427CF3: ??? (in /usr/lib/aarch64-linux-gnu/libgphoto2/2.5.28.1/ptp2.so)
==2116== by 0x488E2B7: gp_camera_wait_for_event (in /usr/lib/aarch64-linux-gnu/libgphoto2.so.6.2.0)
==2116== by 0x11BF67: ??? (in /usr/bin/gphoto2)
==2116== by 0x11C2F3: ??? (in /usr/bin/gphoto2)
==2116== by 0x11D2CF: ??? (in /usr/bin/gphoto2)
==2116== by 0x4B29EDB: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2116== by 0x4B29F6B: ??? (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2116== by 0x4B2B74B: poptGetNextOpt (in /usr/lib/aarch64-linux-gnu/libpopt.so.0.0.1)
==2116== by 0x10FFE7: ??? (in /usr/bin/gphoto2)
==2116== If you believe this happened as a result of a stack
==2116== overflow in your program's main thread (unlikely but
==2116== possible), you can try to increase the size of the
==2116== main thread stack using the --main-stacksize= flag.
==2116== The main thread stack size used in this run was 8388608.
==2116==
==2116== HEAP SUMMARY:
==2116== in use at exit: 6,975,256 bytes in 420 blocks
==2116== total heap usage: 73,632 allocs, 73,212 frees, 81,319,185,164 bytes allocated
==2116==
==2116== LEAK SUMMARY:
==2116== definitely lost: 32 bytes in 1 blocks
==2116== indirectly lost: 48 bytes in 2 blocks
==2116== possibly lost: 5,736 bytes in 34 blocks
==2116== still reachable: 6,969,440 bytes in 383 blocks
==2116== suppressed: 0 bytes in 0 blocks
==2116== Rerun with --leak-check=full to see details of leaked memory
==2116==
==2116== For lists of detected and suppressed errors, rerun with: -s
==2116== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault
how did you build libgphoto2 ? with which configure options?
can you pass in CFLAGS="-O2 -g" ./configure .... ?
I did another NULL ptr fix in libgphoto2 master git too.
@gmerceron1000r
hello ,
Have you solved this problem yet? I recently encountered this problem with a SONY compatible camera model :A7M4
Contexterror
You need to specify a folder starting with /store_xxxxxxxxx/
@
Contexterror
@gmerceron1000r this is unrelated, please keep this in your seperate issue
I fixed another crash reason in current libgphoto2 master git. Need to run a release at some point in near future. :/
Hello Please could take a look about this camera support?
*Name of the camera Sony A7II
USB IDs 054c:0a6a
camera summary output Please find file attached summary.txt
camera configuration output Please find file attached list-all-config.txt
test capture gphoto2 --capture-image-and-download -> works but --interval generate Segmentation fault error, please find log files attached gphoto2 --capture-preview -> works
gphoto_export.txt gphoto_export_debug.txt
Thanks in advance.