Bug 410636 - Crash handler crash on login in QString::size()
Summary: Crash handler crash on login in QString::size()
Status: RESOLVED WORKSFORME
Alias: None
Product: drkonqi
Classification: Applications
Component: general (show other bugs)
Version: 5.16.4
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-06 06:40 UTC by Jaak Ristioja
Modified: 2019-09-18 04:33 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaak Ristioja 2019-08-06 06:40:45 UTC
SUMMARY

Crash handler crashed immediately on login.


STEPS TO REPRODUCE (didn't yet try to reproduce)
1. Enter login password in SDDM
2. Press ENTER
3. Wait a few moments for crash notification box to appear

OBSERVED RESULT

Crash notification box appears. When I click on its button I get the crash handler dialog with the text:

  We are sorry, the KDE Crash Handler closed unexpectedly.

  As the Crash handler itself has failed, the automatic reporting process is disabled to reduce the risks of failing again.

  Please, manually report this error to the KDE bug tracking system. Do not forget to include the backtrace from the Developer Information tab.

  Details:
  Executable: drkonqi PID: 3237 Signal: Segmentation fault (11) Time: 06.08.19 09:24:57

Application: The KDE Crash Handler (drkonqi), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f14d5d0c780 (LWP 3237))]

Thread 3 (Thread 0x7f14d0a44700 (LWP 3241)):
#0  0x00007f14dab5c9f6 in g_source_iter_next (iter=iter@entry=0x7f14d0a43c20, source=source@entry=0x7f14d0a43c18) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:983
#1  0x00007f14dab5f39f in g_main_context_check (context=context@entry=0x7f14c4000bf0, max_priority=2147483647, fds=fds@entry=0x7f14c4004db0, n_fds=n_fds@entry=1) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:944
#2  0x00007f14dab5fa30 in g_main_context_iterate (context=context@entry=0x7f14c4000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3917
#3  0x00007f14dab5fbac in g_main_context_iteration (context=0x7f14c4000bf0, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3981
#4  0x00007f14dd42520b in QEventDispatcherGlib::processEvents (this=0x7f14c4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f14dd3ccc4b in QEventLoop::exec (this=this@entry=0x7f14d0a43df0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f14dd2272d6 in QThread::exec (this=this@entry=0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f14de2a3d05 in QDBusConnectionManager::run (this=0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007f14dd228614 in QThreadPrivate::start (arg=0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#9  0x00007f14dc0c6408 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f14dcc1f73f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f14d2eef700 (LWP 3239)):
#0  0x00007f14dcc13473 in __GI___poll (fds=0x7f14d2eeed18, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f14da6128f7 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f14da614a1a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f14d54c0f68 in QXcbEventQueue::run (this=0x56366d4aabe0) at qxcbeventqueue.cpp:228
#4  0x00007f14dd228614 in QThreadPrivate::start (arg=0x56366d4aabe0) at thread/qthread_unix.cpp:361
#5  0x00007f14dc0c6408 in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f14dcc1f73f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f14d5d0c780 (LWP 3237)):
[KCrash Handler]
#7  0x00007f14dd2ba2fd in QString::size (this=0x7ffdebf4cc20) at ../../include/QtCore/../../src/corelib/tools/qstring.h:239
#8  stringList_contains<QString> (cs=cs@entry=Qt::CaseSensitive, str=..., stringList=...) at tools/qstringlist.cpp:319
#9  QtPrivate::QStringList_contains (that=that@entry=0x7f14c4003f98, str=..., cs=cs@entry=Qt::CaseSensitive) at tools/qstringlist.cpp:343
#10 0x00007f14de2ad67a in QStringList::contains (cs=Qt::CaseSensitive, str=..., this=0x7f14c4003f98) at ../../include/QtCore/../../src/corelib/tools/qstringlist.h:225
#11 QDBusConnectionPrivate::isServiceRegisteredByThread (serviceName=..., this=0x7f14c4003f10) at qdbusintegrator.cpp:2593
#12 QDBusConnectionPrivate::isServiceRegisteredByThread (this=0x7f14c4003f10, serviceName=...) at qdbusintegrator.cpp:2585
#13 0x00007f14de2b6c3c in QDBusConnectionPrivate::sendWithReplyAsync (this=0x7f14c4003f10, message=..., receiver=receiver@entry=0x0, returnMethod=returnMethod@entry=0x0, errorMethod=errorMethod@entry=0x0, timeout=-1) at qdbusintegrator.cpp:2098
#14 0x00007f14de2a49f8 in QDBusConnection::asyncCall (this=this@entry=0x56366d5574b0, message=..., timeout=<optimized out>) at qdbusconnection.cpp:710
#15 0x00007f14de2c23f8 in QDBusAbstractInterface::asyncCallWithArgumentList (this=<optimized out>, method=..., args=...) at qdbusabstractinterface.cpp:527
#16 0x00007f14de5e297f in OrgKdeStatusNotifierWatcherInterface::RegisterStatusNotifierItem (service=..., this=0x56366d58acc0) at src/statusnotifierwatcher_interface.h:62
#17 KStatusNotifierItemPrivate::<lambda()>::operator() (__closure=0x56366d59c970, __closure=0x56366d59c970) at /var/tmp/portage/kde-frameworks/knotifications-5.60.0/work/knotifications-5.60.0/src/kstatusnotifieritem.cpp:864
#18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KStatusNotifierItemPrivate::registerToDaemon()::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#19 QtPrivate::Functor<KStatusNotifierItemPrivate::registerToDaemon()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#20 QtPrivate::QFunctorSlotObject<KStatusNotifierItemPrivate::registerToDaemon()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x56366d59c960, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:439
#21 0x00007f14dd3f970f in QtPrivate::QSlotObjectBase::call (a=0x7ffdebf4ced0, r=0x7f14c4013660, this=0x56366d59c960) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#22 QMetaObject::activate (sender=0x56366d5563f0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3781
#23 0x00007f14de30e92f in QDBusPendingCallWatcher::finished (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:158
#24 0x00007f14de30ea3a in QDBusPendingCallWatcher::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:94
#25 0x00007f14dd3fa2ca in QObject::event (this=0x56366d5563f0, e=<optimized out>) at kernel/qobject.cpp:1260
#26 0x00007f14ddd8c4d1 in QApplicationPrivate::notify_helper (this=this@entry=0x56366d48cf50, receiver=receiver@entry=0x56366d5563f0, e=e@entry=0x56366d5abdb0) at kernel/qapplication.cpp:3737
#27 0x00007f14ddd938d8 in QApplication::notify (this=0x7ffdebf4d650, receiver=0x56366d5563f0, e=0x56366d5abdb0) at kernel/qapplication.cpp:3483
#28 0x00007f14dd3ce2f1 in QCoreApplication::notifyInternal2 (receiver=0x56366d5563f0, event=0x56366d5abdb0) at kernel/qcoreapplication.cpp:1084
#29 0x00007f14dd3d1855 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56366d48d0d0) at kernel/qcoreapplication.cpp:1821
#30 0x00007f14dd4257d3 in postEventSourceDispatch (s=0x56366d502c60) at kernel/qeventdispatcher_glib.cpp:276
#31 0x00007f14dab5f87d in g_main_dispatch (context=0x7f14cc004ff0) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3182
#32 g_main_context_dispatch (context=context@entry=0x7f14cc004ff0) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3847
#33 0x00007f14dab5fb18 in g_main_context_iterate (context=context@entry=0x7f14cc004ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3920
#34 0x00007f14dab5fbac in g_main_context_iteration (context=0x7f14cc004ff0, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3981
#35 0x00007f14dd4251f3 in QEventDispatcherGlib::processEvents (this=0x56366d5037b0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#36 0x00007f14dd3ccc4b in QEventLoop::exec (this=this@entry=0x7ffdebf4d4b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#37 0x00007f14dd3d5542 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#38 0x000056366d276ce7 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-plasma/drkonqi-5.16.4/work/drkonqi-5.16.4/src/main.cpp:196
[Inferior 1 (process 3237) detached]



EXPECTED RESULT

  No crash.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo Linux
(available in About System)
KDE Plasma Version: 5.16.4
KDE Frameworks Version: 5.60.0
Qt Version: 5.12.4
DBUS Version: 1.12.16

ADDITIONAL INFORMATION

(gdb) thread apply all bt full

Thread 3 (Thread 0x7f14d0a44700 (LWP 3241)):
#0  0x00007f14dcc13473 in __GI___poll (fds=0x7f14c4004db0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 1
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f14dab5fa86 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f14c4004db0, timeout=<optimized out>, context=0x7f14c4000bf0) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:4221
        ret = <optimized out>
        errsv = <optimized out>
        poll_func = 0x7f14dab6f200 <g_poll>
        poll_func = <optimized out>
        ret = <optimized out>
        errsv = <optimized out>
#2  g_main_context_iterate (context=context@entry=0x7f14c4000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3915
        max_priority = 2147483647
        timeout = -1
        some_ready = <optimized out>
        nfds = 1
        allocated_nfds = 3
        fds = 0x7f14c4004db0
#3  0x00007f14dab5fbac in g_main_context_iteration (context=0x7f14c4000bf0, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3981
        retval = <optimized out>
#4  0x00007f14dd42520b in QEventDispatcherGlib::processEvents (this=0x7f14c4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
        d = 0x7f14c4000b40
        canWait = true
        savedFlags = {i = 0}
        result = false
#5  0x00007f14dd3ccc4b in QEventLoop::exec (this=this@entry=0x7f14d0a43df0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
        d = 0x7f14c4004770
        locker = {val = 94791762245648}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x7f14c4004770, locker = @0x7f14d0a43d78, exceptionCaught = true}
        app = <optimized out>
#6  0x00007f14dd2272d6 in QThread::exec (this=this@entry=0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
        d = 0x56366d50f7a0
        locker = {val = 94791762245648}
        eventLoop = {<QObject> = {_vptr.QObject = 0x7f14dd699a48 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f14dd57dde0 <qt_meta_stringdata_QObject>, data = 0x7f14dd57dcc0 <qt_meta_data_QObject>, static_metacall = 0x7f14dd400ab0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x7f14c4004770}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f14dd580d00 <qt_meta_stringdata_Qt>, data = 0x7f14dd57df00 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f14dd692000 <QObject::staticMetaObject>, stringdata = 0x7f14dd5763c0 <qt_meta_stringdata_QEventLoop>, data = 0x7f14dd576360 <qt_meta_data_QEventLoop>, static_metacall = 0x7f14dd3cc980 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#7  0x00007f14de2a3d05 in QDBusConnectionManager::run (this=0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
        locker = <optimized out>
#8  0x00007f14dd228614 in QThreadPrivate::start (arg=0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
        thr = 0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>
        data = <optimized out>
        __clframe = {__cancel_routine = 0x7f14dd227bd0 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7f14de334060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>, __do_it = 1, __cancel_type = <optimized out>}
#9  0x00007f14dc0c6408 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139727376500480, -6162380588642061059, 140728562143550, 140728562143551, 8396800, 140728562143760, 6076326531590403325, 6076318630824785149}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#10 0x00007f14dcc1f73f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7f14d2eef700 (LWP 3239)):
#0  0x00007f14dcc13473 in __GI___poll (fds=0x7f14d2eeed18, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f14da6128f7 in ?? () from /usr/lib64/libxcb.so.1
No symbol table info available.
#2  0x00007f14da614a1a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
No symbol table info available.
#3  0x00007f14d54c0f68 in QXcbEventQueue::run (this=0x56366d4aabe0) at qxcbeventqueue.cpp:228
        event = <optimized out>
        connection = 0x56366d49ec40
        tail = 0x7f14d55dbfb0 <QXcbEventQueue::qXcbEventNodeFactory(xcb_generic_event_t*)::qXcbNodePool+144>
        enqueueEvent = {__tail = <synthetic pointer><error reading variable>, __this = 0x56366d4aabe0}
#4  0x00007f14dd228614 in QThreadPrivate::start (arg=0x56366d4aabe0) at thread/qthread_unix.cpp:361
        thr = 0x56366d4aabe0
        data = <optimized out>
        __clframe = {__cancel_routine = 0x7f14dd227bd0 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x56366d4aabe0, __do_it = 1, __cancel_type = <optimized out>}
#5  0x00007f14dc0c6408 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139727414949632, -6162380588642061059, 140728562142830, 140728562142831, 8396800, 140728562143040, 6076330463096091901, 6076318630824785149}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f14dcc1f73f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 1 (Thread 0x7f14d5d0c780 (LWP 3237)):
#0  0x00007f14dcc13473 in __GI___poll (fds=fds@entry=0x7ffdebf4c258, nfds=nfds@entry=1, timeout=timeout@entry=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f14de7ebd84 in poll (__timeout=1000, __nfds=1, __fds=0x7ffdebf4c258) at /usr/include/bits/poll2.h:46
No locals.
#2  pollDrKonqiSocket (pid=3254, sockfd=4) at /var/tmp/portage/kde-frameworks/kcrash-5.60.0/work/kcrash-5.60.0/src/kcrash.cpp:909
        fd = {fd = 4, events = 1, revents = 0}
        r = <optimized out>
        clsockfd = <optimized out>
        msg = <optimized out>
        drkonqi_client = {sun_family = 0, sun_path = '\000' <repeats 107 times>}
        cllength = 110
        ucred = {pid = 0, uid = 0, gid = 0}
        credlen = 12
        msize = <optimized out>
        dpid = <optimized out>
#3  0x00007f14de7ec309 in startProcessInternal (argc=argc@entry=21, argv=argv@entry=0x7ffdebf4c3e0, waitAndExit=waitAndExit@entry=true, directly=directly@entry=false) at /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/atomic_base.h:303
        running = <optimized out>
        socketpath = {d = 0x56366d5ad6b0}
        sockfd = 4
        pid = 3254
#4  0x00007f14de7ecb9e in KCrash::startProcess (argc=argc@entry=21, argv=argv@entry=0x7ffdebf4c3e0, waitAndExit=waitAndExit@entry=true) at /var/tmp/portage/kde-frameworks/kcrash-5.60.0/work/kcrash-5.60.0/src/kcrash.cpp:637
        startDirectly = true
#5  0x00007f14de7ed051 in KCrash::defaultCrashHandler (sig=11) at /var/tmp/portage/kde-frameworks/kcrash-5.60.0/work/kcrash-5.60.0/src/kcrash.cpp:535
        argv = {0x56366d557200 "/usr/lib64/libexec/drkonqi", 0x7f14de7ef0b1 "-platform", 0x56366d5ad498 "xcb", 0x7f14de7ef153 "-display", 0x56366d49d8a0 ":0", 0x7f14de7ef0bb "--appname", 0x56366d4e6180 "drkonqi", 0x7f14de7ef0cf "--apppath", 0x56366d4fbd10 "/usr/lib64/libexec", 0x7f14de7ef0dc "--signal", 0x7ffdebf4c4d6 "11", 0x7f14de7ef0ea "--pid", 0x7ffdebf4c4e0 "3237", 0x7f14de7ef0f0 "--appversion", 0x56366d513018 "5.16.4", 0x7f14de7ef0fd "--programname", 0x56366d510b38 "The KDE Crash Handler", 0x7f14de7ef10b "--bugaddress", 0x56366d490f38 "submit@bugs.kde.org", 0x7f14de7ef118 "--startupid", 0x56366d5ad698 "0", 0x0, 0x7ffdebf4c460 "8\vQm6V", 0x7f14dea9577c <_dl_map_object_deps+1052> "H\203\275x\373\377\377", 0x1 <error: Cannot access memory at address 0x1>, 0x7f14dba63480 "", 0x7ffdebf4c480 "\230\326Zm6V", 0x7f14dea9577c <_dl_map_object_deps+1052> "H\203\275x\373\377\377", 0x1 <error: Cannot access memory at address 0x1>}
        i = 21
        platformName = {d = 0x56366d5ad480}
        about = 0x56366d50cd10
        sigtxt = "11\000W\251\336\024\177\000"
        pidtxt = "3237\000\000\000\000\000\320x\326\024\177\000\000\300\304\364", <incomplete sequence \353>
        startupId = {d = 0x56366d5ad680}
        crashRecursionCounter = 2
#6  <signal handler called>
No locals.
#7  0x00007f14dd2ba2fd in QString::size (this=0x7ffdebf4cc20) at ../../include/QtCore/../../src/corelib/tools/qstring.h:239
No locals.
#8  stringList_contains<QString> (cs=cs@entry=Qt::CaseSensitive, str=..., stringList=...) at tools/qstringlist.cpp:319
        string = <error reading variable>
        __for_range = <error reading variable>
        __for_begin = <optimized out>
        __for_end = <optimized out>
#9  QtPrivate::QStringList_contains (that=that@entry=0x7f14c4003f98, str=..., cs=cs@entry=Qt::CaseSensitive) at tools/qstringlist.cpp:343
No locals.
#10 0x00007f14de2ad67a in QStringList::contains (cs=Qt::CaseSensitive, str=..., this=0x7f14c4003f98) at ../../include/QtCore/../../src/corelib/tools/qstringlist.h:225
No locals.
#11 QDBusConnectionPrivate::isServiceRegisteredByThread (serviceName=..., this=0x7f14c4003f10) at qdbusintegrator.cpp:2593
        locker = {<QDBusLockerBase> = {<No data fields>}, self = 0x7f14c4003f10, action = <optimized out>}
        locker = <optimized out>
#12 QDBusConnectionPrivate::isServiceRegisteredByThread (this=0x7f14c4003f10, serviceName=...) at qdbusintegrator.cpp:2585
        locker = {<QDBusLockerBase> = {<No data fields>}, self = <optimized out>, action = UnregisterServiceAction}
#13 0x00007f14de2b6c3c in QDBusConnectionPrivate::sendWithReplyAsync (this=0x7f14c4003f10, message=..., receiver=receiver@entry=0x0, returnMethod=returnMethod@entry=0x0, errorMethod=errorMethod@entry=0x0, timeout=-1) at qdbusintegrator.cpp:2098
        pcall = 0x56366d5b6210
        isLoopback = <optimized out>
        error = {code = 3958689136, msg = {static null = {<No data fields>}, d = 0x7f14dd3e439e <registerNormalizedType(QByteArray const&, QMetaType::Destructor, QMetaType::Constructor, QMetaType::TypedDestructor, QMetaType::TypedConstructor, int, QMetaType::TypeFlags, QMetaObject const*)+1230>}, nm = {static null = {<No data fields>}, d = 0x0}, unused = 0xff2e010a0a08eb00}
        msg = <optimized out>
        __PRETTY_FUNCTION__ = "QDBusPendingCallPrivate* QDBusConnectionPrivate::sendWithReplyAsync(const QDBusMessage&, QObject*, const char*, const char*, int)"
#14 0x00007f14de2a49f8 in QDBusConnection::asyncCall (this=this@entry=0x56366d5574b0, message=..., timeout=<optimized out>) at qdbusconnection.cpp:710
        priv = <optimized out>
#15 0x00007f14de2c23f8 in QDBusAbstractInterface::asyncCallWithArgumentList (this=<optimized out>, method=..., args=...) at qdbusabstractinterface.cpp:527
        d = 0x56366d557440
        msg = {d_ptr = 0x56366d5b6510}
#16 0x00007f14de5e297f in OrgKdeStatusNotifierWatcherInterface::RegisterStatusNotifierItem (service=..., this=0x56366d58acc0) at src/statusnotifierwatcher_interface.h:62
        argumentList = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x56366d5ad3b0}, d = 0x56366d5ad3b0}}
        argumentList = <optimized out>
#17 KStatusNotifierItemPrivate::<lambda()>::operator() (__closure=0x56366d59c970, __closure=0x56366d59c970) at /var/tmp/portage/kde-frameworks/knotifications-5.60.0/work/knotifications-5.60.0/src/kstatusnotifieritem.cpp:864
        ok = true
        protocolVersion = <optimized out>
        reply = {<QDBusPendingReplyData> = {<QDBusPendingCall> = {d = {d = 0x56366d581220}}, <No data fields>}, <No data fields>}
        watcher = <optimized out>
        this = <optimized out>
        watcher = <optimized out>
        this = <optimized out>
        reply = <optimized out>
        qt_category_enabled = <optimized out>
        ok = <optimized out>
        protocolVersion = <optimized out>
        qt_category_enabled = <optimized out>
#18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KStatusNotifierItemPrivate::registerToDaemon()::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
No locals.
#19 QtPrivate::Functor<KStatusNotifierItemPrivate::registerToDaemon()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
No locals.
#20 QtPrivate::QFunctorSlotObject<KStatusNotifierItemPrivate::registerToDaemon()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x56366d59c960, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:439
No locals.
#21 0x00007f14dd3f970f in QtPrivate::QSlotObjectBase::call (a=0x7ffdebf4ced0, r=0x7f14c4013660, this=0x56366d59c960) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
No locals.
#22 QMetaObject::activate (sender=0x56366d5563f0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3781
        obj = {d = 0x56366d59c960}
        receiver = 0x7f14c4013660
        receiverInSameThread = <optimized out>
        sw = {receiver = 0x7f14c4013660, previousSender = 0x0, currentSender = {sender = 0x56366d5563f0, signal = 3, ref = 1}, switched = true}
        c = 0x56366d556870
        last = 0x56366d556870
        locker = {val = 139727590790240}
        connectionLists = {connectionLists = 0x56366d59eb70}
        list = 0x56366d552ee8
        currentThreadId = 0x7f14d5d0c780
        signal_index = 3
        empty_argv = {0x0}
        __PRETTY_FUNCTION__ = "static void QMetaObject::activate(QObject*, int, int, void**)"
#23 0x00007f14de30e92f in QDBusPendingCallWatcher::finished (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:158
        _a = {0x0, 0x7ffdebf4cec8}
#24 0x00007f14de30ea3a in QDBusPendingCallWatcher::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:94
        _t = <optimized out>
        result = <optimized out>
#25 0x00007f14dd3fa2ca in QObject::event (this=0x56366d5563f0, e=<optimized out>) at kernel/qobject.cpp:1260
        mce = <optimized out>
        sw = {receiver = 0x56366d5563f0, previousSender = 0x0, currentSender = {sender = 0x56366d541810, signal = 3, ref = 1}, switched = true}
#26 0x00007f14ddd8c4d1 in QApplicationPrivate::notify_helper (this=this@entry=0x56366d48cf50, receiver=receiver@entry=0x56366d5563f0, e=e@entry=0x56366d5abdb0) at kernel/qapplication.cpp:3737
        consumed = false
#27 0x00007f14ddd938d8 in QApplication::notify (this=0x7ffdebf4d650, receiver=0x56366d5563f0, e=0x56366d5abdb0) at kernel/qapplication.cpp:3483
        w = <optimized out>
        extra = <optimized out>
        isProxyWidget = <optimized out>
        d = <optimized out>
        res = false
        me = <optimized out>
#28 0x00007f14dd3ce2f1 in QCoreApplication::notifyInternal2 (receiver=0x56366d5563f0, event=0x56366d5abdb0) at kernel/qcoreapplication.cpp:1084
        selfRequired = true
        result = false
        cbdata = {0x56366d5563f0, 0x56366d5abdb0, 0x7ffdebf4d1bf}
        d = <optimized out>
        threadData = 0x56366d48d0d0
        scopeLevelCounter = {threadData = 0x56366d48d0d0}
#29 0x00007f14dd3d1855 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56366d48d0d0) at kernel/qcoreapplication.cpp:1821
        e = 0x56366d5abdb0
        pe = <optimized out>
        r = <optimized out>
        unlocker = {m = <synthetic pointer><error reading variable>}
        event_deleter = {d = 0x56366d5abdb0}
        __PRETTY_FUNCTION__ = "static void QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)"
        locker = {val = 94791761711360}
        startOffset = 0
        i = @0x56366d48d0f4: 8
        cleanup = <optimized out>
#30 0x00007f14dd4257d3 in postEventSourceDispatch (s=0x56366d502c60) at kernel/qeventdispatcher_glib.cpp:276
        source = 0x56366d502c60
#31 0x00007f14dab5f87d in g_main_dispatch (context=0x7f14cc004ff0) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3182
        dispatch = 0x7f14dd4257c0 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = <optimized out>
        cb_data = <optimized out>
        need_destroy = <optimized out>
        source = 0x56366d502c60
        current = 0x56366d506660
        i = 0
        current = <optimized out>
        i = <optimized out>
        __func__ = "g_main_dispatch"
        source = <optimized out>
        _g_boolean_var_ = <optimized out>
        was_in_call = <optimized out>
        user_data = <optimized out>
        callback = <optimized out>
        cb_funcs = <optimized out>
        cb_data = <optimized out>
        need_destroy = <optimized out>
        dispatch = <optimized out>
        prev_source = <optimized out>
        _g_boolean_var_ = <optimized out>
#32 g_main_context_dispatch (context=context@entry=0x7f14cc004ff0) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3847
No locals.
#33 0x00007f14dab5fb18 in g_main_context_iterate (context=context@entry=0x7f14cc004ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3920
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 7
        fds = 0x56366d596ea0
#34 0x00007f14dab5fbac in g_main_context_iteration (context=0x7f14cc004ff0, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.58.3-r1/work/glib-2.58.3/glib/gmain.c:3981
        retval = <optimized out>
#35 0x00007f14dd4251f3 in QEventDispatcherGlib::processEvents (this=0x56366d5037b0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
        d = 0x56366d4e99d0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#36 0x00007f14dd3ccc4b in QEventLoop::exec (this=this@entry=0x7ffdebf4d4b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
        d = 0x56366d553ba0
        locker = {val = 94791761711584}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x56366d553ba0, locker = @0x7ffdebf4d438, exceptionCaught = true}
        app = <optimized out>
#37 0x00007f14dd3d5542 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
        threadData = 0x56366d48d0d0
        __PRETTY_FUNCTION__ = "static int QCoreApplication::exec()"
        eventLoop = {<QObject> = {_vptr.QObject = 0x7f14dd699a48 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f14dd57dde0 <qt_meta_stringdata_QObject>, data = 0x7f14dd57dcc0 <qt_meta_data_QObject>, static_metacall = 0x7f14dd400ab0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x56366d553ba0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f14dd580d00 <qt_meta_stringdata_Qt>, data = 0x7f14dd57df00 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f14dd692000 <QObject::staticMetaObject>, stringdata = 0x7f14dd5763c0 <qt_meta_stringdata_QEventLoop>, data = 0x7f14dd576360 <qt_meta_data_QEventLoop>, static_metacall = 0x7f14dd3cc980 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#38 0x000056366d276ce7 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-plasma/drkonqi-5.16.4/work/drkonqi-5.16.4/src/main.cpp:196
        qa = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7f14de25af98 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f14dd57dde0 <qt_meta_stringdata_QObject>, data = 0x7f14dd57dcc0 <qt_meta_data_QObject>, static_metacall = 0x7f14dd400ab0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x56366d48cf50}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f14dd580d00 <qt_meta_stringdata_Qt>, data = 0x7f14dd57df00 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f14dd692000 <QObject::staticMetaObject>, stringdata = 0x7f14dd5771e0 <qt_meta_stringdata_QCoreApplication>, data = 0x7f14dd5770c0 <qt_meta_data_QCoreApplication>, static_metacall = 0x7f14dd3d00c0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7ffdebf4d650}, static staticMetaObject = {d = {superdata = 0x7f14dd699be0 <QCoreApplication::staticMetaObject>, stringdata = 0x7f14ddb14e40 <qt_meta_stringdata_QGuiApplication>, data = 0x7f14ddb14bc0 <qt_meta_data_QGuiApplication>, static_metacall = 0x7f14dd7c3ab0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f14ddc11de0 <QGuiApplication::staticMetaObject>, stringdata = 0x7f14de102b20 <qt_meta_stringdata_QApplication>, data = 0x7f14de1029a0 <qt_meta_data_QApplication>, static_metacall = 0x7f14ddd91040 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        aboutData = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f14de41d160 <qt_meta_stringdata_KAboutData>, data = 0x7f14de41d060 <qt_meta_data_KAboutData>, static_metacall = 0x7f14de3c1370 <KAboutData::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x56366d514c70}
        parser = {d = 0x56366d544810}
        signalOption = {d = {d = 0x56366d543700}}
        appNameOption = {d = {d = 0x56366d543620}}
        appPathOption = {d = {d = 0x56366d543410}}
        appVersionOption = {d = {d = 0x56366d542e20}}
        bugAddressOption = {d = {d = 0x56366d542d40}}
        programNameOption = {d = {d = 0x56366d542a20}}
        pidOption = {d = {d = 0x56366d53f2b0}}
        startupIdOption = {d = {d = 0x56366d544680}}
        kdeinitOption = {d = {d = 0x56366d54d300}}
        saferOption = {d = {d = 0x56366d544380}}
        restartedOption = {d = {d = 0x56366d54cf30}}
        keepRunningOption = {d = {d = 0x56366d54ce00}}
        threadOption = {d = {d = 0x56366d54cbc0}}
        dialogOption = {d = {d = 0x56366d54cb30}}
        forceDialog = <optimized out>
        openDrKonqiDialog = <optimized out>
        restarted = <optimized out>
        ret = <optimized out>
Comment 1 Harald Sitter 2019-08-14 09:08:36 UTC
I am guessing this isn't reproducible?
Comment 2 Jaak Ristioja 2019-08-15 07:13:34 UTC
(In reply to Harald Sitter from comment #1)
> I am guessing this isn't reproducible?

Why do you think so?

After reporting this, I've seen the crash notification for drkonqi appear after login at least 2-3 times, but I didn't investigate any further as this was not a blocker. Are there any other details you want me to investigate if this happens again?
Comment 3 Harald Sitter 2019-08-15 11:00:43 UTC
It's one of the most illusive crashes I've seen.

It affects fairly unrelated apps, doesn't always have the same call chain, but most of all I don't actually see how the code could crash there. Also, all other reports have zero worthwhile information beyond the backtrace.

So, what I would like you to do is:

- install systemd-coredump
- make sure it is set up correctly (/proc/sys/kernel/core_pattern should be set to invoke it)
- maybe test by using kill -SEGV on a terminal process
- disable kcrash by adding KDE_DEBUG=1 to your /etc/environment
- restart and trigger the bug

coredumpctl will then able to catch a super accurate core and context of the crash. Please post the coredumpctl info  of the crash and check if there might be other crashes that happen around the same time.
Additionally please check your .xession-errors, journald/syslog for relevant information around the time the crash occurs (coredumpctl will be able to give you the accurate time it crashed).

It's a long shot but the crash may be a symptom of something else. The code in question to do with QStringList, while involving pointers, should not really be able to crash, certainly not while the qapplication loop is still running. So, I wouldn't even begin to figure out what is wrong without patching Qt and seeing what happens.
From related bugs I could find it looks like this crash appears seemingly randomly and then disappears again and has no discernible pattern beyond the top most stack frame being the QStringList contains.
Comment 4 Jaak Ristioja 2019-08-18 18:29:08 UTC
(In reply to Harald Sitter from comment #3)
> - install systemd-coredump

I'm not using systemd so I don't think this will be an option. However, I think I could still use the gcore command-line utility to generate a core dump (or attach GDB to the crashed process and use the gcore command).

> - restart and trigger the bug

...if it triggers. Because I haven't seen it lately. I also tried logging in and out again (+ killall -u username -9) multiple times, but I couldn't reproduce it.

> It's a long shot but the crash may be a symptom of something else. The code
> in question to do with QStringList, while involving pointers, should not
> really be able to crash, certainly not while the qapplication loop is still
> running. So, I wouldn't even begin to figure out what is wrong without
> patching Qt and seeing what happens.
> From related bugs I could find it looks like this crash appears seemingly
> randomly and then disappears again and has no discernible pattern beyond the
> top most stack frame being the QStringList contains.

I'll make sure to investigate for any other signs such if it reoccurs.

Do you have any references to similar bug reports? Do you think it is a drkonqi issue or rather a Qt issue (e.g. perhaps something similar to QTBUG-39285)?
Comment 5 Harald Sitter 2019-08-19 01:20:51 UTC
Possibly related: bug #409752 bug #391358 bug #379862 bug #287480 bug #295903
There are maybe 6 bugs entailing qdbus and maybe 4 times that with a slightly different call chain.

Some of the related ones I've looked at go back to ABI problems, which is certainly a possibility here as well. I would rather expect all mainstream distros to have a handle on this though.

QTBUG-39285 did sound related, but was supposedly fixed in 5.3.
If it is still not thread safe we'll see through coredumpctl though. Drkonqi itself wouldn't be able to fetch a reliable backtrace in that scenario because of how SEGV works for posix threads.
Comment 6 Bug Janitor Service 2019-09-03 04:33:10 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Bug Janitor Service 2019-09-18 04:33:10 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!