kstars crashes on connection to FLI CFW
This is a repeatable crash in the current git versions of kstars, indi, and indi-fli on ubuntu (mint). This also occurs with the PPA builds. I have an older system that is quite far behind on kstars updates and suspect it occurs there as well with the newer FLI indi driver.
On starting the indiserver via Ekos, when an FLI filter wheel driver is selected kstars will crash. This does not occur when an FLI camera is selected. If an external indiserver is attached to, the kstars will crash as well.
(gdb) bt
#0 0x00007fffefc07f47 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007fffefc098b1 in __GI_abort () at abort.c:79
#2 0x00007ffff21c9fb7 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff21c54ea in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x0000555555b28444 in QList<OAL::Filter*>::operator[](int) (this=0x55555a48d538, i=-1)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:549
#5 0x0000555555b2599b in Ekos::FilterManager::initFilterProperties() (this=0x55555a48d490)
at /home/schwim/src/kstars/kstars/ekos/auxiliary/filtermanager.cpp:259
#6 0x0000555555b256fe in Ekos::FilterManager::setCurrentFilterWheel(ISD::GDInterface*) (this=0x55555a48d490, filter=0x55555bd2ba80) at /home/schwim/src/kstars/kstars/ekos/auxiliary/filtermanager.cpp:232
#7 0x0000555555b6c651 in Ekos::Capture::checkFilter(int) (this=0x55555bd41090, filterNum=1)
at /home/schwim/src/kstars/kstars/ekos/capture/capture.cpp:1439
#8 0x0000555555b65ed1 in Ekos::Capture::addFilter(ISD::GDInterface*) (this=0x55555bd41090, newFilter=0x55555bd2ba80) at /home/schwim/src/kstars/kstars/ekos/capture/capture.cpp:475
#9 0x0000555555a929b3 in Ekos::Manager::setFilter(ISD::GDInterface*) (this=0x555559bed080, filterDevice=0x55555bd2ba80) at /home/schwim/src/kstars/kstars/ekos/manager.cpp:1544
#10 0x0000555555ac3154 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<ISD::GDInterface*>, void, void (Ekos::Manager::*)(ISD::GDInterface*)>::call(void (Ekos::Manager::*)(ISD::GDInterface*), Ekos::Manager*, void**) (f=
(void (Ekos::Manager::*)(Ekos::Manager * const, ISD::GDInterface *)) 0x555555a928b0 <Ekos::Manager::setFilter(ISD::GDInterface*)>, o=0x555559bed080, arg=0x7fffffffd590)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:136
#11 0x0000555555abf131 in QtPrivate::FunctionPointer<void (Ekos::Manager::*)(ISD::GDInterface*)>::call<QtPrivate::List<ISD::GDInterface*>, void>(void (Ekos::Manager::*)(ISD::GDInterface*), Ekos::Manager*, void**) (f=
(void (Ekos::Manager::*)(Ekos::Manager * const, ISD::GDInterface *)) 0x555555a928b0 <Ekos::Manager::setFilter---Type <return> to continue, or q <return> to quit---
(ISD::GDInterface*)>, o=0x555559bed080, arg=0x7fffffffd590)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:169
#12 0x0000555555ab7961 in QtPrivate::QSlotObject<void (Ekos::Manager::*)(ISD::GDInterface*), QtPrivate::List<ISD::GDInterface*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555559317df0, r=0x555559bed080, a=0x7fffffffd590, ret=0x0)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:120
#13 0x00007ffff23ec66f in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x000055555595c4bc in INDIListener::newFilter(ISD::GDInterface*) (this=0x55555a594d70, _t1=0x55555bd2ba80)
at /home/schwim/src/build/kstars/kstars/KStarsLib_autogen/FRI4DANIHA/moc_indilistener.cpp:415
#15 0x00005555559edf86 in INDIListener::registerProperty(INDI::Property*) (this=0x55555a594d70, prop=0x7fff9c016ba0) at /home/schwim/src/kstars/kstars/indi/indilistener.cpp:280
#16 0x00005555559f2338 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<INDI::Property*>, void, void (INDIListener::*)(INDI::Property*)>::call(void (INDIListener::*)(INDI::Property*), INDIListener*, void**) (f=
(void (INDIListener::*)(INDIListener * const, INDI::Property *)) 0x5555559edaf4 <INDIListener::registerProperty(INDI::Property*)>, o=0x55555a594d70, arg=0x7fffa2ffaf40)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:136
#17 0x00005555559f1e6a in QtPrivate::FunctionPointer<void (INDIListener::*)(INDI::Property*)>::call<QtPrivate::List<INDI::Property*>, void>(void (INDIListener::*)(INDI::Property*), INDIListener*, void**) (f=
(void (INDIListener::*)(INDIListener * const, INDI::Property *)) 0x5555559edaf4 <INDIListener::registerProperty(INDI::Property*)>, o=0x55555a594d70, arg=0x7fffa2ffaf40)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:169
#18 0x00005555559f1255 in QtPrivate::QSlotObject<void (INDIListener::*)(INDI::Property*), QtPrivate::List<INDI::Property*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555592f38a0,---Type <return> to continue, or q <return> to quit---
r=0x55555a594d70, a=0x7fffa2ffaf40, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:120
#19 0x00007ffff23ed0c2 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff384283c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff384a104 in QApplication::notify(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff23bd8d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff23c004d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff2417263 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fffed376417 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fffed376650 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fffed3766dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff241688f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff23bb90a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007ffff23c49b4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x0000555555633aa8 in main(int, char**) (argc=1, argv=0x7fffffffe078)
at /home/schwim/src/kstars/kstars/main.cpp:348
(gdb)