Bug 402294

Summary: Deleting empty web shorcut crashes systemsettings/konqueror
Product: [Applications] systemsettings Reporter: avlas <jsardid>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: kde
Priority: NOR Keywords: drkonqi
Version: 5.14.4   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description avlas 2018-12-18 11:46:11 UTC
Application: systemsettings5 (5.14.4)

Qt Version: 5.11.2
Frameworks Version: 5.53.0
Operating System: Linux 4.18.0-13-generic x86_64
Distribution: KDE neon User Edition 5.14

-- Information about the crash:
There is an empty web shortcut that I have no idea where it comes from. I tried deleting it and when I try to apply the changes the application crashes as well as its parent, which can be systemsettings or konqueror.

The crash can be reproduced every time.

-- Backtrace:
Application: Arranjament del sistema (systemsettings5), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe6d9abb840 (LWP 31731))]

Thread 4 (Thread 0x7fe6a4eae700 (LWP 31741)):
#0  0x00007ffff0398a40 in clock_gettime ()
#1  0x00007fe6d50e3ea6 in clock_gettime () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fe6d5a01951 in qt_clock_gettime (ts=0x7fe6a4eadab0, clock=<optimized out>) at kernel/qelapsedtimer_unix.cpp:111
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166
#4  qt_gettime () at kernel/qelapsedtimer_unix.cpp:175
#5  0x00007fe6d5a00189 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7fe6a0004cf0) at kernel/qtimerinfo_unix.cpp:91
#6  0x00007fe6d5a00765 in QTimerInfoList::timerWait (this=0x7fe6a0004cf0, tm=...) at kernel/qtimerinfo_unix.cpp:388
#7  0x00007fe6d5a01dae in timerSourcePrepareHelper (timeout=0x7fe6a4eadb74, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:132
#8  timerSourcePrepare (source=<optimized out>, timeout=0x7fe6a4eadb74) at kernel/qeventdispatcher_glib.cpp:165
#9  0x00007fe6ce413a98 in g_main_context_prepare () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fe6ce41446b in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fe6ce41464c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fe6d5a0204b in QEventDispatcherGlib::processEvents (this=0x7fe6a0000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#13 0x00007fe6d59a630a in QEventLoop::exec (this=this@entry=0x7fe6a4eadd40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#14 0x00007fe6d57d1bba in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#15 0x00007fe6d37fb4f5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#16 0x00007fe6d57dcadb in QThreadPrivate::start (arg=0x55fac51d0dc0) at thread/qthread_unix.cpp:367
#17 0x00007fe6d07d26db in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#18 0x00007fe6d50d488f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7fe6ad733700 (LWP 31737)):
#0  0x00007fe6d50c30b4 in read () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fe6ce458cd0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fe6ce414027 in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fe6ce4144e0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fe6ce41464c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fe6d5a0204b in QEventDispatcherGlib::processEvents (this=0x7fe6a8000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007fe6d59a630a in QEventLoop::exec (this=this@entry=0x7fe6ad732d40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#7  0x00007fe6d57d1bba in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#8  0x00007fe6d37fb4f5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fe6d57dcadb in QThreadPrivate::start (arg=0x55fac4bf05e0) at thread/qthread_unix.cpp:367
#10 0x00007fe6d07d26db in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fe6d50d488f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7fe6bdb8d700 (LWP 31734)):
#0  0x00007fe6ce4139e7 in g_main_context_prepare () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fe6ce41446b in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fe6ce41464c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fe6d5a0204b in QEventDispatcherGlib::processEvents (this=0x7fe6b8000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fe6d59a630a in QEventLoop::exec (this=this@entry=0x7fe6bdb8cd30, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#5  0x00007fe6d57d1bba in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007fe6d5e48e45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007fe6d57dcadb in QThreadPrivate::start (arg=0x7fe6d60c0d60) at thread/qthread_unix.cpp:367
#8  0x00007fe6d07d26db in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007fe6d50d488f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7fe6d9abb840 (LWP 31731)):
[KCrash Handler]
#6  0x00007fe69db62ba3 in qDeleteAll<QList<SearchProvider*>::const_iterator> (end=..., begin=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:320
#7  qDeleteAll<QList<SearchProvider*> > (c=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:328
#8  SearchProviderRegistry::~SearchProviderRegistry (this=0x55facb4830c8, __in_chrg=<optimized out>) at ./src/urifilters/ikws/searchproviderregistry.cpp:36
#9  0x00007fe69db697e8 in FilterOptions::~FilterOptions (this=0x55facb483080, __in_chrg=<optimized out>) at ./obj-x86_64-linux-gnu/src/urifilters/ikws/kurisearchfilter_autogen/EWIEGA46WW/../../../../../../src/urifilters/ikws/ikwsopts.h:35
#10 FilterOptions::~FilterOptions (this=0x55facb483080, __in_chrg=<optimized out>) at ./obj-x86_64-linux-gnu/src/urifilters/ikws/kurisearchfilter_autogen/EWIEGA46WW/../../../../../../src/urifilters/ikws/ikwsopts.h:35
#11 0x00007fe69df82d4e in qDeleteAll<QList<KCModule*>::const_iterator> (end=..., begin=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:320
#12 qDeleteAll<QList<KCModule*> > (c=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:328
#13 KURIFilterModule::~KURIFilterModule (this=0x55facb502190, __in_chrg=<optimized out>) at ./src/kcms/webshortcuts/main.cpp:125
#14 0x00007fe69df82d99 in KURIFilterModule::~KURIFilterModule (this=0x55facb502190, __in_chrg=<optimized out>) at ./src/kcms/webshortcuts/main.cpp:126
#15 0x00007fe6d94b0d54 in KCModuleProxy::deleteClient (this=this@entry=0x55facb38c430) at ./src/kcmoduleproxy.cpp:179
#16 0x00007fe6d94b0dff in KCModuleProxy::~KCModuleProxy (this=0x55facb38c430, __in_chrg=<optimized out>) at ./src/kcmoduleproxy.cpp:170
#17 0x00007fe6d94b0fc9 in KCModuleProxy::~KCModuleProxy (this=0x55facb38c430, __in_chrg=<optimized out>) at ./src/kcmoduleproxy.cpp:174
#18 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac4b0bb40) at kernel/qobject.cpp:1997
#19 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac4ace910, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#20 0x00007fe6d69fe629 in QWidget::~QWidget (this=0x55fac4ace910, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1729
#21 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac532ed80) at kernel/qobject.cpp:1997
#22 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac4b8d020, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#23 0x00007fe6d6b4f1f9 in QScrollArea::~QScrollArea (this=0x55fac4b8d020, __in_chrg=<optimized out>) at widgets/qscrollarea.cpp:172
#24 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac4aaf5a0) at kernel/qobject.cpp:1997
#25 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac4abd920, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#26 0x00007fe6d800bbed in KPageStackedWidget::~KPageStackedWidget (this=0x55fac4abd920, __in_chrg=<optimized out>) at ./obj-x86_64-linux-gnu/src/KF5WidgetsAddons_autogen/EWIEGA46WW/../../../../src/kpageview_p.h:37
#27 KPageStackedWidget::~KPageStackedWidget (this=0x55fac4abd920, __in_chrg=<optimized out>) at ./obj-x86_64-linux-gnu/src/KF5WidgetsAddons_autogen/EWIEGA46WW/../../../../src/kpageview_p.h:37
#28 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac4c9c120) at kernel/qobject.cpp:1997
#29 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac4c9c090, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#30 0x00007fe6d7ff4479 in KPageWidget::~KPageWidget (this=0x55fac4c9c090, __in_chrg=<optimized out>) at ./src/kpagewidget.cpp:80
#31 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac4c9be90) at kernel/qobject.cpp:1997
#32 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac4a28c70, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#33 0x00007fe6d96eb6e9 in ModuleView::~ModuleView (this=0x55fac4a28c70, __in_chrg=<optimized out>) at ./core/ModuleView.cpp:118
#34 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac4d63750) at kernel/qobject.cpp:1997
#35 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac4a28bf0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#36 0x00007fe6addd78a1 in FocusHackWidget::~FocusHackWidget (this=0x55fac4a28bf0, __in_chrg=<optimized out>) at ./sidebar/SidebarMode.cpp:69
#37 FocusHackWidget::~FocusHackWidget (this=0x55fac4a28bf0, __in_chrg=<optimized out>) at ./sidebar/SidebarMode.cpp:70
#38 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac47af270) at kernel/qobject.cpp:1997
#39 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac476ced0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#40 0x00007fe6d6b64c49 in QStackedWidget::~QStackedWidget (this=0x55fac476ced0, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:147
#41 0x00007fe6d59d4c4b in QObjectPrivate::deleteChildren (this=this@entry=0x55fac4711610) at kernel/qobject.cpp:1997
#42 0x00007fe6d69fe3dc in QWidget::~QWidget (this=0x55fac47560c0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1705
#43 0x00007fe6d91fc61d in KMainWindow::~KMainWindow (this=0x55fac47560c0, __in_chrg=<optimized out>) at ./src/kmainwindow.cpp:395
#44 0x000055fac2cd1ceb in SettingsBase::~SettingsBase (this=0x55fac47560c0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ./app/SettingsBase.cpp:74
#45 0x000055fac2cd1d49 in SettingsBase::~SettingsBase (this=0x55fac47560c0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ./app/SettingsBase.cpp:77
#46 0x00007fe6d59d7c00 in QObject::event (this=this@entry=0x55fac47560c0, e=e@entry=0x55facb3e4090) at kernel/qobject.cpp:1242
#47 0x00007fe6d6a031ab in QWidget::event (this=this@entry=0x55fac47560c0, event=event@entry=0x55facb3e4090) at kernel/qwidget.cpp:9353
#48 0x00007fe6d6b0a7b0 in QMainWindow::event (this=this@entry=0x55fac47560c0, event=event@entry=0x55facb3e4090) at widgets/qmainwindow.cpp:1348
#49 0x00007fe6d91feb01 in KMainWindow::event (this=this@entry=0x55fac47560c0, ev=ev@entry=0x55facb3e4090) at ./src/kmainwindow.cpp:871
#50 0x00007fe6d9244ea5 in KXmlGuiWindow::event (this=0x55fac47560c0, ev=0x55facb3e4090) at ./src/kxmlguiwindow.cpp:119
#51 0x00007fe6d69c3e1c in QApplicationPrivate::notify_helper (this=this@entry=0x55fac46bcbd0, receiver=receiver@entry=0x55fac47560c0, e=e@entry=0x55facb3e4090) at kernel/qapplication.cpp:3727
#52 0x00007fe6d69cb3ef in QApplication::notify (this=0x7ffff0327a40, receiver=0x55fac47560c0, e=0x55facb3e4090) at kernel/qapplication.cpp:3486
#53 0x00007fe6d59a7fe8 in QCoreApplication::notifyInternal2 (receiver=0x55fac47560c0, event=event@entry=0x55facb3e4090) at kernel/qcoreapplication.cpp:1048
#54 0x00007fe6d59aab2d in QCoreApplication::sendEvent (event=0x55facb3e4090, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#55 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x55fac46b0fc0) at kernel/qcoreapplication.cpp:1745
#56 0x00007fe6d59ab0e8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1599
#57 0x00007fe6d5a029f3 in postEventSourceDispatch (s=0x55fac470d100) at kernel/qeventdispatcher_glib.cpp:276
#58 0x00007fe6ce414387 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007fe6ce4145c0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#60 0x00007fe6ce41464c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007fe6d5a0202f in QEventDispatcherGlib::processEvents (this=0x55fac4710600, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#62 0x00007fe6c8e2a761 in QPAEventDispatcherGlib::processEvents (this=0x55fac4710600, flags=...) at qeventdispatcher_glib.cpp:69
#63 0x00007fe6d59a630a in QEventLoop::exec (this=this@entry=0x7ffff0327960, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#64 0x00007fe6d59af4d0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1336
#65 0x000055fac2ccee69 in main (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:71

Reported using DrKonqi
Comment 1 Kai Uwe Broulik 2020-02-11 09:49:53 UTC

*** This bug has been marked as a duplicate of bug 412774 ***
Comment 2 David Faure 2020-06-12 23:04:44 UTC
Git commit 55b8f1b8b4a9e2d90850744f80d603c87faaccf8 by David Faure, on behalf of Alexander Lohnau.
Committed on 12/06/2020 at 23:04.
Pushed by dfaure into branch 'master'.

Fix crash when deleting entry

The SearchProviderRegistry is a class variable and in its deconstructor
all the providers are deleted.
If you delete a provider in the GUI it is still in the list of
search providers which will be deleted.
Related: bug 412774

M  +0    -1    src/urifilters/ikws/ikwsopts.cpp

https://invent.kde.org/frameworks/kio/commit/55b8f1b8b4a9e2d90850744f80d603c87faaccf8