Summary: | Plasma crashes after typing in Klipper search area | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | medin <med.medin.2014> |
Component: | Clipboard | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | 7c6s4b+cc6efdty3btf0, akselmo, bharadwaj.raju777, kde, nate, qydwhotmail |
Priority: | NOR | ||
Version: | 5.24.2 | ||
Target Milestone: | 1.0 | ||
Platform: | Manjaro | ||
OS: | Linux | ||
See Also: | https://bugreports.qt.io/browse/QTBUG-76254 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
medin
2022-03-01 05:12:00 UTC
This happens after you directly login, if you click the first time on Klipper and start typing fast then deleting using backspace before results appear then plasmashell crashes. I think Klipper does some kind of indexing or loading saved items the first time it searches for something, because after recovering from crash the bug cannot be reproduced at all. After upgrading to 5.24.3 the problem is not reproducible at all. After restarting it appears again :( #16 0x00007f595e5181a8 in Plasma::SortFilterModel::setFilterRegExp(QString const&) (exp=..., this=0x55ad3887b040) at /usr/src/debug/plasma-framework-5.91.0/src/declarativeimports/core/datamodel.cpp:102 #17 Plasma::SortFilterModel::setFilterRegExp(QString const&) (exp=..., this=0x55ad3887b040) at /usr/src/debug/plasma-framework-5.91.0/src/declarativeimports/core/datamodel.cpp:97 *** Bug 451605 has been marked as a duplicate of this bug. *** Can't reproduce even after I delayed loading of the history model. (In reply to Fushan Wen from comment #6) > Can't reproduce even after I delayed loading of the history model. May be try to use history with big size like over 300. My repro prerequisites are the following: 1. have at least a few really long strings in the clipboard (long urls work for example) 2. moderately big history limit (i have 1500 items, have not tried with bigger/smaller limits) Then, either search for something in the clipboard & delete the search keywords with a keyboard shortcut (backspace and maybe del work), or try editing a clipboard entry. Often after those steps search list becomes both garbled (long entries are mingled with search results) & outputs incorrect search results. The crashes either follow shortly or sometimes it does not crash but clipboard content becomes semi-permanently (sometimes it fixes itself but conditions for that are not clear) garbled/mingled instead. P.S. Since i am not entirely sure whether this bug report applies to Klipper or the new Clipboard widget (my report's on the latter) instead i apologize in advance and can move my findings to the corresponding bug if needed. This can be caused by a potential memory leak which was fixed in 5.25. I will try to backport it to 5.24. Git commit 8716053a3761954cb089bec1c1b9fa0756656801 by Nate Graham, on behalf of Fushan Wen. Committed on 29/03/2022 at 20:32. Pushed by ngraham into branch 'master'. applets/clipboard: Don't forward input to filter if it's disabled When the filter is disabled, don't forward any input to the filter because it will return nothing. M +1 -1 applets/clipboard/contents/ui/ClipboardPage.qml https://invent.kde.org/plasma/plasma-workspace/commit/8716053a3761954cb089bec1c1b9fa0756656801 Git commit 109687ecc49460eec082d619cf947cfe60cd1e8f by Nate Graham, on behalf of Fushan Wen. Committed on 29/03/2022 at 21:00. Pushed by ngraham into branch 'Plasma/5.24'. applets/clipboard: Don't forward input to filter if it's disabled When the filter is disabled, don't forward any input to the filter because it will return nothing. (cherry picked from commit 8716053a3761954cb089bec1c1b9fa0756656801) M +1 -1 applets/clipboard/contents/ui/ClipboardPage.qml https://invent.kde.org/plasma/plasma-workspace/commit/109687ecc49460eec082d619cf947cfe60cd1e8f Now that those changes have been merged, medin, can you check again with Plasma 5.25 or else current git master? Thanks! Git commit f043a4b6c76869e896ac730b9aa861f836a6d2a8 by Fushan Wen. Committed on 30/03/2022 at 23:40. Pushed by fusionfuture into branch 'master'. klipper: Don't use `beginInsertRows` every time adding a new item when loading history Currently, every time adding a new item, `beginInsertRows` and `endInsertRows` are called, which is not efficient. Use `beginResetModel` and `endResetModel` before and after loading history items to avoid frequently emitting inserted signals. M +2 -5 klipper/history.cpp M +4 -4 klipper/history.h M +28 -0 klipper/historymodel.cpp M +1 -0 klipper/historymodel.h M +3 -11 klipper/klipper.cpp https://invent.kde.org/plasma/plasma-workspace/commit/f043a4b6c76869e896ac730b9aa861f836a6d2a8 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! (In reply to Nate Graham from comment #13) > Now that those changes have been merged, medin, can you check again with > Plasma 5.25 or else current git master? Thanks! Yesterday I got 5.24.4 upgrade on Manjaro stable and the problem still exist, I tried many scenarios to find the cause of the problem, and what I see is that Plasma crashes often when the backspace key is pressed many times really fast or when it's pressed continuously, it's like a new search is launched before the previous search is finished due to big size of the list (more than 300 items) which causes the crash. What is weird is that the popup Klipper window doesn't cause any crash, only Klipper widget has this problem. The fix is in 5.24.5 not 5.24.4, so you have to wait a little longer. Yeah so please re-test with 5.24.5, or current git master. 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! (In reply to Nate Graham from comment #19) > Yeah so please re-test with 5.24.5, or current git master. It's still repro on : Operating System: Manjaro Linux KDE Plasma Version: 5.24.80 KDE Frameworks Version: 5.94.0 Qt Version: 5.15.3 Kernel Version: 5.17.5-2-MANJARO (64-bit) Graphics Platform: X11 >It's still repro on
same backtrace?
(In reply to David Edmundson from comment #22) > >It's still repro on > > same backtrace? I got different one : [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Core was generated by `/usr/bin/plasmashell --no-respawn'. --Type <RET> for more, q to quit, c to continue without paging-- Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007fe243c1a44d in QObjectPrivate::maybeSignalConnected(unsigned int) const () from /usr/lib/libQt5Core.so.5 [Current thread is 1 (Thread 0x7fe23ec252c0 (LWP 478))] (gdb) (gdb) (gdb) (gdb) bt #0 0x00007fe243c1a44d in QObjectPrivate::maybeSignalConnected(unsigned int) const () at /usr/lib/libQt5Core.so.5 #1 0x00007fe243c28fdf in () at /usr/lib/libQt5Core.so.5 #2 0x00007fe242a40f0f in () at /usr/lib/libQt5QmlModels.so.5 #3 0x00007fe242a3e541 in QQmlDelegateModel::_q_itemsInserted(int, int) () at /usr/lib/libQt5QmlModels.so.5 #4 0x00007fe242a46fd3 in QQmlDelegateModel::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib/libQt5QmlModels.so.5 #5 0x00007fe243c29224 in () at /usr/lib/libQt5Core.so.5 #6 0x00007fe243bb4c83 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () at /usr/lib/libQt5Core.so.5 #7 0x00007fe243bae7be in QAbstractItemModel::endInsertRows() () at /usr/lib/libQt5Core.so.5 #8 0x00007fe243bd4be6 in () at /usr/lib/libQt5Core.so.5 #9 0x00007fe243bd577d in () at /usr/lib/libQt5Core.so.5 #10 0x00007fe243bd5b5d in () at /usr/lib/libQt5Core.so.5 #11 0x00007fe243bd921f in QSortFilterProxyModel::setFilterRegularExpression(QRegularExpression const&) () at /usr/lib/libQt5Core.so.5 #12 0x00007fe2344232e1 in () at /usr/lib/qt/qml/org/kde/plasma/core/libcorebindingsplugin.so #13 0x00007fe24508eb11 in () at /usr/lib/libQt5Qml.so.5 #14 0x00007fe2450e4b65 in () at /usr/lib/libQt5Qml.so.5 #15 0x00007fe2450ed2e6 in () at /usr/lib/libQt5Qml.so.5 #16 0x00007fe2450ee1cc in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () at /usr/lib/libQt5Qml.so.5 #17 0x00007fe2450caaf5 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib/libQt5Qml.so.5 #18 0x00007fe243c28fbe in () at /usr/lib/libQt5Core.so.5 #19 0x00007fe2455b9168 in QQuickTextInputPrivate::finishChange(int, bool, bool) () at /usr/lib/libQt5Quick.so.5 #20 0x00007fe2455bc12b in QQuickTextInputPrivate::processKeyEvent(QKeyEvent*) () at /usr/lib/libQt5Quick.so.5 #21 0x00007fe2455ae46f in QQuickTextInput::keyPressEvent(QKeyEvent*) () at /usr/lib/libQt5Quick.so.5 #22 0x00007fe245569236 in QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) () at /usr/lib/libQt5Quick.so.5 #23 0x00007fe2455772b9 in QQuickItem::event(QEvent*) () at /usr/lib/libQt5Quick.so.5 #24 0x00007fe2448922c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #25 0x00007fe243bf85aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #26 0x00007fe245581a89 in QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) () at /usr/lib/libQt5Quick.so.5 #27 0x00007fe243fdd04d in QWindow::event(QEvent*) () at /usr/lib/libQt5Gui.so.5 #28 0x00007fe2448922c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #29 0x00007fe243bf85aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #30 0x00007fe243fcec34 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib/libQt5Gui.so.5 #31 0x00007fe243fb86f5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5 #32 0x00007fe23e841f60 in () at /usr/lib/libQt5XcbQpa.so.5 #33 0x00007fe241f53163 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #34 0x00007fe241fa99e9 in () at /usr/lib/libglib-2.0.so.0 #35 0x00007fe241f506c5 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #36 0x00007fe243c4457a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #37 0x00007fe243bf088b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #38 0x00007fe243bfbfd7 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5 #39 0x0000557d7d7fc450 in () #40 0x00007fe243569310 in __libc_start_call_main () at /usr/lib/libc.so.6 #41 0x00007fe2435693c1 in __libc_start_main_impl () at /usr/lib/libc.so.6 #42 0x0000557d7d7fc5a5 in () A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1601 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1611 |