Bug 477174

Summary: Dismissing a notification at startup caused Plasmashell to crash
Product: [Plasma] plasmashell Reporter: Mark <mark>
Component: NotificationsAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, nate, nicolas.fella
Priority: NOR    
Version: 5.27.9   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: kwin_wayland backtrace

Description Mark 2023-11-18 06:43:23 UTC
Created attachment 163258 [details]
kwin_wayland backtrace

SUMMARY
Unsure if it's because of the specific notification content, or that it was at startup. I have Joplin set to run at startup and when it runs, Plasma notifies me of Joplin running in the background. When I dismiss it, it caused Plasmashell to crash.

Unsure if I can reproduce this issue, but I outlined the steps below. Backtrace is included.

STEPS TO REPRODUCE
1. Login to desktop
2. Dismiss notification
3. Crash?

OBSERVED RESULT
Plasmashell crashed.

EXPECTED RESULT
Dismissed the notification.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20231116
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11
Kernel Version: 6.6.1-1-default (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5800X 8-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 1660 SUPER/PCIe/SSE2
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: B450M DS3H

ADDITIONAL INFORMATION
N/A
Comment 1 Nicolas Fella 2023-11-18 21:59:39 UTC
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {0}}
        ret = <optimized out>
#1  0x00007fa273891e73 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fa27383f0c6 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007fa276466d9a in KCrash::defaultCrashHandler(int) (sig=6) at /usr/src/debug/kcrash-5.111.0/src/kcrash.cpp:631
        crashRecursionCounter = 3
#4  0x00007fa27383f190 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
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {1}}
        ret = <optimized out>
#6  0x00007fa273891e73 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#7  0x00007fa27383f0c6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#8  0x00007fa2738268d7 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {140332930938992, 15481561812480128, 27584985807978545, 18446744073709486136, 17615279012839447552, 140332930938808, 140335709054797, 140331479830848, 12104119786431717, 0, 17615279012839447552, 140332930938664, 140332930938808, 4285632440, 16, 140335707582528}}, sa_flags = -830490560, sa_restorer = 0x8fd07eaa}
#9  0x00007fa2738277a3 in __libc_message (fmt=fmt@entry=0x7fa2739b056b "%s\n") at ../sysdeps/posix/libc_fatal.c:150
        ap = {{gp_offset = 16, fp_offset = 32673, overflow_arg_area = 0x7fa1ce7fb830, reg_save_area = 0x7fa1ce7fb7c0}}
        fd = 2
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
#10 0x00007fa27389c7c7 in malloc_printerr (str=str@entry=0x7fa2739b39d8 "malloc(): unaligned tcache chunk detected") at malloc.c:5765
#11 0x00007fa2738a108c in tcache_get_n (ep=<optimized out>, tc_idx=<optimized out>) at malloc.c:3176
        e = <optimized out>
        ar_ptr = <optimized out>
        victim = <optimized out>
        tbytes = <optimized out>
        __PRETTY_FUNCTION__ = "__libc_malloc"
#12 tcache_get (tc_idx=<optimized out>) at malloc.c:3192
        ar_ptr = <optimized out>
        victim = <optimized out>
        tbytes = <optimized out>
        __PRETTY_FUNCTION__ = "__libc_malloc"
#13 __GI___libc_malloc (bytes=64) at malloc.c:3313
        ar_ptr = <optimized out>
        victim = <optimized out>
        tbytes = <optimized out>
        __PRETTY_FUNCTION__ = "__libc_malloc"
#14 0x00007fa274140cb0 in QListData::detach_grow(int*, int) (this=this@entry=0x7fa1780190a8, idx=idx@entry=0x7fa1ce7fb8d4, num=num@entry=1) at tools/qlist.cpp:96
        x = 0x7fa17801ac30
        l = 1
        nl = 2
        t = <optimized out>
        bg = <optimized out>
#15 0x00007fa275529375 in QList<QVariant>::detach_helper_grow(int, int) (i=<optimized out>, c=1, this=0x7fa1780190a8) at /usr/include/qt5/QtCore/qlist.h:803
        n = 0x7fa17801ac40
        x = <optimized out>
        n = <optimized out>
#16 QList<QVariant>::append(QVariant const&) (this=this@entry=0x7fa1780190a8, t=...) at /usr/include/qt5/QtCore/qlist.h:623
        n = <optimized out>
#17 0x00007fa27552afdf in KLocalizedString::subs(QString const&, int, QChar) const (this=this@entry=0x7fa1ce7fba40, a=..., fieldWidth=fieldWidth@entry=0, fillChar=fillChar@entry=...) at /usr/src/debug/ki18n-5.111.0/src/i18n/klocalizedstring.cpp:1146
        kls = {d = std::unique_ptr<class KLocalizedStringPrivate> = {get() = 0x7fa178019070}}
        baseArg = {d = 0x7fa17801b2a0}
        fmtdArg = {d = 0x7fa178019ba0}
#18 0x00007fa2487cdc7e in i18ndc<QString, QString>(char const*, char const*, char const*, QString const&, QString const&) (domain=0x7fa2487cf15b "akonadi_search", context=0x7fa2487cf172 "Name (email)", text=0x7fa2487cf16a "%1 (%2)", a2=..., a1=...) at /usr/include/KF5/KI18n/klocalizedstring.h:1484
        match = {d = {d = 0x7fa1780029a0}}
        skip = <optimized out>
        name = {d = 0x7fa17801b7b0}
        email = {d = 0x7fa17801b2a0}
        result = @0x7fa178002aa0: {d = 0x7fa178019850}
        __for_range = @0x7fa1ce7fb9f0: {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {d = 0x7fa178002a90}, d = 0x7fa178002a90}}, <No data fields>}
        completer = {m_prefix = {d = 0x55b860b4c830}, m_limit = 10}
        completerResults = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {d = 0x7fa178002a90}, d = 0x7fa178002a90}}, <No data fields>}
        queryString = {d = 0x55b860b4c830}
#19 PIMContactsRunner::queryAutocompleter(Plasma::RunnerContext&, QString const&) (queryString=..., context=..., this=0x55b860b32650) at /usr/src/debug/akonadi-search-23.08.2/runner/pimcontactsrunner.cpp:239
        match = {d = {d = 0x7fa1780029a0}}
        skip = <optimized out>
        name = {d = 0x7fa17801b7b0}
        email = {d = 0x7fa17801b2a0}
        result = @0x7fa178002aa0: {d = 0x7fa178019850}
        __for_range = @0x7fa1ce7fb9f0: {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {d = 0x7fa178002a90}, d = 0x7fa178002a90}}, <No data fields>}
        completer = {m_prefix = {d = 0x55b860b4c830}, m_limit = 10}
        completerResults = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {d = 0x7fa178002a90}, d = 0x7fa178002a90}}, <No data fields>}
        queryString = {d = 0x55b860b4c830}
#20 PIMContactsRunner::match(Plasma::RunnerContext&) (this=0x55b860b32650, context=...) at /usr/src/debug/akonadi-search-23.08.2/runner/pimcontactsrunner.cpp:63
        queryString = {d = 0x55b860b4c830}
#21 0x00007fa24a0b641b in Plasma::FindMatchesJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) (this=0x55b861a22860, self=...) at /usr/src/debug/krunner-5.111.0/src/runnerjobs.cpp:140
#22 0x00007fa24a00244a in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (this=<optimized out>, job=<optimized out>, thread=<optimized out>) at /usr/src/debug/threadweaver-5.111.0/src/executor.cpp:33
#23 0x00007fa24a003221 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (this=<optimized out>, self=..., th=0x7fa22c001420) at /usr/src/debug/threadweaver-5.111.0/src/job.cpp:64
        executor = 0x7fa24a016008 <ThreadWeaver::Private::defaultExecutor>
#24 0x00007fa24a009648 in ThreadWeaver::Thread::run() (this=0x7fa22c001420) at /usr/src/debug/threadweaver-5.111.0/src/thread.cpp:98
        wasBusy = true
#25 0x00007fa27410419d in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
        thr = 0x7fa22c001420
        data = 0x7fa22c0014e0
        __clframe = {__cancel_routine = 0x7fa2741039f0 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fa22c001420, __do_it = 1, __cancel_type = <optimized out>}
#26 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287
        __clframe = {__cancel_routine = 0x7fa2741039f0 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fa22c001420, __do_it = 1, __cancel_type = <optimized out>}
#27 QThreadPrivate::start(void*) (arg=0x7fa22c001420) at thread/qthread_unix.cpp:310
        __clframe = {__cancel_routine = 0x7fa2741039f0 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7fa22c001420, __do_it = 1, __cancel_type = <optimized out>}
#28 0x00007fa27388ff44 in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140335699786878, -4077310490790007395, -248, 0, 140333207562080, 140332922552320, 4047020042854657437, 4048345360286412189}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#29 0x00007fa2739184cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
#0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at pthread_sigmask.c:43
        local_newmask = {__val = {140626991965600, 32, 140725389882634, 140725389882720, 42, 140626947383408, 2, 1, 140725389882720, 140626945736258, 140626947392736, 140626947392736, 140725389882720, 140626991969432, 140725389882976, 140626945736484}}
        result = 0
#1  0x00007fe64323f3ad in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25
        result = <optimized out>
#2  0x00007fe645e6c8db in KCrash::setCrashHandler(void (*)(int)) (handler=handler@entry=0x0) at /usr/src/debug/kcrash-5.112.0/src/kcrash.cpp:419
        mask = {__val = {1256, 0, 0, 7, 8, 140626954874418, 21, 140725389883224, 7, 140626955186880, 140725389883120, 94914272882806, 18446744073709551368, 4, 140725389883296, 140626946036979}}
#3  0x00007fe645e6ed93 in KCrash::defaultCrashHandler(int) (sig=11) at /usr/src/debug/kcrash-5.112.0/src/kcrash.cpp:630
        crashRecursionCounter = 2
#4  0x00007fe64323f190 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007fe6452943ed in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x8) at /usr/include/qt5/QtCore/qscopedpointer.h:118
        ep = <optimized out>
        state = {constructionStates = {d = 0x0}}
        data = 0x5652f84da1b0
#6  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=...) at /usr/include/qt5/QtCore/qglobal.h:1151
        ep = <optimized out>
        state = {constructionStates = {d = 0x0}}
        data = 0x5652f84da1b0
#7  QQmlEngine::d_func() (this=0x0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.11+kde30/src/qml/qml/qqmlengine.h:172
        ep = <optimized out>
        state = {constructionStates = {d = 0x0}}
        data = 0x5652f84da1b0
#8  QQmlEnginePrivate::get(QQmlEngine*) (e=0x0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.11+kde30/src/qml/qml/qqmlengine_p.h:426
        ep = <optimized out>
        state = {constructionStates = {d = 0x0}}
        data = 0x5652f84da1b0
#9  QtQml::qmlExecuteDeferred(QObject*) (object=object@entry=0x5652f84da1a0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.11+kde30/src/qml/qml/qqmlengine.cpp:1592
        ep = <optimized out>
        state = {constructionStates = {d = 0x0}}
        data = 0x5652f84da1b0
#10 0x00007fe645778e99 in QQuickTransition::prepare(QList<QQuickStateAction>&, QList<QQmlProperty>&, QQuickTransitionManager*, QObject*) (this=this@entry=0x5652f84da1a0, actions=..., after=..., manager=manager@entry=0x5652f7adbee0, defaultTarget=defaultTarget@entry=0x5652f84d6010) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.11+kde30/src/quick/util/qquicktransition.cpp:259
        d = 0x5652f84dafe0
        group = <optimized out>
        direction = <optimized out>
        start = <optimized out>
        end = <optimized out>
        anim = <optimized out>
        wrapper = <optimized out>
#11 0x00007fe64576e3a7 in QQuickTransitionManager::transition(QList<QQuickStateAction> const&, QQuickTransition*, QObject*) (this=0x5652f7adbee0, list=<optimized out>, transition=0x5652f84da1a0, defaultTarget=0x5652f84d6010) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.11+kde30/src/quick/util/qquicktransitionmanager.cpp:207
        touched = {<QListSpecialMethods<QQmlProperty>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x5652f3783ec0 <QListData::shared_null>}, d = 0x5652f3783ec0 <QListData::shared_null>}}
        oldInstance = 0x0
        isHandledInTransition = {__this = 0x0, __touched = {<QListSpecialMethods<QQmlProperty>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x0}, d = 0x0}}}
        newEnd = {i = <optimized out>}
        applyList = {<QListSpecialMethods<QQuickStateAction>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x5652f3783ec0 <QListData::shared_null>}, d = 0x5652f3783ec0 <QListData::shared_null>}}
#12 0x00007fe643d18e5b in QObject::event(QEvent*) (this=0x5652f84d6010, e=0x7ffd2ee00c00) at kernel/qobject.cpp:1369
#13 0x00007fe6449a519e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5652f84d6010, e=0x7ffd2ee00c00) at kernel/qapplication.cpp:3640
        consumed = false
        filtered = false
#14 0x00007fe643ced198 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5652f84d6010, event=0x7ffd2ee00c00) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x5652f84d6010, 0x7ffd2ee00c00, 0x7ffd2ee00b9f}
        d = <optimized out>
        threadData = 0x5652f3826030
        scopeLevelCounter = {threadData = 0x5652f3826030}
#15 0x00007fe643ced35e in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#16 0x00007fe643d454c9 in QTimerInfoList::activateTimers() (this=0x5652f389c760) at kernel/qtimerinfo_unix.cpp:643
        e = {<QEvent> = {_vptr.QEvent = 0x7fe643fc81f0 <vtable for QTimerEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fe643eb84a0 <qt_meta_stringdata_QEvent>, data = 0x7fe643eb7ee0 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 1, posted = 0, spont = 0, m_accept = 1, reserved = 0}, id = 18}
        currentTimerInfo = 0x0
        n_act = 4
        maxCount = 2
        currentTime = {tv_sec = 304, tv_nsec = 694285224}
#17 0x00007fe643d45d74 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
        timerSource = <optimized out>
#18 0x00007fe64276cf30 in g_main_dispatch (context=0x7fe638000ec0) at ../glib/gmain.c:3476
        dispatch = 0x7fe643d45d50 <timerSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x5652f389c700
        current = 0x5652f3e28680
        i = 1
        __func__ = "g_main_dispatch"
#19 g_main_context_dispatch_unlocked (context=context@entry=0x7fe638000ec0) at ../glib/gmain.c:4284
#20 0x00007fe64276eb58 in g_main_context_iterate_unlocked (context=context@entry=0x7fe638000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 17
        fds = 0x5652f6a73900
#21 0x00007fe64276f20c in g_main_context_iteration (context=0x7fe638000ec0, may_block=1) at ../glib/gmain.c:4414
        retval = <optimized out>
#22 0x00007fe643d460d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5652f389c900, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x5652f389d0f0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#23 0x00007fe643cebc2b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd2ee00e40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x5652f3e96fd0
        threadData = <optimized out>
        locker = {val = 94914272716504}
        app = <optimized out>
#24 0x00007fe643cf40c0 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
        threadData = 0x5652f3826030
        eventLoop = {<QObject> = {_vptr.QObject = 0x7fe643fc7f88 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fe643ebcb60 <qt_meta_stringdata_QObject>, data = 0x7fe643ebca40 <qt_meta_data_QObject>, static_metacall = 0x7fe643d23480 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5652f3e96fd0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fe643ebfb00 <qt_meta_stringdata_Qt>, data = 0x7fe643ebcc80 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x5652f3783dc0 <QObject::staticMetaObject>}, stringdata = 0x7fe643eb7320 <qt_meta_stringdata_QEventLoop>, data = 0x7fe643eb72c0 <qt_meta_data_QEventLoop>, static_metacall = 0x7fe643ceb960 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#25 0x00005652f370baa1 in  ()
#26 0x00007fe6432281b0 in __libc_start_call_main (main=main@entry=0x5652f3708dc0, argc=argc@entry=2, argv=argv@entry=0x7ffd2ee01198) at ../sysdeps/nptl/libc_start_call_main.h:58
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140725389889944, -4960512564098729696, 0, 140725389889968, 140626996899840, 94914272049560, 4959278868317632800, 4964161270699030816}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffd2ee01198, 0x2}, data = {prev = 0x0, cleanup = 0x0, canceltype = 786436504}}}
        not_first_call = <optimized out>
#27 0x00007fe643228279 in __libc_start_main_impl (main=0x5652f3708dc0, argc=2, argv=0x7ffd2ee01198, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd2ee01188) at ../csu/libc-start.c:360
#28 0x00005652f370be35 in  ()
Comment 2 Nate Graham 2023-11-29 22:06:03 UTC

*** This bug has been marked as a duplicate of bug 468180 ***