Bug 455948

Summary: kstars crashing when opening fits file
Product: [Applications] kstars Reporter: Alexander Puchmayr <alexander.puchmayr>
Component: generalAssignee: Jasem Mutlaq <mutlaqja>
Status: RESOLVED FIXED    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 3.6.0
Sentry Crash Report:

Description Alexander Puchmayr 2022-06-26 10:39:45 UTC
Application: kstars (3.5.9 Stable)
 (Compiled from sources)
Qt Version: 5.15.3
Frameworks Version: 5.92.0
Operating System: Linux 5.15.41-gentoo-dist-hardened x86_64
Windowing System: X11
Distribution: Gentoo Linux
DrKonqi: 5.24.5 [KCrashBackend]

-- Information about the crash:
I created a stacked image using siril and the final fits file causes kstars to crash when opening it (segfault)..

gimp can open the file without problems, so the file seems to be ok; also the original files created by kstars can be opened and viewed properly.

The crash can be reproduced every time.

-- Backtrace:
Application: KStars (kstars), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fd7506ad348 in QWidget::ensurePolished() const () from /usr/lib64/libQt5Widgets.so.5
#5  0x00007fd75068ee08 in QLayout::totalSizeHint() const () from /usr/lib64/libQt5Widgets.so.5
#6  0x00007fd75069e545 in QWidgetPrivate::adjustedSize() const () from /usr/lib64/libQt5Widgets.so.5
#7  0x00007fd7506ad5aa in QWidget::adjustSize() () from /usr/lib64/libQt5Widgets.so.5
#8  0x00007fd7506b1251 in QWidgetPrivate::setVisible(bool) () from /usr/lib64/libQt5Widgets.so.5
#9  0x00007fd75087a4e4 in QDialog::setVisible(bool) () from /usr/lib64/libQt5Widgets.so.5
#10 0x0000558d6b1e76e2 in KSMessageBox::error (this=0x558d70b73b90, message=..., title=..., timeout=timeout@entry=0) at /var/tmp/portage/sci-astronomy/kstars-3.5.9/work/kstars-3.5.9/kstars/auxiliary/ksmessagebox.cpp:75
#11 0x0000558d6b1e3d51 in KSNotification::error (message=..., title=..., timeout=timeout@entry=0) at /var/tmp/portage/sci-astronomy/kstars-3.5.9/work/kstars-3.5.9/kstars/auxiliary/ksnotification.cpp:36
#12 0x0000558d6b385df5 in FITSData::checkDebayer (this=0x558d710ed000) at /var/tmp/portage/sci-astronomy/kstars-3.5.9/work/kstars-3.5.9/kstars/fitsviewer/fitsdata.cpp:3316
#13 0x0000558d6b3b0656 in FITSData::loadFITSImage (this=0x558d710ed000, buffer=..., extension=..., silent=<optimized out>) at /var/tmp/portage/sci-astronomy/kstars-3.5.9/work/kstars-3.5.9/kstars/fitsviewer/fitsdata.cpp:426
#14 0x0000558d6b37105e in QtConcurrent::StoredMemberFunctionPointerCall3<bool, FITSData, QByteArray const&, QByteArray, QString const&, QString, bool, bool>::runFunctor (this=0x558d710ed6f0) at /usr/include/qt5/QtConcurrent/qtconcurrentstoredfunctioncall.h:1275
#15 0x0000558d6b1ec62d in QtConcurrent::RunFunctionTask<bool>::run (this=0x558d710ed6f0) at /usr/include/qt5/QtConcurrent/qtconcurrentrunbase.h:108
#16 0x00007fd74fa9ae08 in QThreadPoolThread::run (this=0x558d6dc0f180) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/thread/qthreadpool.cpp:100
#17 0x00007fd74fa97f39 in QThreadPrivate::start (arg=0x558d6dc0f180) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/thread/qthread_unix.cpp:331
#18 0x00007fd74f236b27 in start_thread (arg=<optimized out>) at pthread_create.c:435
#19 0x00007fd74f2b975c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7fd74a2f8640 (LWP 161661) "QDBusConnection"):
#1  0x00007fd74dd4cf9e in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd74dd4d0bf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd74fc93a06 in QEventDispatcherGlib::processEvents (this=0x7fd73c000b60, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fd74fc4222b in QEventLoop::exec (this=this@entry=0x7fd74a2f7ba0, flags=..., flags@entry=...) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/include/QtCore/../../src/corelib/global/qflags.h:69
#5  0x00007fd74fa96dda in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007fd7514814d7 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007fd74fa97f39 in QThreadPrivate::start (arg=0x7fd7514f9d80) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007fd74f236b27 in start_thread (arg=<optimized out>) at pthread_create.c:435
#9  0x00007fd74f2b975c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7fd74b10e640 (LWP 161660) "QXcbEventQueue"):
#1  0x00007fd74da75d12 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fd74da7806a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007fd74b2ea290 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007fd74fa97f39 in QThreadPrivate::start (arg=0x558d6da27dd0) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/thread/qthread_unix.cpp:331
#5  0x00007fd74f236b27 in start_thread (arg=<optimized out>) at pthread_create.c:435
#6  0x00007fd74f2b975c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7fd74b99d940 (LWP 161659) "kstars"):
#1  0x00007fd74da75d12 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fd74da76791 in ?? () from /usr/lib64/libxcb.so.1
#3  0x00007fd74da77e25 in ?? () from /usr/lib64/libxcb.so.1
#4  0x00007fd74da77ea1 in xcb_wait_for_reply () from /usr/lib64/libxcb.so.1
#5  0x00007fd74b2c50da in QXcbConnection::sync() () from /usr/lib64/libQt5XcbQpa.so.5
#6  0x00007fd74b2dee83 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#7  0x00007fd74b2df1d0 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#8  0x00007fd7501c7841 in QBackingStore::beginPaint(QRegion const&) () from /usr/lib64/libQt5Gui.so.5
#9  0x00007fd750680596 in ?? () from /usr/lib64/libQt5Widgets.so.5
#10 0x00007fd7506b1d5d in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#11 0x00007fd75295a7a7 in KXmlGuiWindow::event(QEvent*) () from /usr/lib64/libKF5XmlGui.so.5
#12 0x00007fd75066f6cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#13 0x00007fd74fc43798 in QCoreApplication::notifyInternal2 (receiver=0x558d6db75cf0, event=0x7fd74400b2b0) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/kernel/qcoreapplication.cpp:1064
#14 0x00007fd74fc46c7e in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x558d6d9ace40) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/kernel/qcoreapplication.cpp:1821
#15 0x00007fd74fc93ee3 in postEventSourceDispatch (s=0x558d6dae52a0) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#16 0x00007fd74dd4cd5b in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#17 0x00007fd74dd4d008 in ?? () from /usr/lib64/libglib-2.0.so.0
#18 0x00007fd74dd4d0bf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#19 0x00007fd74fc93994 in QEventDispatcherGlib::processEvents (this=0x558d6daf4350, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#20 0x00007fd74fc4222b in QEventLoop::exec (this=this@entry=0x7ffc6ba043c0, flags=..., flags@entry=...) at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/include/QtCore/../../src/corelib/global/qflags.h:69
#21 0x00007fd74fc4a560 in QCoreApplication::exec () at /var/tmp/portage/dev-qt/qtcore-5.15.3/work/qtbase-everywhere-src-5.15.3/include/QtCore/../../src/corelib/global/qflags.h:121
#22 0x0000558d6b18fe1d in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/sci-astronomy/kstars-3.5.9/work/kstars-3.5.9/kstars/main.cpp:382
[Inferior 1 (process 161659) detached]

Possible duplicates by query: bug 417010.

Reported using DrKonqi
Comment 1 Jasem Mutlaq 2022-06-26 10:40:48 UTC
Link to this FITS file so we can try to reproduce?
Comment 2 Alexander Puchmayr 2022-06-26 10:44:33 UTC
Software dependencies:
qt-version 5.15.3 
sci-libs/cfitsio-4.0.0
xorg-x11 7.4
Comment 3 Alexander Puchmayr 2022-06-26 10:45:38 UTC
The fits file in question is ~100MB large.
Comment 4 Jasem Mutlaq 2022-06-26 10:48:09 UTC
That's why I said: Link to file. If you can upload to Dropbox or similar.
Comment 5 Alexander Puchmayr 2022-06-26 11:13:03 UTC
xz-compressed and put to dropbox:
https://www.dropbox.com/s/p3dcc5h0itfi21c/test1_stacked.fit.xz?dl=0
Comment 6 Jasem Mutlaq 2022-06-27 06:24:58 UTC
Git commit 00dfafd73131e9f755e78cf9614caabb1f6c04a4 by Jasem Mutlaq.
Committed on 27/06/2022 at 06:24.
Pushed by mutlaqja into branch 'master'.

Remove all GUI notifications from FITSXXX classes and let the calling class deal with how to handle errors.
FIXED-IN:3.6.0

M  +1    -1    kstars/ekos/align/align.cpp
M  +55   -87   kstars/fitsviewer/fitsdata.cpp
M  +6    -11   kstars/fitsviewer/fitsdata.h
M  +11   -11   kstars/fitsviewer/fitstab.cpp
M  +2    -2    kstars/fitsviewer/fitstab.h
M  +6    -5    kstars/fitsviewer/fitsview.cpp
M  +2    -3    kstars/fitsviewer/fitsview.h
M  +12   -11   kstars/fitsviewer/fitsviewer.cpp
M  +3    -4    kstars/fitsviewer/fitsviewer.h
M  +1    -6    kstars/indi/indiccd.cpp
M  +6    -8    kstars/kstarsactions.cpp

https://invent.kde.org/education/kstars/commit/00dfafd73131e9f755e78cf9614caabb1f6c04a4