Bug 474898

Summary: Plasma crashed at KUriFilterPlugin::~KUriFilterPlugin() when searching in Kickoff
Product: [Frameworks and Libraries] frameworks-kio Reporter: Fushan Wen <qydwhotmail>
Component: generalAssignee: KIO Bugs <kio-bugs-null>
Status: REPORTED ---    
Severity: crash CC: kde, kdelibs-bugs-null, nate
Priority: NOR Keywords: drkonqi
Version First Reported In: 5.110.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Fushan Wen 2023-09-26 12:02:36 UTC
Application: plasmashell (5.27.8)

Qt Version: 5.15.10
Frameworks Version: 5.110.0
Operating System: Linux 6.5.3-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.8 [CoredumpBackend]

-- Information about the crash:
When I tried to search for "Qt creator", plasmashell crashed.

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#6  0x00007f228ab04d3f in QHash<void*, int>::findNode(void* const&, unsigned int) const (h=318317040, akey=<optimized out>, this=0x562cec1ff468) at ../../include/QtCore/../../src/corelib/tools/qhash.h:931
#7  QHash<void*, int>::findNode(void* const&, unsigned int*) const (akey=<synthetic pointer>: <optimized out>, ahp=0x0, this=0x562cec1ff468) at ../../include/QtCore/../../src/corelib/tools/qhash.h:950
#8  QHash<void*, int>::find(void* const&) (akey=<synthetic pointer>: <optimized out>, this=0x562cec1ff468) at ../../include/QtCore/../../src/corelib/tools/qhash.h:914
#9  QReadWriteLockPrivate::recursiveLockForRead(int) (this=0x562cec1ff430, timeout=-1) at thread/qreadwritelock.cpp:545
#10 0x00007f2230407480 in QReadLocker::relock() (this=<synthetic pointer>) at /usr/include/qt5/QtCore/qreadwritelock.h:106


The reporter indicates this bug may be a duplicate of or related to bug 395099.

Reported using DrKonqi
Comment 1 Fushan Wen 2023-09-26 12:02:38 UTC
Created attachment 161886 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nate Graham 2023-09-28 15:51:18 UTC
hread 1 (Thread 0x7f2287a0b180 (LWP 22810)):
[KCrash Handler]
#5  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#6  0x00007f228a291e93 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#7  0x00007f228a23f0e6 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#8  0x00007f228a23f1b0 in <signal handler called> () at /lib64/libc.so.6
#9  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:37
#10 0x00007f228ab05ffb in QtLinuxFutex::_q_futex(int*, int, int, unsigned long long, int*, int) (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>) at thread/qfutex_p.h:114
#11 QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> >(QBasicAtomicInteger<unsigned int>&, QBasicAtomicInteger<unsigned int>::Type) (expectedValue=<optimized out>, futex=<optimized out>) at thread/qfutex_p.h:133
#12 futexSemaphoreTryAcquire_loop<false>(QBasicAtomicInteger<unsigned long long>&, unsigned long long, unsigned long long, int) (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219
#13 futexSemaphoreTryAcquire<false>(QBasicAtomicInteger<unsigned long long>&, int, int) (timeout=-1, n=n@entry=1, u=...) at thread/qsemaphore.cpp:262
#14 QSemaphore::acquire(int) (this=this@entry=0x7ffd9c589480, n=n@entry=1) at thread/qsemaphore.cpp:326
#15 0x00007f228ad25911 in doActivate<false>(QObject*, int, void**) (sender=0x562ce9cd85d0, signal_index=0, argv=0x7ffd9c589500) at kernel/qobject.cpp:3906
#16 0x00007f228ad1e47f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x562ce9cd85d0, m=m@entry=0x7f228afbe840, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd9c589500) at kernel/qobject.cpp:3985
#17 0x00007f228ad1e52f in QObject::destroyed(QObject*) (this=this@entry=0x562ce9cd85d0, _t1=<optimized out>, _t1@entry=0x562ce9cd85d0) at .moc/moc_qobject.cpp:219
#18 0x00007f228ad23428 in QObject::~QObject() (this=this@entry=0x562ce9cd85d0, __in_chrg=<optimized out>) at kernel/qobject.cpp:1010
#19 0x00007f2260289bae in KUriFilterPlugin::~KUriFilterPlugin() (this=0x562ce9cd85d0, this=<optimized out>) at /usr/src/debug/kio-5.110.0/src/widgets/kurifilter.h:631
#20 KShortUriFilter::~KShortUriFilter() (this=0x562ce9cd85d0, this=<optimized out>) at /usr/src/debug/kio-5.110.0/src/urifilters/shorturi/kshorturifilter.h:45
#21 KShortUriFilter::~KShortUriFilter() (this=0x562ce9cd85d0, this=<optimized out>) at /usr/src/debug/kio-5.110.0/src/urifilters/shorturi/kshorturifilter.h:45
#22 0x00007f2289eec06e in qDeleteAll<QTypedArrayData<KUriFilterPlugin*>::const_iterator>(QTypedArrayData<KUriFilterPlugin*>::const_iterator, QTypedArrayData<KUriFilterPlugin*>::const_iterator) (end=..., begin=...) at /usr/include/qt5/QtCore/qalgorithms.h:320
#23 qDeleteAll<QVector<KUriFilterPlugin*> >(QVector<KUriFilterPlugin*> const&) (c=...) at /usr/include/qt5/QtCore/qalgorithms.h:328
#24 KUriFilterPrivate::~KUriFilterPrivate() (this=0x562cebc32790, this=<optimized out>) at /usr/src/debug/kio-5.110.0/src/widgets/kurifilter.cpp:544
#25 std::default_delete<KUriFilterPrivate>::operator()(KUriFilterPrivate*) const (this=<optimized out>, __ptr=0x562cebc32790) at /usr/include/c++/13/bits/unique_ptr.h:99
#26 std::default_delete<KUriFilterPrivate>::operator()(KUriFilterPrivate*) const (__ptr=0x562cebc32790, this=<optimized out>) at /usr/include/c++/13/bits/unique_ptr.h:93
#27 std::unique_ptr<KUriFilterPrivate, std::default_delete<KUriFilterPrivate> >::~unique_ptr() (this=<optimized out>, this=<optimized out>) at /usr/include/c++/13/bits/unique_ptr.h:404
#28 KUriFilter::~KUriFilter() (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kio-5.110.0/src/widgets/kurifilter.cpp:569
#29 0x00007f2289eec179 in (anonymous namespace)::Q_QGS_m_self::innerFunction()::Holder::~Holder() () at /usr/src/debug/kio-5.110.0/src/widgets/kurifilter.cpp:550
#30 0x00007f228a241b26 in __run_exit_handlers (status=1, listp=0x7f228a44b680 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:111
#31 0x00007f228a241c70 in __GI_exit (status=<optimized out>) at exit.c:141
#32 0x00007f22874ebc94 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x562ce22b2720, flags=...) at qxcbconnection.cpp:1047
#33 0x00007f228751b1a3 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:103
#34 0x00007f228976cef0 in g_main_dispatch (context=0x7f2280000ec0) at ../glib/gmain.c:3476
#35 g_main_context_dispatch_unlocked (context=context@entry=0x7f2280000ec0) at ../glib/gmain.c:4284
#36 0x00007f228976eb18 in g_main_context_iterate_unlocked (context=context@entry=0x7f2280000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#37 0x00007f228976f1cc in g_main_context_iteration (context=0x7f2280000ec0, may_block=1) at ../glib/gmain.c:4414
#38 0x00007f228ad464a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x562ce23f7650, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#39 0x00007f228acebffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd9c5898c0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#40 0x00007f228acf4490 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#41 0x00007f228b17055c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#42 0x00007f228b9a5115 in QApplication::exec() () at kernel/qapplication.cpp:2832
#43 0x0000562ce05d6aa1 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.27.8/shell/main.cpp:235