Bug 497995 - Image Planner crash
Summary: Image Planner crash
Status: RESOLVED FIXED
Alias: None
Product: kstars
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Jasem Mutlaq
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2024-12-28 18:56 UTC by Mark Casazza
Modified: 2025-01-01 19:46 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
attachment-2180463-0.html (1.80 KB, text/html)
2024-12-31 03:07 UTC, Mark Casazza
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Casazza 2024-12-28 18:56:17 UTC
Application: kstars (3.7.4 Stable)

Qt Version: 5.15.13
Frameworks Version: 5.115.0
Operating System: Linux 6.8.0-51-generic x86_64
Windowing System: X11
Distribution: Ubuntu 24.04.1 LTS
DrKonqi: 5.27.11 [KCrashBackend]

-- Information about the crash:
Newly installed KStars & EKOS via apt from mutlaqja on new installation of Kubuntu 24.04.1 LTS. Added some equipment and exploring the application. Loaded Image Planner, maximized window, adjusted some column widths, clicked on M1 a few times trying to see how things work.

The reporter is unsure if this crash is reproducible.

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

[KCrash Handler]
#4  0x00007bc512da9c78 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007bc512daa91d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007bc512daa770 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007bc512daa770 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007bc512da90c3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007bc512daa91d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007bc512daa770 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007bc512da90c3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007bc512daa91d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007bc512da90c3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007bc512d7ddc8 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007bc512d7e5f7 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007bc512dce269 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007bc512d6bd45 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007bc5120d8118 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007bc512546c48 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#20 0x00007bc512517bfc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007bc50c847d06 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#22 0x00007bc5112955b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007bc5112f4717 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007bc511294a53 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007bc512135279 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007bc5120d6a7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007bc5120df3e8 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00005c59138698d8 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/kstars-bleeding-6:3.7.4+202412250430~ubuntu24.04.1/kstars/main.cpp:386
[Inferior 1 (process 8785) detached]

Reported using DrKonqi
Comment 1 Hy 2024-12-31 00:54:20 UTC
Mark, 
Are you able to reproduce this crash, or did it happen once and is now not crashing?
Can you tell if the Imaging Planner was done loading its catalog when it crashed?
Hy
Comment 2 Mark Casazza 2024-12-31 03:07:48 UTC
Created attachment 176984 [details]
attachment-2180463-0.html

It is not repeating. I don't know if the catalogs were loaded, but I was
able to start a catalog search and see results.

Mark Casazza
http://casazza.net
Home of the Clear Sky Alarm Clock and Tonight's Sky


On Mon, Dec 30, 2024 at 7:54 PM Hy <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=497995
>
> Hy <hymur67@gmail.com> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>                  CC|                            |hymur67@gmail.com
>
> --- Comment #1 from Hy <hymur67@gmail.com> ---
> Mark,
> Are you able to reproduce this crash, or did it happen once and is now not
> crashing?
> Can you tell if the Imaging Planner was done loading its catalog when it
> crashed?
> Hy
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 3 Hy 2025-01-01 19:45:50 UTC
Mark,

I was able to occasionally crash the Imaging Planner by (1) removing all the data in the user catalog, (2) restarting KStars and starting the Imaging Planner, and (3) while it was re-loading the catalog and finding various items I'd click randomly on the UI and/or resize the window.  The reason for step 1 is that the tool caches what it finds on its catalog load into the user catalog, and so loading on tool startup is much quicker after the initial load, and so it's hard to crash the system since the load is quick. When the user catalog is cleared the load is "slow" again and it's easier to crash it.

I really don't understand what causes these crashes (e.g. possible that it's an issue inside the Qt libraries, or possibly a flaw in the planner that I can't find) but I made a change that basically disallowed user input while a catalog is loading and now cannot crash the tool using the above technique. (That's ok, as the user should really wait for the load before interacting with the Imaging Planner anyway.) 

This is now submitted into the latest code with this merge request: https://invent.kde.org/education/kstars/-/merge_requests/1397  and should be part of the next release at the end of January 2025.

Thanks for your report,
Hy