Application: kstars (3.5.5 Stable) Qt Version: 5.15.2 Frameworks Version: 5.86.0 Operating System: Linux 5.10.68-1-lts x86_64 Windowing System: X11 Drkonqi Version: 5.22.5 Distribution: EndeavourOS -- Information about the crash: <In detail, tell us what you were doing when the application crashed.> 1. Open KStars 2. Go to Download New Data 3. Boom, crashed The crash can be reproduced every time. -- Backtrace: Application: KStars (kstars), signal: Segmentation fault [KCrash Handler] #4 0x00007f4448ea15d0 in QObject::objectName() const () from /usr/lib/libQt5Core.so.5 #5 0x00007f444bd44fb2 in ?? () from /usr/lib/libKF5NewStuff.so.5 #6 0x00007f444bd424d6 in ?? () from /usr/lib/libKF5NewStuff.so.5 #7 0x00007f444bd435ed in KNS3::DownloadWidget::init(QString const&) () from /usr/lib/libKF5NewStuff.so.5 #8 0x00007f444bd3fe55 in KNS3::DownloadDialog::init(QString const&) () from /usr/lib/libKF5NewStuff.so.5 #9 0x000055d8704c756a in ?? () #10 0x00007f4448eae76b in ?? () from /usr/lib/libQt5Core.so.5 #11 0x00007f4449952203 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5 #12 0x00007f4449954f18 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5 #13 0x00007f4448ea450f in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5 #14 0x00007f4449958d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #15 0x00007f4448e773ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #16 0x00007f4448e7a4b9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5 #17 0x00007f4448ed09b4 in ?? () from /usr/lib/libQt5Core.so.5 #18 0x00007f444798a4dc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #19 0x00007f44479de749 in ?? () from /usr/lib/libglib-2.0.so.0 #20 0x00007f4447987bc1 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #21 0x00007f4448ecffe6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #22 0x00007f4448e75d2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #23 0x00007f4448e7e294 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #24 0x000055d870439819 in ?? () #25 0x00007f444806db25 in __libc_start_main () from /usr/lib/libc.so.6 #26 0x000055d87047fb2e in ?? () [Inferior 1 (process 52081) detached] Report to https://bugs.kde.org/
Same here, on openSUSE Tumbleweed. It started happening with the GLIBC 2.34 update. How to reproduce: - download openSUSE Tumbleweed (snapshot >= 20210921) - install Kstars - go to Download New Data - kstars crashes $ kstars Call to writableLocation without an application-based location. org.kde.kstars: Welcome to KStars 3.5.5 Stable org.kde.kstars: Build: 2021-09-15T00:00:00Z org.kde.kstars: OS: "opensuse-tumbleweed" org.kde.kstars: API: "x86_64-little_endian-lp64" org.kde.kstars: Arch: "x86_64" org.kde.kstars: Kernel Type: "linux" org.kde.kstars: Kernel Version: "5.14.5-1-default" org.kde.kstars: Qt Version: 5.15.2 org.kde.kstars: Processing "unnamedstars.dat" , HTMesh Level 3 org.kde.kstars: Sky Mesh Size: 512 org.kde.kstars: Loaded DSO catalog file: "unnamedstars.dat" org.kde.kstars: "Star HD20,794 not found." org.kde.kstars: "Star HD98,230 not found." org.kde.kstars: Loaded DSO catalogs. File opened: "/home/pstivanin/.local/share/kstars/comets.dat" kf.xmlgui: Shortcut for action "get_data" "Download New Data..." set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. kf.xmlgui: Shortcut for action "timestep_increase_units" "Increase Time Scale" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. kf.xmlgui: Shortcut for action "timestep_decrease_units" "Decrease Time Scale" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead. org.kde.kstars: Current icon theme is "Adwaita" glibc >= 2.1 detected. Using GNU extension sincos() static bool LibSecretKeyring::findPassword(const QString&, const QString&, QKeychain::JobPrivate*) File opened: "/home/pstivanin/.local/share/kstars/comets.dat" org.kde.kstars: Loading asteroids File opened: "/home/pstivanin/.local/share/kstars/asteroids.dat" KCrash: Application 'kstars' crashing... KCrash: Attempting to start /usr/lib64/libexec/drkonqi QSystemTrayIcon::setVisible: No Icon set [1]+ Stopped kstars
From ekosdebugger: [New LWP 28035] [New LWP 28038] [New LWP 28040] [LWP 28040 exited] [New LWP 28041] [New LWP 28042] [LWP 28041 exited] [LWP 28042 exited] [New LWP 28043] [New LWP 28044] [LWP 28043 exited] [LWP 28044 exited] [New LWP 28045] [New LWP 28046] [New LWP 28047] [New LWP 28048] [New LWP 28049] [New LWP 28050] [New LWP 28051] [New LWP 28052] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffee15a640 (LWP 28057)] [New Thread 0x7fffed6ac640 (LWP 28060)] [New Thread 0x7fffdc804640 (LWP 28061)] [New Thread 0x7fffd0a2b640 (LWP 28066)] [New Thread 0x7fffc9ffe640 (LWP 28067)] [New Thread 0x7fffc97fd640 (LWP 28068)] [New Thread 0x7fffc8ffc640 (LWP 28069)] [New Thread 0x7fffc1ffe640 (LWP 28070)] [Thread 0x7fffed6ac640 (LWP 28060) exited] [Thread 0x7fffd0a2b640 (LWP 28066) exited] Thread 1 "kstars" received signal SIGSEGV, Segmentation fault. QObject::objectName (this=this@entry=0x3130322c37313930) at kernel/qobject.cpp:1226 1226 return d->extraData ? d->extraData->objectName : QString();
ekosdebugger part2 (was too fast in typing the previous comment): #0 QObject::objectName() const (this=this@entry=0x3130322c37313930) at kernel/qobject.cpp:1226 #1 0x00007ffff7f7cdf6 in Ui_DownloadWidget::setupUi(QWidget*) (DownloadWidget=0x3130322c37313930, this=0x55555a75c408) at /usr/src/debug/knewstuff-5.86.0-1.2.x86_64/build/src/ui_downloadwidget.h:97 #2 KNS3::DownloadWidgetPrivate::init(QString const&) (this=0x55555a75c3e0, configFile=...) at /usr/src/debug/knewstuff-5.86.0-1.2.x86_64/src/downloadwidget.cpp:226 #3 0x00007ffff7f80eed in KNS3::DownloadWidget::init(QString const&) (this=<optimized out>, configFile=<optimized out>) at /usr/src/debug/knewstuff-5.86.0-1.2.x86_64/src/downloadwidget.cpp:54 #4 0x00007ffff7f81ae8 in KNS3::DownloadDialog::init(QString const&) (this=this@entry=0x555559034150, configFile=...) at /usr/src/debug/knewstuff-5.86.0-1.2.x86_64/src/downloaddialog.cpp:72 #5 0x00007ffff7f81f77 in KNS3::DownloadDialog::DownloadDialog(QString const&, QWidget*) (this=this@entry=0x555559034150, configFile=..., parent=parent@entry=0x5555566ccc00, this=<optimized out>, configFile=<optimized out>, parent=<optimized out>) at /usr/src/debug/knewstuff-5.86.0-1.2.x86_64/src/downloaddialog.cpp:59 #6 0x0000555555788f08 in std::make_unique<KNS3::DownloadDialog, char const (&) [23], KStars*>(char const (&) [23], KStars*&&) () at /usr/include/c++/11/bits/unique_ptr.h:962 #7 KStars::slotDownload() (this=0x5555566ccc00) at /usr/src/debug/kstars-3.5.5-1.2.x86_64/kstars/kstarsactions.cpp:456 #8 0x00007ffff50d9013 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffce10, r=0x5555566ccc00, this=0x555558cecfc0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #9 doActivate<false>(QObject*, int, void**) (sender=0x555558cd2a60, signal_index=4, argv=0x7fffffffce10) at kernel/qobject.cpp:3886 #10 0x00007ffff50d24df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x555558cd2a60, m=m@entry=0x7ffff616c0a0, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffce10) at kernel/qobject.cpp:3946 #11 0x00007ffff5c4d182 in QAction::triggered(bool) (this=this@entry=0x555558cd2a60, _t1=<optimized out>) at .moc/moc_qaction.cpp:376 #12 0x00007ffff5c4fdb4 in QAction::activate(QAction::ActionEvent) (this=0x555558cd2a60, event=<optimized out>) at kernel/qaction.cpp:1161 #13 0x00007ffff5dd54d2 in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (this=this@entry=0x55555918d3a0, causedStack=..., action=action@entry=0x555558cd2a60, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384 #14 0x00007ffff5ddd281 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (this=0x55555918d3a0, action=0x555558cd2a60, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1461 #15 0x00007ffff5c9576e in QWidget::event(QEvent*) (this=0x5555591487e0, event=0x7fffffffd420) at kernel/qwidget.cpp:9020 #16 0x00007ffff5c53a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55555640d2c0, receiver=receiver@entry=0x5555591487e0, e=e@entry=0x7fffffffd420) at kernel/qapplication.cpp:3632 #17 0x00007ffff5c5b584 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd140, receiver=0x5555591487e0, e=0x7fffffffd420) at kernel/qapplication.cpp:3076 #18 0x00007ffff50a29ca in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555591487e0, event=0x7fffffffd420) at kernel/qcoreapplication.cpp:1064 #19 0x00007ffff5c5a093 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=0x5555591487e0, event=event@entry=0x7fffffffd420, alienWidget=0x0, nativeWidget=0x5555591487e0, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614 #20 0x00007ffff5caf343 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x55555a076b20, event=0x7fffffffd6f0) at kernel/qwidgetwindow.cpp:580 #21 0x00007ffff5cb1c55 in QWidgetWindow::event(QEvent *) (this=0x55555a076b20, event=0x7fffffffd6f0) at kernel/qwidgetwindow.cpp:300 #22 0x00007ffff5c53a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55555a076b20, e=0x7fffffffd6f0) at kernel/qapplication.cpp:3632 #23 0x00007ffff50a29ca in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55555a076b20, event=0x7fffffffd6f0) at kernel/qcoreapplication.cpp:1064 #24 0x00007ffff54ff5d7 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x7fffe8011410) at kernel/qguiapplication.cpp:2282 #25 0x00007ffff54d579c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169 #26 0x00007fffefe13d0a in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x5555565e0650) at qxcbeventdispatcher.cpp:105 #27 0x00007ffff3ddf82f in g_main_dispatch (context=0x7fffe8005000) at ../glib/gmain.c:3337 #28 g_main_context_dispatch (context=0x7fffe8005000) at ../glib/gmain.c:4055 #29 0x00007ffff3ddfbb8 in g_main_context_iterate (context=context@entry=0x7fffe8005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131 #30 0x00007ffff3ddfc6f in g_main_context_iteration (context=0x7fffe8005000, may_block=1) at ../glib/gmain.c:4196 #31 0x00007ffff50f9ea4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555565e1a00, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #32 0x00007ffff50a13cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffda20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #33 0x00007ffff50a96b0 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #34 0x00007ffff54f319c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867 #35 0x00007ffff5c539f5 in QApplication::exec() () at kernel/qapplication.cpp:2824 #36 0x000055555570f633 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kstars-3.5.5-1.2.x86_64/kstars/main.cpp:393
Changed platform from Archlinux to unspecified, since it affects multiple distros. I don't think the issue is related to glibc 2.34, because Archlinux is still using 2.33. The issue must be somewhere else then...
I think this has something to do with 'Frameworks Version: 5.86.0'. Back a few days ago, when I was using 5.85.0, all was good. Since the glibc update happened only on openSUSE and not on Arch, but both are now using 5.86.0, it seems very likely that this is the issue.
I can confirm that the bug it's due to knewstuff version 5.86.0. I've just downgraded only this package to version 5.85.0, and Kstars works fine now.
Thanks, ok I will change product to frameworks-knewstuff so they can investigate this issue.
Oh dear, can reproduce on git master too, which means if we don't fix this soon, it'll get into Frameworks 5.87 as well. This is quite bad, as KStars prompts the user to download stuff using the GHNS dialog on first run. Here's a more complete symbolicated backtrace (or at least the relevant parts of it): [KCrash Handler] #5 0x00007fab615d7294 in QObject::objectName() const () at /lib64/libQt5Core.so.5 #6 0x00007fab642bb2c1 in Ui_DownloadWidget::setupUi(QWidget*) (this=0x5637475ab3a8, DownloadWidget=0x18) at /home/nate/kde/build/knewstuff/src/ui_downloadwidget.h:97 #7 0x00007fab642b8b25 in KNS3::DownloadWidgetPrivate::init(QString const&) (this=0x5637475ab380, configFile=...) at /home/nate/kde/src/knewstuff/src/downloadwidget.cpp:226 #8 0x00007fab642b9bad in KNS3::DownloadWidget::init(QString const&) (this=this@entry=0x563747c8fb50, configFile=...) at /home/nate/kde/src/knewstuff/src/downloadwidget.cpp:54 #9 0x00007fab642b9d68 in KNS3::DownloadWidget::DownloadWidget(QString const&, QWidget*) (this=this@entry=0x563747c8fb50, configFile=..., parent=parent@entry=0x563747bf6d10) at /home/nate/kde/src/knewstuff/src/downloadwidget.cpp:49 #10 0x00007fab642b689a in KNS3::DownloadDialog::init(QString const&) (this=this@entry=0x563747bf6d10, configFile=...) at /home/nate/kde/src/knewstuff/src/downloaddialog.cpp:72 #11 0x00007fab642b6dc7 in KNS3::DownloadDialog::DownloadDialog(QString const&, QWidget*) (this=this@entry=0x563747bf6d10, configFile=..., parent=parent@entry=0x563744557440) at /home/nate/kde/src/knewstuff/src/downloaddialog.cpp:59 #12 0x000056374215e396 in std::make_unique<KNS3::DownloadDialog, char const (&) [23], KStars*>(char const (&) [23], KStars*&&) () at /usr/include/c++/11/bits/unique_ptr.h:962 #13 KStars::slotDownload() (this=0x563744557440) at /home/nate/kde/src/kstars/kstars/kstarsactions.cpp:445 #14 0x00007fab615e33a9 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5 #15 0x00007fab6225b916 in QAction::triggered(bool) () at /lib64/libQt5Widgets.so.5 #16 0x00007fab6225e62c in QAction::activate(QAction::ActionEvent) () at /lib64/libQt5Widgets.so.5 Dan, could you take a look?
Fixed by Albert Astals Cid with https://invent.kde.org/frameworks/knewstuff/-/commit/d09ba1917cb7e035a9aac6c27c86fc4df5da3194. Distros are in the process of backporting it. Sorry for the mess.
I can confirm that the issue is now fixed on openSUSE Tumbleweed, where v5.86.0 is being used. I've already submitted a request, so it should be available soon for all users :) Thanks a lot!
Well, heck... Yeah, that's my fault, sorry about that. As i said elsewhere, this is what happens when you write a bit of code, and then go "well, but what if some obscure compiler doesn't know how to scoping good" and then you change a thing in one place and forget it in the other (that is, both the member var and function parameter used to be q, but i then decided that they should be slightly more clear, and then... didn't do all of it). So, yeah, really sorry about that - and no blame on the reviewers of the original patch either, super awkward thing to spot.
*** Bug 443032 has been marked as a duplicate of this bug. ***