SUMMARY Sometimes when clicking on weather applet/widget that is inside a panel, it crashes plasmashell. I can't reproduce this bug easily. BACKTRACE Core was generated by `/home/akseli/Repositories/kde/usr/bin/plasmashell --no-respawn'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; [Current thread is 1 (Thread 0x7f8dd2921400 (LWP 2171))] (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f8dd6cae8a3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007f8dd6c5c8ee in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f8ddb269f44 in KCrash::defaultCrashHandler (sig=6) at /home/akseli/Repositories/kde/src/kcrash/src/kcrash.cpp:586 #4 0x00007f8dd6c5c9a0 in <signal handler called> () at /lib64/libc.so.6 #5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #6 0x00007f8dd6cae8a3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #7 0x00007f8dd6c5c8ee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #8 0x00007f8dd6c448ff in __GI_abort () at abort.c:79 #9 0x00007f8dd72e3563 in qAbort () at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qglobal.cpp:161 #10 0x00007f8dd7328be0 in qt_message_fatal<QString&> (message=..., context=<optimized out>) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qlogging.cpp:2003 #11 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7f8dd7679db8 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7fff0cd639f0) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qlogging.cpp:378 #12 0x00007f8dd72e44f9 in QMessageLogger::fatal (this=this@entry=0x7fff0cd63ad8, msg=msg@entry=0x7f8dd7679db8 "ASSERT: \"%s\" in file %s, line %d") at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qlogging.cpp:901 #13 0x00007f8dd72e34b8 in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qassert.cpp:68 #14 0x00007f8d6beedbf9 in QMap<QString, QVariant>::first (this=0x7fff0cd63c30) at /usr/include/qt6/QtCore/qmap.h:418 --Type <RET> for more, q to quit, c to continue without paging--c #15 0x00007f8d6bee4a64 in DWDIon::parseForecastData (this=0x69069d0, source=..., doc=...) at /home/akseli/Repositories/kde/src/plasma-workspace/dataengines/weather/ions/dwd/ion_dwd.cpp:425 #16 0x00007f8d6bee3d78 in DWDIon::forecast_slotJobFinished (this=0x69069d0, job=0x5dfc7d0) at /home/akseli/Repositories/kde/src/plasma-workspace/dataengines/weather/ions/dwd/ion_dwd.cpp:326 #17 0x00007f8d6bf01e38 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KJob*>, void, void (DWDIon::*)(KJob*)>::call (f=(void (DWDIon::*)(class DWDIon * const, class KJob *)) 0x7f8d6bee3c1c <DWDIon::forecast_slotJobFinished(KJob*)>, o=0x69069d0, arg=0x7fff0cd64570) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:145 #18 0x00007f8d6befd94c in QtPrivate::FunctionPointer<void (DWDIon::*)(KJob*)>::call<QtPrivate::List<KJob*>, void> (f=(void (DWDIon::*)(class DWDIon * const, class KJob *)) 0x7f8d6bee3c1c <DWDIon::forecast_slotJobFinished(KJob*)>, o=0x69069d0, arg=0x7fff0cd64570) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182 #19 0x00007f8d6bef8c15 in QtPrivate::QCallableObject<void (DWDIon::*)(KJob*), QtPrivate::List<KJob*>, void>::impl (which=1, this_=0x34cf400, r=0x69069d0, a=0x7fff0cd64570, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520 #20 0x00007f8dd7402011 in QtPrivate::QSlotObjectBase::call (a=0x7fff0cd64570, r=0x69069d0, this=0x34cf400) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobjectdefs_impl.h:433 #21 doActivate<false> (sender=0x5dfc7d0, signal_index=6, argv=0x7fff0cd64570) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobject.cpp:4021 #22 0x00007f8dd8823ecc in KJob::result (this=0x5dfc7d0, _t1=0x5dfc7d0, _t2=...) at /home/akseli/Repositories/kde/build/kcoreaddons/src/lib/KF6CoreAddons_autogen/include/moc_kjob.cpp:793 #23 0x00007f8dd88218e1 in KJob::finishJob (this=0x5dfc7d0, emitResult=true) at /home/akseli/Repositories/kde/src/kcoreaddons/src/lib/jobs/kjob.cpp:98 #24 0x00007f8dd88224ed in KJob::emitResult (this=0x5dfc7d0) at /home/akseli/Repositories/kde/src/kcoreaddons/src/lib/jobs/kjob.cpp:329 #25 0x00007f8ddaf143c9 in KIO::SimpleJob::slotFinished (this=0x5dfc7d0) at /home/akseli/Repositories/kde/src/kio/src/core/simplejob.cpp:229 #26 0x00007f8ddaf21c61 in KIO::TransferJob::slotFinished (this=0x5dfc7d0) at /home/akseli/Repositories/kde/src/kio/src/core/transferjob.cpp:157 #27 0x00007f8ddaf17b35 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::SimpleJob::*)()>::call(void (KIO::SimpleJob::*)(), KIO::SimpleJob*, void**) (f=&virtual KIO::SimpleJob::slotFinished(), o=0x5dfc7d0, arg=0x7fff0cd64b88) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:145 #28 0x00007f8ddaf178aa in QtPrivate::FunctionPointer<void (KIO::SimpleJob::*)()>::call<QtPrivate::List<>, void>(void (KIO::SimpleJob::*)(), KIO::SimpleJob*, void**) (f=&virtual KIO::SimpleJob::slotFinished(), o=0x5dfc7d0, arg=0x7fff0cd64b88) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182 #29 0x00007f8ddaf1766b in QtPrivate::QCallableObject<void (KIO::SimpleJob::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x68de020, r=0x5dfc7d0, a=0x7fff0cd64b88, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520 #30 0x00007f8dd7402011 in QtPrivate::QSlotObjectBase::call (a=0x7fff0cd64b88, r=0x5dfc7d0, this=0x68de020) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobjectdefs_impl.h:433 #31 doActivate<false> (sender=0x2bbae40, signal_index=7, argv=0x7fff0cd64b88) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobject.cpp:4021 #32 0x00007f8ddafcf0af in KIO::WorkerInterface::finished (this=0x2bbae40) at /home/akseli/Repositories/kde/build/kio/src/core/KF6KIOCore_autogen/include/moc_workerinterface_p.cpp:639 #33 0x00007f8ddafcc986 in KIO::WorkerInterface::dispatch (this=0x2bbae40, _cmd=104, rawdata=...) at /home/akseli/Repositories/kde/src/kio/src/core/workerinterface.cpp:129 #34 0x00007f8ddafcc61e in KIO::WorkerInterface::dispatch (this=0x2bbae40) at /home/akseli/Repositories/kde/src/kio/src/core/workerinterface.cpp:60 #35 0x00007f8ddafca46f in KIO::Worker::gotInput (this=0x2bbae40) at /home/akseli/Repositories/kde/src/kio/src/core/worker.cpp:263 #36 0x00007f8ddafcc2aa in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::Worker::*)()>::call(void (KIO::Worker::*)(), KIO::Worker*, void**) (f=(void (KIO::Worker::*)(class KIO::Worker * const)) 0x7f8ddafca42c <KIO::Worker::gotInput()>, o=0x2bbae40, arg=0x7fff0cd650b8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:145 #37 0x00007f8ddafcc230 in QtPrivate::FunctionPointer<void (KIO::Worker::*)()>::call<QtPrivate::List<>, void>(void (KIO::Worker::*)(), KIO::Worker*, void**) (f=(void (KIO::Worker::*)(class KIO::Worker * const)) 0x7f8ddafca42c <KIO::Worker::gotInput()>, o=0x2bbae40, arg=0x7fff0cd650b8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182 #38 0x00007f8ddafcc171 in QtPrivate::QCallableObject<void (KIO::Worker::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x6ecb410, r=0x2bbae40, a=0x7fff0cd650b8, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520 #39 0x00007f8dd7402011 in QtPrivate::QSlotObjectBase::call (a=0x7fff0cd650b8, r=0x2bbae40, this=0x6ecb410) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobjectdefs_impl.h:433 #40 doActivate<false> (sender=0x6829790, signal_index=3, argv=0x7fff0cd650b8) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobject.cpp:4021 #41 0x00007f8ddae55b61 in KIO::Connection::readyRead (this=0x6829790) at /home/akseli/Repositories/kde/build/kio/src/core/KF6KIOCore_autogen/include/moc_connection_p.cpp:160 #42 0x00007f8ddae54c99 in KIO::ConnectionPrivate::dequeue (this=0x62f17b0) at /home/akseli/Repositories/kde/src/kio/src/core/connection.cpp:31 #43 0x00007f8ddae54cb9 in operator() (__closure=0x767e010) at /home/akseli/Repositories/kde/src/kio/src/core/connection.cpp:40 #44 0x00007f8ddae56556 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x4bcadd8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:137 #45 0x00007f8ddae56457 in QtPrivate::Functor<KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x4bcadd8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:339 #46 0x00007f8ddae56188 in QtPrivate::QCallableObject<KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x767e000, r=0x6829790, a=0x4bcadd8, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:522 #47 0x00007f8dd73f3617 in QObject::event (this=0x6829790, e=0x4bcad90) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobject.cpp:1437 #48 0x00007f8dd9dc2b38 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x6829790, e=0x4bcad90) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/widgets/kernel/qapplication.cpp:3290 #49 0x00007f8dd73a0ba8 in QCoreApplication::notifyInternal2 (receiver=0x6829790, event=0x4bcad90) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1118 #50 0x00007f8dd73a0dad in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1536 #51 0x00007f8dd73a4aa5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1545570) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1898 #52 0x00007f8dd73a4e1d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1757 #53 0x00007f8dd76410bf in postEventSourceDispatch (s=0x15d8570) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:243 #54 0x00007f8dd6382e5c in g_main_dispatch (context=0x7f8dc0000ef0) at ../glib/gmain.c:3476 #55 g_main_context_dispatch_unlocked (context=0x7f8dc0000ef0) at ../glib/gmain.c:4284 #56 0x00007f8dd63ddf18 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f8dc0000ef0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349 #57 0x00007f8dd6380ad3 in g_main_context_iteration (context=0x7f8dc0000ef0, may_block=1) at ../glib/gmain.c:4414 #58 0x00007f8dd764096f in QEventDispatcherGlib::processEvents (this=0x1573c40, flags=...) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:393 #59 0x00007f8dd73ad9bb in QEventLoop::exec (this=this@entry=0x7fff0cd656b0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qflags.h:34 #60 0x00007f8dd73a97bd in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qflags.h:74 #61 0x00000000004428b0 in main (argc=2, argv=0x7fff0cd66338) at /home/akseli/Repositories/kde/src/plasma-workspace/shell/main.cpp:214 (gdb) Quit SOFTWARE/OS VERSIONS Operating System: Fedora Linux 39 KDE Plasma Version: 6.0.80 KDE Frameworks Version: 6.0.0 Qt Version: 6.6.0 Kernel Version: 6.7.4-200.fc39.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 3600 6-Core Processor Memory: 15.5 GiB of RAM Graphics Processor: AMD Radeon RX 6600
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3954
Git commit 4b1765959111bff449942643abe68ddc3ecba74a by Harald Sitter. Committed on 21/02/2024 at 12:07. Pushed by sitter into branch 'master'. weather/dwd: don't crash on empty json objects before calling .first() we need to make sure the map isn't empty M +5 -1 dataengines/weather/ions/dwd/ion_dwd.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/4b1765959111bff449942643abe68ddc3ecba74a
Git commit 4c7252069ed97418df5f7c1160bce299a53421a5 by Harald Sitter. Committed on 21/02/2024 at 13:10. Pushed by sitter into branch 'Plasma/6.0'. weather/dwd: don't crash on empty json objects before calling .first() we need to make sure the map isn't empty (cherry picked from commit 4b1765959111bff449942643abe68ddc3ecba74a) M +5 -1 dataengines/weather/ions/dwd/ion_dwd.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/4c7252069ed97418df5f7c1160bce299a53421a5
*** Bug 485217 has been marked as a duplicate of this bug. ***
Git commit ce1ed1ce55470a68935b192d10ead9f3fd37c360 by Nicolas Fella, on behalf of Harald Sitter. Committed on 08/04/2024 at 10:44. Pushed by nicolasfella into branch 'Plasma/5.27'. weather/dwd: don't crash on empty json objects before calling .first() we need to make sure the map isn't empty (cherry picked from commit 4b1765959111bff449942643abe68ddc3ecba74a) M +5 -1 dataengines/weather/ions/dwd/ion_dwd.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/ce1ed1ce55470a68935b192d10ead9f3fd37c360