Application: dolphin (14.11.97) KDE Platform Version: 4.14.4 Qt Version: 4.8.6 Operating System: Linux 3.16.7-7-desktop x86_64 Distribution: "openSUSE 13.2 (Harlequin) (x86_64)" -- Information about the crash: I have several .amr files on my computer that I copied from my Android phone's Sprint voicemail app. When I right-click any of them and click Properties, Dolphin crashes. The Alt+Enter shortcut for Properties also causes a crash. I tried it in a minimally-customized secondary desktop account and it still crashed Dolphin. The crash can be reproduced every time. -- Backtrace: Application: Dolphin (dolphin), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f4c90a0e780 (LWP 4924))] Thread 4 (Thread 0x7f4c72c2a700 (LWP 4925)): #0 0x00007f4c8e0353cd in poll () at /lib64/libc.so.6 #1 0x00007f4c8b147be4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f4c8b147cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f4c8f6960de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #4 0x00007f4c8f667e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #5 0x00007f4c8f668165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #6 0x00007f4c8f5650bf in QThread::exec() () at /usr/lib64/libQtCore.so.4 #7 0x00007f4c8f649783 in () at /usr/lib64/libQtCore.so.4 #8 0x00007f4c8f56779f in () at /usr/lib64/libQtCore.so.4 #9 0x00007f4c8f2d10a4 in start_thread () at /lib64/libpthread.so.0 #10 0x00007f4c8e03d7fd in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7f4c72373700 (LWP 4926)): #0 0x00007f4c8e0353cd in poll () at /lib64/libc.so.6 #1 0x00007f4c8b147be4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f4c8b147cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f4c8f6960de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #4 0x00007f4c8f667e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #5 0x00007f4c8f668165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #6 0x00007f4c8f5650bf in QThread::exec() () at /usr/lib64/libQtCore.so.4 #7 0x00007f4c8f56779f in () at /usr/lib64/libQtCore.so.4 #8 0x00007f4c8f2d10a4 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f4c8e03d7fd in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f4c714a6700 (LWP 4927)): #0 0x00007f4c8e0353cd in poll () at /lib64/libc.so.6 #1 0x00007f4c8b147be4 in () at /usr/lib64/libglib-2.0.so.0 #2 0x00007f4c8b147cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #3 0x00007f4c8f6960de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #4 0x00007f4c8f667e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #5 0x00007f4c8f668165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #6 0x00007f4c8f5650bf in QThread::exec() () at /usr/lib64/libQtCore.so.4 #7 0x00007f4c8f649783 in () at /usr/lib64/libQtCore.so.4 #8 0x00007f4c8f56779f in () at /usr/lib64/libQtCore.so.4 #9 0x00007f4c8f2d10a4 in start_thread () at /lib64/libpthread.so.0 #10 0x00007f4c8e03d7fd in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f4c90a0e780 (LWP 4924)): [KCrash Handler] #5 0x00007f4c8fbc2e71 in KSycocaEntry::name() const () at /usr/lib64/libkdecore.so.5 #6 0x00007f4c866ddb75 in () at /usr/lib64/libkio.so.5 #7 0x00007f4c866e6d2c in KPropertiesDialog::KPropertiesDialogPrivate::insertPages() () at /usr/lib64/libkio.so.5 #8 0x00007f4c866e737d in KPropertiesDialog::KPropertiesDialogPrivate::init() () at /usr/lib64/libkio.so.5 #9 0x00007f4c866e7912 in KPropertiesDialog::KPropertiesDialog(KFileItemList const&, QWidget*) () at /usr/lib64/libkio.so.5 #10 0x00007f4c79896d89 in DolphinViewActionHandler::slotProperties() () at /usr/lib64/libdolphinprivate.so.4 #11 0x00007f4c7983d385 in () at /usr/lib64/libdolphinprivate.so.4 #12 0x00007f4c8f67d1fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4 #13 0x00007f4c8e7df622 in QAction::triggered(bool) () at /usr/lib64/libQtGui.so.4 #14 0x00007f4c8e7e0fd3 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQtGui.so.4 #15 0x00007f4c8ec09b79 in () at /usr/lib64/libQtGui.so.4 #16 0x00007f4c8ec0e0c9 in () at /usr/lib64/libQtGui.so.4 #17 0x00007f4c904c2cb5 in KMenu::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libkdeui.so.5 #18 0x00007f4c8e834c0a in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #19 0x00007f4c8ec11f2b in QMenu::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #20 0x00007f4c8e7e576c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #21 0x00007f4c8e7ebdea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #22 0x00007f4c9040cbaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5 #23 0x00007f4c8f6692ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #24 0x00007f4c8e7eb5e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4 #25 0x00007f4c8e85cfcc in () at /usr/lib64/libQtGui.so.4 #26 0x00007f4c8e85b70c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4 #27 0x00007f4c8e8825c2 in () at /usr/lib64/libQtGui.so.4 #28 0x00007f4c8b147a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #29 0x00007f4c8b147c48 in () at /usr/lib64/libglib-2.0.so.0 #30 0x00007f4c8b147cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #31 0x00007f4c8f6960de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #32 0x00007f4c8e882676 in () at /usr/lib64/libQtGui.so.4 #33 0x00007f4c8f667e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #34 0x00007f4c8f668165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #35 0x00007f4c8ec10c97 in QMenu::exec(QPoint const&, QAction*) () at /usr/lib64/libQtGui.so.4 #36 0x00007f4c7a00a08a in () at /usr/lib64/libkdeinit4_dolphin.so #37 0x00007f4c7a00ae0d in () at /usr/lib64/libkdeinit4_dolphin.so #38 0x00007f4c7a002ab6 in () at /usr/lib64/libkdeinit4_dolphin.so #39 0x00007f4c7a004db8 in () at /usr/lib64/libkdeinit4_dolphin.so #40 0x00007f4c8f67d1fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4 #41 0x00007f4c7988f2d4 in DolphinView::requestContextMenu(QPoint const&, KFileItem const&, KUrl const&, QList<QAction*> const&) () at /usr/lib64/libdolphinprivate.so.4 #42 0x00007f4c79890395 in DolphinView::slotItemContextMenuRequested(int, QPointF const&) () at /usr/lib64/libdolphinprivate.so.4 #43 0x00007f4c7989565f in () at /usr/lib64/libdolphinprivate.so.4 #44 0x00007f4c8f67d1fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4 #45 0x00007f4c7985b8c6 in KItemListController::itemContextMenuRequested(int, QPointF const&) () at /usr/lib64/libdolphinprivate.so.4 #46 0x00007f4c7985c82a in KItemListController::mousePressEvent(QGraphicsSceneMouseEvent*, QTransform const&) () at /usr/lib64/libdolphinprivate.so.4 #47 0x00007f4c7985ae1b in KItemListController::processEvent(QEvent*, QTransform const&) () at /usr/lib64/libdolphinprivate.so.4 #48 0x00007f4c7986ba32 in KItemListView::event(QEvent*) () at /usr/lib64/libdolphinprivate.so.4 #49 0x00007f4c8e7e576c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #50 0x00007f4c8e7ebcad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #51 0x00007f4c9040cbaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5 #52 0x00007f4c8f6692ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #53 0x00007f4c8edb06e1 in () at /usr/lib64/libQtGui.so.4 #54 0x00007f4c8edb0b9f in () at /usr/lib64/libQtGui.so.4 #55 0x00007f4c8edbcab6 in () at /usr/lib64/libQtGui.so.4 #56 0x00007f4c8edbcf49 in QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent*) () at /usr/lib64/libQtGui.so.4 #57 0x00007f4c8edc5d90 in QGraphicsScene::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #58 0x00007f4c8e7e576c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #59 0x00007f4c8e7ebcad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #60 0x00007f4c9040cbaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5 #61 0x00007f4c8f6692ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #62 0x00007f4c8eddc6cf in QGraphicsView::mousePressEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4 #63 0x00007f4c8e834a7b in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #64 0x00007f4c8ebd15ee in QFrame::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #65 0x00007f4c8eddd429 in QGraphicsView::viewportEvent(QEvent*) () at /usr/lib64/libQtGui.so.4 #66 0x00007f4c8f669416 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #67 0x00007f4c8e7e574c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #68 0x00007f4c8e7ebdea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #69 0x00007f4c9040cbaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5 #70 0x00007f4c8f6692ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #71 0x00007f4c8e7eb5e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4 #72 0x00007f4c8e85cc9b in () at /usr/lib64/libQtGui.so.4 #73 0x00007f4c8e85b70c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4 #74 0x00007f4c8e8825c2 in () at /usr/lib64/libQtGui.so.4 #75 0x00007f4c8b147a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #76 0x00007f4c8b147c48 in () at /usr/lib64/libglib-2.0.so.0 #77 0x00007f4c8b147cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #78 0x00007f4c8f6960be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #79 0x00007f4c8e882676 in () at /usr/lib64/libQtGui.so.4 #80 0x00007f4c8f667e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #81 0x00007f4c8f668165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #82 0x00007f4c8f66d5b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4 #83 0x00007f4c7a01017e in kdemain () at /usr/lib64/libkdeinit4_dolphin.so #84 0x0000000000408815 in _start () Reported using DrKonqi
Created attachment 90959 [details] example .amr file that crashes Dolphin on right-click -> Properties This is the welcome message made by the Sprint Voicemail Android app when I first ran it. Right-clicking it and selecting Properties causes the crash, so I believe it's a representative test case.
*** This bug has been marked as a duplicate of bug 341826 ***
Created attachment 90971 [details] minimal test case for right-click -> Properties on some files crashing Dolphin I trimmed down the example crashing .amr file to a 6-byte file that causes the same crash. Hopefully the smaller file makes analysis easier for any developer interested in fixing this issue. Opening the file in Okteta, the hex values of the bytes are "23 21 41 4D 52 0A", corresponding to "#!AMR\n" in ASCII and UTF-8 alike. Changing any byte in the file results in Dolphin not crashing (at least if the byte's one more or one less than the original). So I think this may have something to do with Dolphin doing the wrong thing in response to the 6-byte "magic number" headers in AMR files. Because the crash is now narrowed down to something that is in UTF-8, this bug cannot be a duplicate of crashing from opening Properties in a non-UTF-8 file, so I'm reopening it.
Thanks for the test case. I can confirm the crash. In debug mode, it crashes in an assert statement for me: ASSERT: "d" in file /home/kde-devel/kde/src/kde/kdelibs/kdecore/util/ksharedptr.h, line 126 I'll reassign to kdelibs. I've also tried to reproduce the crash in the KF5-based version of Dolphin, but it shows the Properties dialog fine here, so it seems that the bug is only in kdelibs 4.x and has been fixed in KF5. (In reply to Mark Haferkamp from comment #3) > Because the crash is now narrowed down to something that is in UTF-8, this > bug cannot be a duplicate of crashing from opening Properties in a non-UTF-8 > file I'm not sure. It's not uncommon that there are many different ways to reproduce crashes which share the same root cause. Considering that the backtraces are the same, it seems quite likely that this is also the case here, but to be sure, someone would have to investigate this in more detail.
One thing i noticed is that in the frameworks version, the file's mimetype is correctly detected and it gets the 'audio-*' icon whereas in the other one, it doesn't and gets the 'application-octet-stream' icon. > dolphin(10799) KMimeType::findByUrlHelper: Glob file refers to "audio/AMR" but this mimetype does not exist! #0 0x00007ffff365c5f1 in KSycocaEntry::name() const (this=0x0) at /usr/src/debug/kdelibs-4.14.3/kdecore/sycoca/ksycocaentry.cpp:159 #1 0x00007ffff5beef9f in KDEPrivate::KFilePropsPlugin::KFilePropsPlugin(KPropertiesDialog*) (this=this@entry=0x104f370, _props=<optimized out>) at /usr/src/debug/kdelibs-4.14.3/kio/kfile/kpropertiesdialog.cpp:735 #2 0x00007ffff5bf7f1f in KPropertiesDialog::KPropertiesDialogPrivate::insertPages() (this=this@entry=0x10c7240) at /usr/src/debug/kdelibs-4.14.3/kio/kfile/kpropertiesdialog.cpp:491 #3 0x00007ffff5bf855d in KPropertiesDialog::KPropertiesDialogPrivate::init() (this=0x10c7240) at /usr/src/debug/kdelibs-4.14.3/kio/kfile/kpropertiesdialog.cpp:347 #4 0x00007ffff5bf8b67 in KPropertiesDialog::KPropertiesDialog(KFileItemList const&, QWidget*) (this=0xf95cd0, _items=..., parent=<optimized out>) at /usr/src/debug/kdelibs-4.14.3/kio/kfile/kpropertiesdialog.cpp:246 #5 0x00007ffff78a2075 in DolphinViewActionHandler::slotProperties() (this=this@entry=0x7a1830) at /home/arjun/src/kde-baseapps/dolphin/src/views/dolphinviewactionhandler.cpp:591
*** Bug 344362 has been marked as a duplicate of this bug. ***
(In reply to Mark Haferkamp from comment #3) > Created attachment 90971 [details] > minimal test case for right-click -> Properties on some files crashing > Dolphin Strange, it doesn't crash on my machine. dolphin 4:4.14.2-1 kdelibs 4:4.14.2-5 Qt 4.8.6 Operating System: Linux 3.16.0-4-amd64 x86_64 Distribution: Debian Jessie (8.0)
Created attachment 92105 [details] New crash information added by DrKonqi dolphin (14.12.3) on KDE Platform 4.14.6 using Qt 4.8.6 The same behavior whith certificate files (*.cer, e.g. this one https://www.masterkey.ua/ca/certs/masterkey.cmp2.2014.cer) from Dolphin or Krusader, right-click properties or Alt+Enter keystroke anyway. -- Backtrace (Reduced): #7 KSycocaEntry::name (this=0x0) at /usr/src/debug/kdelibs-4.14.6/kdecore/sycoca/ksycocaentry.cpp:159 #8 0x00007f34c727755f in KDEPrivate::KFilePropsPlugin::KFilePropsPlugin (this=this@entry=0x1489720, _props=<optimized out>) at /usr/src/debug/kdelibs-4.14.6/kio/kfile/kpropertiesdialog.cpp:735 #9 0x00007f34c72804df in KPropertiesDialog::KPropertiesDialogPrivate::insertPages (this=this@entry=0x1076220) at /usr/src/debug/kdelibs-4.14.6/kio/kfile/kpropertiesdialog.cpp:491 #10 0x00007f34c7280b1d in KPropertiesDialog::KPropertiesDialogPrivate::init (this=0x1076220) at /usr/src/debug/kdelibs-4.14.6/kio/kfile/kpropertiesdialog.cpp:347 #11 0x00007f34c7281127 in KPropertiesDialog::KPropertiesDialog (this=0x13cbd10, _items=..., parent=<optimized out>) at /usr/src/debug/kdelibs-4.14.6/kio/kfile/kpropertiesdialog.cpp:246
*** Bug 351323 has been marked as a duplicate of this bug. ***
*** Bug 351129 has been marked as a duplicate of this bug. ***
This is affecting me, too, on Kubuntu 15.04 with KDE Plasma 5.3.2 & Dolphin 15.04.0, KDE Development Platform 4.14.8. Running from Konsole gives the following: dolphin(2738) KMimeType::findByUrlHelper: Glob file refers to "audio/AMR" but this mimetype does not exist! dolphin(2738) KMimeType::findByUrlHelper: Glob file refers to "audio/AMR" but this mimetype does not exist! KCrash: Application 'dolphin' crashing... KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit KCrash: Connect sock_file=/home/travlr/.kde/socket-legacy/kdeinit4__0 [1]+ Stopped dolphin QSocketNotifier: Invalid socket 12 and type 'Read', disabling... Unable to start Dr. Konqi Not forwarding the crash to Apport.
Created attachment 94450 [details] New crash information added by DrKonqi dolphin (15.04.0) on KDE Platform 4.14.8 using Qt 4.8.6 Trying to access properties of *.amr file, crashes Dolphin. Crash occurs both by right-click->Properties and alt+return. -- Backtrace (Reduced): #7 KSycocaEntry::name (this=0x0) at ../../kdecore/sycoca/ksycocaentry.cpp:159 #8 0x00007f3b477af8ff in KDEPrivate::KFilePropsPlugin::KFilePropsPlugin (this=0x1711220, _props=0x0) at ../../kio/kfile/kpropertiesdialog.cpp:744 #9 0x00007f3b477b888f in KPropertiesDialog::KPropertiesDialogPrivate::insertPages (this=this@entry=0x1693800) at ../../kio/kfile/kpropertiesdialog.cpp:500 #10 0x00007f3b477b8ecd in KPropertiesDialog::KPropertiesDialogPrivate::init (this=0x1693800) at ../../kio/kfile/kpropertiesdialog.cpp:356 #11 0x00007f3b477b94d7 in KPropertiesDialog::KPropertiesDialog (this=0x16184d0, _items=..., parent=<optimized out>) at ../../kio/kfile/kpropertiesdialog.cpp:255
*** Bug 366215 has been marked as a duplicate of this bug. ***
Thank you for the crash report. As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
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!
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!