×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Segfault after starting indi_qsi_ccd driver on x86

  • Posts: 3
  • Thank you received: 1
My first post to the forum. I am very much enjoying integrating INDI into my astrophotography workflow.
As with most things Linux, there have been some bumps along the way. After failing to get my
SBIG ST-i to download images reliably on my RaspberryPi 2, I opted to use an Intel architecture cpu to get
back to imaging instead of trying to get past SBIG's hopeless Linux ARM driver.

So I found what looks to be a great little laptop with minimal power consumption to fill my needs ( Dell Inspiron 3162 ).
Unfortunately, I cannot get the indi_qsi_ccd driver to behave. After starting the driver, either locally using Ekos
or remotely using 'sudo indiserver indi_qsi_ccd', it will segfault.

I have C++, JAVA and Android development experience, so I would be happy to offer my efforts, but I don't have much Linux
specific experience (I can muddle through a build, etc.) It looks like it is failing to find/parse filter wheel info somewhere?

The indi_qsi_ccd driver works perfectly on my RaspberryPi 2, but the SBIG ST-i does not.
The SBIG St-i driver works on my x86_64 cpu devices, but the QSI driver does not.

Best Regards,

Robert Collins



Title: Segfault after starting indi_qsi_ccd driver on x86_64 platform

Steps to reproduce:
1) Fresh install of Ubuntu Mate 15.10 on x86_64 cpu device
2) Follow download and install instructions for Ubuntu ( indilib.org/download/ubuntu.html )
3) Connect powered QSI683 camera to device usb
4) Start KStars/Ekos and select QSI CCD as imager
5) In Control Panel, press CONNECT to connect to QSI683
- Log shows camera is recognized, but after getting some camera stats *BAM* the driver crashes

This has been observed on the following 64 bit devices:
- Homebrew with AMD 6-core FX-6350
- Older HP Pavilion laptop with Core Duo 7550
- Brand new Dell 3162 with Intel N3050 Braswell cpu


remote@bluemoon:~$ sudo gdb --eval-command="set follow-fork-mode child" --args indiserver -v indi_qsi_ccd
GNU gdb (Ubuntu 7.10-1ubuntu2) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <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 "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from indiserver...Reading symbols from /usr/lib/debug//usr/bin/indiserver...done.
done.
(gdb) run
Starting program: /usr/bin/indiserver -v indi_qsi_ccd
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
2016-04-07T15:19:51: startup: /usr/bin/indiserver -v indi_qsi_ccd
2016-04-07T15:19:51: Driver indi_qsi_ccd: pid=3055 rfd=3 wfd=6 efd=7
2016-04-07T15:19:51: listening to port 7624 on fd 4
[New process 3055]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
process 3055 is executing new program: /usr/bin/indi_qsi_ccd
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
2016-04-07T15:19:51: Driver indi_qsi_ccd: snooping on Telescope Simulator.EQUATORIAL_EOD_COORD
2016-04-07T15:19:51: Driver indi_qsi_ccd: snooping on Telescope Simulator.TELESCOPE_INFO
2016-04-07T15:19:51: Driver indi_qsi_ccd: snooping on CCD Simulator.FILTER_SLOT
2016-04-07T15:19:51: Driver indi_qsi_ccd: snooping on CCD Simulator.FILTER_NAME
2016-04-07T15:20:13: Client 0: new arrival from 192.168.1.155:59866 - welcome!

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff7fb5740 (LWP 3055)]
__memcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:158
158 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: No such file or directory.
(gdb) bt
#0 __memcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:158
#1 0x00007ffff762b8b2 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x00007ffff78a644e in CCCDCamera::get_Names(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) ()
from /usr/lib/libqsiapi.so.7
#3 0x000000000040b2ec in QSICCD::GetFilterNames (this=0x622c20,
groupName=0x7ffff7b59566 "Filter Wheel")
at /build/indi-qsi-jWnP2E/indi-qsi-0.4.1+r74.251~ubuntu15.10.1/qsi_ccd.cpp:1540
#4 0x0000000000406a12 in QSICCD::setupParams (this=this@entry=0x622c20)
at /build/indi-qsi-jWnP2E/indi-qsi-0.4.1+r74.251~ubuntu15.10.1/qsi_ccd.cpp:313
#5 0x000000000040856c in QSICCD::updateProperties (this=0x622c20)
at /build/indi-qsi-jWnP2E/indi-qsi-0.4.1+r74.251~ubuntu15.10.1/qsi_ccd.cpp:207
#6 0x00007ffff7b1e6fb in INDI::DefaultDevice::ISNewSwitch (
this=this@entry=0x622c20, dev=dev@entry=0x63e020 "QSI CCD",
name=name@entry=0x640000 "CONNECTION", states=states@entry=0x640260,
names=names@entry=0x640280, n=n@entry=1)
---Type <return> to continue, or q <return> to quit---Quit
(gdb)
The following user(s) said Thank You: Jasem Mutlaq
7 years 9 months ago #9382

Please Log in or Create an account to join the conversation.

Testing a theory, how many filter slots do you have?

EDIT: Ok most likely scenario is filter slots, it was set to maximum of 6 (I developed the driver for my QSI 583 initially), and now increased it to 12. So if you have 8-slot filter wheel, it shouldn't cause a problem now. IF the problem is something else let me know.
Last edit: 7 years 9 months ago by Jasem Mutlaq.
7 years 9 months ago #9384

Please Log in or Create an account to join the conversation.

  • Posts: 3
  • Thank you received: 1
Thank you Sir! That was indeed the problem. I have a QSI683 with an 8-filter wheel. I don't understand why this works on my RaspberryPi 2, but maybe I did something months ago that I don't remember.

I am heading to the Oregon Star Party in Central Oregon, USA for a week of dark sky imaging, and after using Ekos for Plate Solving/Alignment I just don't want to go back to my Windows based work flow. With Ekos, my mount (Celestron CGE Pro) can see and no longer has to guess where it is.

Clear Skies,

Robert
7 years 9 months ago #9406

Please Log in or Create an account to join the conversation.

Time to create page: 0.787 seconds