Found it...
All the permissions on .indi and .local/share/kstars are OK, so I took a big hammer:
sudo chmod -R 0755 ~/Projects/ *
Then:
~/Projects/build/kstars/kstars/kstars
works as a normal user and the sensor dimensions stick. We survive both a restart and a change of profile: same dslr dimensions.
Questions:
Is something in the build folder is missing a permission perhaps?
Have I introduced a security hole if I VNC into it over Internet by using these permissions?
<strong>** To get the crash</strong>, move one of the sliders at the bottom of the fitsviewer window.
Thanks everyone for your patience,
Clear skies,
Steve
Here is the crash with the new (working) permissions:
Thread 1 "kstars" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff0184e97 in __GI_raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff0186801 in __GI_abort () at abort.c:79
#2 0x00007ffff21c9fb7 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff21c5486 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00005555559fd650 in Stretch::run(unsigned char*, QImage*, int) (this=0x7fffffffcb10, input=0x7fff70e4a010 "\375\a\032\b\032\b\b\b\b\b\376\a\376\a\352\a\352\a\352\a\352\a\002\b\002\b\025\b\025\b\v\b\v\b\f\b\f\b\024\b\024\b\006\b\006\b\305\a\305\a\003\b\003\b", outputImage=0x55555bb1d3f0, sampling=4)
at /home/steve/Projects/kstars/kstars/fitsviewer/stretch.cpp:321
#5 0x0000555555849199 in FITSView::doStretch(FITSData*, QImage*) (this=
0x55555bb1d310, data=0x55555ba65220, outputImage=0x55555bb1d3f0)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:100
#6 0x000055555585537b in FITSView::rescale<unsigned short>(FITSZoom) (this=0x55555bb1d310, type=ZOOM_KEEP_LEVEL)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:554
#7 0x000055555584b3a5 in FITSView::rescale(FITSZoom) (this=0x55555bb1d310, type=ZOOM_KEEP_LEVEL)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:427
#8 0x0000555555849355 in FITSView::setStretchParams(StretchParams const&) (this=0x55555bb1d310, params=...)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:117
#9 0x0000555555a1e3f7 in FITSTab::<lambda(int)>::operator()(int) const (__closu---Type <return> to continue, or q <return> to quit---
re=0x55555c6b71b0, value=5763)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitstab.cpp:274
#10 0x0000555555a26e02 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, FITSTab::setupStretchBar()::<lambda(int)> >::call(FITSTab::<lambda(int)> &, void **) (f=..., arg=0x7fffffffcf20)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:130
#11 0x0000555555a266da in QtPrivate::Functor<FITSTab::setupStretchBar()::<lambda(int)>, 1>::call<QtPrivate::List<int>, void>(FITSTab::<lambda(int)> &, void *, void **) (f=..., arg=0x7fffffffcf20)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:240
#12 0x0000555555a25c13 in QtPrivate::QFunctorSlotObject<FITSTab::setupStretchBar()::<lambda(int)>, 1, QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55555c6b71a0, r=0x55555c6b3560, a=0x7fffffffcf20, ret=0x0)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:168
#13 0x00007ffff23ec75f in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff3936c81 in QAbstractSlider::sliderMoved(int) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff39376f6 in QAbstractSlider::setSliderPosition(int) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff39dca1b in QSlider::mouseMoveEvent(QMouseEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#17 0x00007ffff3881048 in QWidget::event(QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff39dd04a in QSlider::event(QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff384283c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff384a65f in QApplication::notify(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff23bd9c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff3849632 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff389c16b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff389e7da in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff384283c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff384a104 in QApplication::notify(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff23bd9c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff2e64583 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
---Type <return> to continue, or q <return> to quit---
#29 0x00007ffff2e66055 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#30 0x00007ffff2e3d2eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#31 0x00007fffdedd0260 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#32 0x00007fffed8f3417 in g_main_context_dispatch ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffed8f3650 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffed8f36dc in g_main_context_iteration ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff241697f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007ffff23bb9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007ffff23c4aa4 in QCoreApplication::exec() ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x000055555562e23b in main(int, char**) (argc=1, argv=0x7fffffffdf88)
at /home/steve/Projects/kstars/kstars/main.cpp:332
(gdb)
EDIT
Here is the bt loading a .fits but without connecting the camera:
Thread 1 "kstars" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff0184e97 in __GI_raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff0186801 in __GI_abort () at abort.c:79
#2 0x00007ffff21c9fb7 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff21c5486 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x00005555559fd650 in Stretch::run(unsigned char*, QImage*, int) (this=0x7fffffffd170, input=0x7fff730d2010 "\370\n\211\v\211\vE\vE\vM\vM\v>\v>\v_\v_\v\036\v\036\v\343\n\343\n\037\v\037\v@\v@\v\027\v\027\v\365\n\365\n\363\n\363\n\\\v\\\vs\vs\vh\vh\vx\vx\v*\v*\v9\v9\v,\v,\v)\v)\vJ\vJ\v\017\v\017\v\325\n\325\n\375\n\375\nr\vr\v\312\n\312\n\372\n\372\n2\v2\v\r\v\r\v\036\v\036\v\017\v\017\v\202\v\202\v=\v=\v\034\v\034\vs\vs\v7\v7\v\a\v\a\vI\vI\v\353\n\353\nA\vA\v\213\v\213\v\206\v\206\vV\vV\vW\vW\v\305\n\305\n8\v8\v\260\v\260\v\321\v\321\vW\vW\v\212\v"..., outputImage=0x555556bd7ce0, sampling=4)
at /home/steve/Projects/kstars/kstars/fitsviewer/stretch.cpp:321
#5 0x0000555555849199 in FITSView::doStretch(FITSData*, QImage*) (this=
0x555556bd7c00, data=0x555556bce290, outputImage=0x555556bd7ce0)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:100
#6 0x000055555585537b in FITSView::rescale<unsigned short>(FITSZoom) (this=0x555556bd7c00, type=ZOOM_KEEP_LEVEL)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:554
#7 0x000055555584b3a5 in FITSView::rescale(FITSZoom) (this=0x555556bd7c00, type=ZOOM_KEEP_LEVEL)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:427
---Type <return> to continue, or q <return> to quit---
#8 0x0000555555849355 in FITSView::setStretchParams(StretchParams const&) (this=0x555556bd7c00, params=...)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitsview.cpp:117
#9 0x0000555555a1e3f7 in FITSTab::<lambda(int)>::operator()(int) const (__closure=0x555556ba72c0, value=5254)
at /home/steve/Projects/kstars/kstars/fitsviewer/fitstab.cpp:274
#10 0x0000555555a26e02 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, FITSTab::setupStretchBar()::<lambda(int)> >::call(FITSTab::<lambda(int)> &, void **) (f=..., arg=0x7fffffffd580)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:130
#11 0x0000555555a266da in QtPrivate::Functor<FITSTab::setupStretchBar()::<lambda(int)>, 1>::call<QtPrivate::List<int>, void>(FITSTab::<lambda(int)> &, void *, void **) (f=..., arg=0x7fffffffd580)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:240
#12 0x0000555555a25c13 in QtPrivate::QFunctorSlotObject<FITSTab::setupStretchBar()::<lambda(int)>, 1, QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x555556ba72b0, r=0x555556bafd80, a=0x7fffffffd580, ret=0x0)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:168
#13 0x00007ffff23ec75f in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff3936c81 in QAbstractSlider::sliderMoved(int) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#15 0x00007ffff39376f6 in QAbstractSlider::setSliderPosition(int) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff39dca1b in QSlider::mouseMoveEvent(QMouseEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff3881048 in QWidget::event(QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff39dd04a in QSlider::event(QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff384283c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff384a65f in QApplication::notify(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff23bd9c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff3849632 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff389c16b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff389e7da in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff384283c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff384a104 in QApplication::notify(QObject*, QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#27 0x00007ffff23bd9c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff2e64583 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#29 0x00007ffff2e66055 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#30 0x00007ffff2e3d2eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#31 0x00007fffdedd0260 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#32 0x00007fffed8f3417 in g_main_context_dispatch ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffed8f3650 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffed8f36dc in g_main_context_iteration ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff241697f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007ffff23bb9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007ffff23c4aa4 in QCoreApplication::exec() ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x000055555562e23b in main(int, char**) (argc=1, argv=0x7fffffffe5e8)
at /home/steve/Projects/kstars/kstars/main.cpp:332
(gdb)