Summary: | Plasma crashes when dragging files on the desktop | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Vlad Zahorodnii <vlad.zahorodnii> |
Component: | Folder | Assignee: | Eike Hein <hein> |
Status: | CONFIRMED --- | ||
Severity: | crash | CC: | 7etetic, kde, maggu2810, nate, plasma-bugs |
Priority: | NOR | ||
Version: | master | ||
Target Milestone: | 1.0 | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
the backtrace of the crash
icon layout on my desktop |
Created attachment 132728 [details]
icon layout on my desktop
I can easily reproduce this crash by dragging the trash icon somewhere left, and then dragging it back to the original position.
Currently, I work around this crash by commenting out `Q_ASSERT(last < rowCount(parent));` in QAbstractItemModel::beginRemoveRows(). Another way to crash plasma: Download a video from youtube using youtube-dl while the current working directory is ~/Desktop. Pasting a snippet inline for future searching. frame #3: 0x00007ffff406a890 libQt5Core.so.5`QMessageLogger::fatal(this=0x00007fffffff1ab0, msg="ASSERT: \"%s\" in file %s, line %d") const at qlogging.cpp:893:21 frame #4: 0x00007ffff40612c0 libQt5Core.so.5`qt_assert(assertion="last < rowCount(parent)", file="itemmodels/qabstractitemmodel.cpp", line=2815) at qglobal.cpp:3358:46 frame #5: 0x00007ffff4285e1f libQt5Core.so.5`QAbstractItemModel::beginRemoveRows(this=0x0000555555a71f40, parent=0x00007fffffff1c10, first=3, last=82) at qabstractitemmodel.cpp:2815:5 frame #6: 0x00007fff973ada5f libfolderplugin.so`Positioner::move(this=0x0000555555a71f40, moves=0x00007fffffff1f38) at positioner.cpp:448:24 frame #7: 0x00007fff9736f43c libfolderplugin.so`Positioner::qt_static_metacall(_o=0x0000555555a71f40, _c=InvokeMetaMethod, _id=23, _a=0x00007fffffff1eb0) at moc_positioner.cpp:243:26 frame #8: 0x00007fff9736f911 libfolderplugin.so`Positioner::qt_metacall(this=0x0000555555a71f40, _c=InvokeMetaMethod, _id=23, _a=0x00007fffffff1eb0) at moc_positioner.cpp:346:31 *** Bug 400369 has been marked as a duplicate of this bug. *** *** Bug 431458 has been marked as a duplicate of this bug. *** |
Created attachment 132727 [details] the backtrace of the crash SUMMARY If icons are arranged in columns and one of the icons is dragged left and then right, plasma will crash. STEPS TO REPRODUCE 1. Arrange icons on the desktop in columns 2. Drag any icon horizontally several times OBSERVED RESULT plasmashell hits an assert in QAbstractItemModel::beginRemoveRows() EXPECTED RESULT No crash ADDITIONAL INFORMATION Judging by the source code of Positioner::move(), the problem is that plasma removes rows and then notifies QAbstractItemModel about the removal.