https://bugs.kde.org/show_bug.cgi?id=514896
Bug ID: 514896
Summary: DiscoverNotifier crashes in
RpmOstreeNotifier::checkSystemUpdateClassic due to
null pointer (deleteLater on null object)
Classification: Applications
Product: Discover
Version First 6.5.5
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: rpm-ostree Backend
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected],
[email protected]
Target Milestone: ---
SUMMARY
DiscoverNotifier crashes in RpmOstreeNotifier::checkSystemUpdateClassic because
it tries to call deleteLater on a null pointer.
STEPS TO REPRODUCE
1. Use Fedora (Atomic/Silverblue/Kinoite).
2. Wait till the update notifier checks for updates in the background.
3. It crashes randomly when the background rpm-ostree process finishes.
OBSERVED RESULT
DiscoverNotifier segfaults. DrKonqi couldn't even report it because it kept
hitting an "UnexpectedMappingException" at frame #31, so I had to pull the
backtrace manually with GDB.
EXPECTED RESULT
No crashes.
SOFTWARE/OS VERSIONS
Discover: 6.5.5
Fedora Linux 43.20260117.0 (Kinoite) (Wayland)
KDE Plasma Version: 6.5.5
KDE Frameworks Version: 6.22.0
Qt Version: 6.10.1
Kernel Version: 6.18.5-200.fc43.x86_64 (64-bit)
ADDITIONAL INFORMATION
Backtrace:
#0 __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007fe1bcce5493 in __pthread_kill_internal (threadid=<optimized out>,
signo=11) at pthread_kill.c:89
#2 0x00007fe1bcc8b15e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3 0x00007fe1be6a6041 in KCrash::defaultCrashHandler (sig=11) at
/usr/src/debug/kf6-kcrash-6.22.0-1.fc43.x86_64/src/kcrash.cpp:605
#4 <signal handler called>
#5 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get
(this=0x8)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/tools/qscopedpointer.h:110
#6 qGetPtrHelper<QScopedPointer<QObjectData,
QScopedPointerDeleter<QObjectData> > > (ptr=...)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/global/qtclasshelpermacros.h:137
#7 QObject::d_func (this=0x0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.h:110
#8 QObject::deleteLater (this=0x0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:2462
#9 0x00007fe19ab5ef75 in
RpmOstreeNotifier::checkSystemUpdateClassic()::{lambda(int,
QProcess::ExitStatus)#1}::operator()(int, QProcess::ExitStatus) const
() at
/usr/src/debug/plasma-discover-6.5.5-1.fc43.x86_64/libdiscover/backends/RpmOstreeBackend/RpmOstreeNotifier.cpp:180
#10 0x00007fe1bd24459a in QtPrivate::QSlotObjectBase::call
(this=0x7fe174211510, r=0x7fe17c000f20, a=0x7fff335b67d0)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#11 doActivate<false> (sender=0x7fe17c000f20, signal_index=<optimized out>,
argv=argv@entry=0x7fff335b67d0)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:4257
#12 0x00007fe1bd23ae69 in QMetaObject::activate (sender=<optimized out>,
m=m@entry=0x7fe1bd796fa0, local_signal_index=local_signal_index@entry=1,
argv=argv@entry=0x7fff335b67d0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:4317
--Type <RET> for more, q to quit, c to continue without paging--c
#13 0x00007fe1bd429df4 in QMetaObject::activate<void, int,
QProcess::ExitStatus> (sender=<optimized out>, mo=0x7fe1bd796fa0,
local_signal_index=1, ret=0x0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobjectdefs.h:319
#14 QProcess::finished (this=<optimized out>, _t1=<optimized out>,
_t2=<optimized out>)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qprocess.cpp:266
#15 0x00007fe1bd42c495 in QProcessPrivate::processFinished
(this=this@entry=0x5609adce5660)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/io/qprocess.cpp:1261
#16 0x00007fe1bd438be2 in QProcessPrivate::waitForFinished
(this=this@entry=0x5609adce5660, deadline=...)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/io/qprocess_unix.cpp:1298
#17 0x00007fe1bd42bdea in QProcess::waitForFinished
(this=this@entry=0x7fe17c000f20, msecs=msecs@entry=30000)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/io/qprocess.cpp:2096
#18 0x00007fe1bd1236ac in QProcess::~QProcess (this=0x7fe17c000f20)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/io/qprocess.cpp:1330
#19 0x00007fe1bd42c9d5 in QProcess::~QProcess (this=0x7fe17c000f20)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/io/qprocess.cpp:1333
#20 0x00007fe1bd235ecc in QObject::event (this=<optimized out>, e=<optimized
out>)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:1398
#21 0x00007fe1be76eb9f in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x7fe17c000f20, e=0x5609adce3680)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/widgets/kernel/qapplication.cpp:3305
#22 0x00007fe1bd1d94e8 in QCoreApplication::notifyInternal2
(receiver=0x7fe17c000f20, event=0x5609adce3680)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1109
#23 0x00007fe1bd1d974d in QCoreApplication::sendEvent (receiver=<optimized
out>, event=<optimized out>)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1549
#24 0x00007fe1bd1dcb09 in QCoreApplicationPrivate::sendPostedEvents
(receiver=0x0, event_type=0, data=0x5609ad8d22b0)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1904
#25 0x00007fe1bd4fbfcf in postEventSourceDispatch (s=0x5609ad8d5ce0)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#26 0x00007fe1bbc2b2a3 in g_main_dispatch (context=0x7fe1a4000f60) at
../glib/gmain.c:3565
#27 g_main_context_dispatch_unlocked (context=0x7fe1a4000f60) at
../glib/gmain.c:4425
#28 0x00007fe1bbc341f8 in g_main_context_iterate_unlocked
(context=context@entry=0x7fe1a4000f60, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
#29 0x00007fe1bbc343a3 in g_main_context_iteration (context=0x7fe1a4000f60,
may_block=1) at ../glib/gmain.c:4556
#30 0x00007fe1bd4fb80d in QEventDispatcherGlib::processEvents
(this=0x5609ad8e3800, flags=...)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#31 0x00007fe1bd1e6063 in QEventLoop::exec (this=this@entry=0x7fff335b6e00,
flags=..., flags@entry=...)
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/global/qflags.h:77
#32 0x00007fe1bd1e1819 in QCoreApplication::exec ()
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qcoreapplication.cpp:1452
#33 0x00007fe1bd96919d in QGuiApplication::exec ()
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/gui/kernel/qguiapplication.cpp:1973
#34 0x00007fe1be76eb09 in QApplication::exec ()
at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/widgets/kernel/qapplication.cpp:2575
#35 0x000056099a326ce4 in main (argc=<optimized out>, argv=<optimized out>)
at /usr/src/debug/plasma-discover-6.5.5-1.fc43.x86_64/notifier/main.cpp:93
This report is AI assisted.
--
You are receiving this mail because:
You are watching all bug changes.