indilib / indi-3rdparty

INDI 3rd Party drivers repository
https://www.indilib.org/devices.html
GNU Lesser General Public License v2.1
124 stars 208 forks source link

SVBONY 705c driver crash on indiserver start #833

Open alfiolocastro opened 1 year ago

alfiolocastro commented 1 year ago

Describe the bug Driver indi_svbony_ccd crashes as soon as indiserver starts. On a freshly installed i7 laptop Driver worked fine one time (just few capture and streams), then I changed USB port. It crashed all the time since then as soon as indiserver stars.

To Reproduce Exact steps to reproduce the behavior.

  1. Start Kstars and Ekos once, indi_svbony_ccd device driver starts and works fine
  2. Close Kstars, change USB port for the 705c, restart Kstars
  3. See error (all the subsequent attempts)

Desktop (please complete the following information):

Log Files (with ekos debugger) [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Attaching after Thread 0x7ffff7f90740 (LWP 5505) fork to child process 5508] [New inferior 2 (process 5508)] [Detaching after fork from parent process 5505] [Inferior 1 (process 5505) detached] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". process 5508 is executing new program: /usr/bin/indi_svbony_ccd [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff52c8640 (LWP 5517)] [New Thread 0x7ffff4ac7640 (LWP 5518)] Thread 2.1 "indi_svbony_ccd" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff5843b80 (LWP 5508)] __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74

0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74

1 0x00007ffff76f32de in IUFillNumberVector () from /lib/x86_64-linux-gnu/libindidriver.so.2

2 0x00007ffff7689f89 in INDI::CCD::initProperties() () from /lib/x86_64-linux-gnu/libindidriver.so.2

3 0x0000555555560d47 in SVBONYCCD::initProperties() ()

4 0x00007ffff768b6e4 in INDI::DefaultDevice::ISGetProperties(char const*) () from /lib/x86_64-linux-gnu/libindidriver.so.2

5 0x00007ffff768c927 in INDI::CCD::ISGetProperties(char const*) () from /lib/x86_64-linux-gnu/libindidriver.so.2

6 0x0000555555560da1 in SVBONYCCD::ISGetProperties(char const*) ()

7 0x00007ffff767b19e in ISGetProperties () from /lib/x86_64-linux-gnu/libindidriver.so.2

8 0x00007ffff7681f28 in dispatch () from /lib/x86_64-linux-gnu/libindidriver.so.2

9 0x00007ffff7682e33 in ?? () from /lib/x86_64-linux-gnu/libindidriver.so.2

10 0x00007ffff770f3d2 in ?? () from /lib/x86_64-linux-gnu/libindidriver.so.2

11 0x00007ffff77161d9 in eventLoop () from /lib/x86_64-linux-gnu/libindidriver.so.2

12 0x00007ffff76816e5 in main () from /lib/x86_64-linux-gnu/libindidriver.so.2

13 0x00007ffff6e29d90 in __libc_start_call_main (main=main@entry=0x7ffff7681593
, argc=argc@entry=1, argv=argv@entry=0x7fffffffe058) at ../sysdeps/nptl/libc_start_call_main.h:58

14 0x00007ffff6e29e40 in __libc_start_main_impl (main=0x7ffff7681593
, argc=1, argv=0x7fffffffe058, init=, fini=, rtld_fini=, stack_end=0x7fffffffe048) at ../csu/libc-start.c:392

15 0x0000555555559f45 in _start ()

Application Log 2023-09-10T18:09:33: startup: /usr/bin/indiserver -r 0 -v indi_svbony_ccd 2023-09-10T18:09:33: Driver indi_svbony_ccd: pid=5508 rfd=6 wfd=6 efd=7 2023-09-10T18:09:33: listening to port 7624 on fd 5 2023-09-10T18:09:33: Local server: listening on local domain at: @/tmp/indiserver 2023-09-10T18:09:34: Driver indi_svbony_ccd: Camera(s) found 74 ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory. 2023-09-10T18:09:34: Driver indi_svbony_ccd: read EOF 2023-09-10T18:09:34: Driver indi_svbony_ccd: Terminated after #0 restarts. 2023-09-10T18:09:34: good bye

alfiolocastro commented 1 year ago

Some updates: looks like the crash is related to the SVBONY config files under .indi directory. When there's a config file present driver crashes and if I delete it, it starts (until next time because file is being regenerated every time)