Summary: | Dolphin 20.12.0 segmentation faults when trying to drag mounted partition in Places panel | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Aurélien Oudelet (auroud85_fr) <aoudelet> |
Component: | panels: places | Assignee: | Chris Holland <zrenfire> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | colin_seiler, dchmelik, elvis.angelaccio, fapasv, grakin72546, kfm-devel, nate, nodo, rcbarbero, redhead63, stepik-2003, taerogar |
Priority: | NOR | ||
Version: | 20.12.0 | ||
Target Milestone: | --- | ||
Platform: | Mageia RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/system/dolphin/commit/ef093154046f91a59bc7e0fe1f22b590f45a0b0b | Version Fixed In: | 20.12.1 |
Sentry Crash Report: | |||
Attachments: |
Log file from journalctl when reproducing Dolphin segfault
Dolphin new disk usage bar in Places panel New crash information added by DrKonqi attachment-32599-0.html New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Aurélien Oudelet (auroud85_fr)
2020-12-15 19:09:09 UTC
Created attachment 134102 [details]
Dolphin new disk usage bar in Places panel
This appears after we added Dolphin 20.12.0 as this https://bugs.kde.org/show_bug.cgi?id=315405 was resolved. Confirmed, thanks for the report. It crashes as soon as you try to drag the root place item. Valgrind log: ==10475== Invalid read of size 4 ==10475== at 0x48FFC6C: QRect::top() const (qrect.h:206) ==10475== by 0x48FF3CF: PlacesItemListWidget::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) (placesitemlistwidget.cpp:116) ==10475== by 0x4AEC091: KItemListWidget::createDragPixmap(QStyleOptionGraphicsItem const*, QWidget*) (kitemlistwidget.cpp:370) ==10475== by 0x4AF6E93: KStandardItemListWidget::createDragPixmap(QStyleOptionGraphicsItem const*, QWidget*) (kstandarditemlistwidget.cpp:550) ==10475== by 0x4AD2D7E: KItemListView::createDragPixmap(KItemSet const&) const (kitemlistview.cpp:629) ==10475== by 0x4AC2921: KItemListController::startDragging() (kitemlistcontroller.cpp:1273) ==10475== by 0x4AC25D8: KItemListController::mouseMoveEvent(QGraphicsSceneMouseEvent*, QTransform const&) (kitemlistcontroller.cpp:592) ==10475== by 0x4AC5329: KItemListController::processEvent(QEvent*, QTransform const&) (kitemlistcontroller.cpp:1110) ==10475== by 0x4AD4527: KItemListView::event(QEvent*) (kitemlistview.cpp:937) ==10475== by 0x63FA751: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/libQt5Widgets.so.5.15.2) ==10475== by 0x73C0A79: QCoreApplication::notifyInternal2(QObject*, QEvent*) (in /usr/lib/libQt5Core.so.5.15.2) ==10475== by 0x67205D5: ??? (in /usr/lib/libQt5Widgets.so.5.15.2) ==10475== Address 0x14 is not stack'd, malloc'd or (recently) free'd Note that this applies to all mounted partitions, not only the root (/) one. Was able to quickly reproduce in the release/20.12 branch. [KCrash Handler] #4 0x00007f40709b9e70 in QRect::width (this=0x10) at /usr/include/qt/QtCore/qrect.h:266 #5 0x00007f40709d642f in PlacesItemListWidget::paint (this=0x55e69f8e1a90, painter=0x7fffe660e4c0, option=0x0, widget=0x55e69f73be10) at /home/chris/Code/kde/dolphin/src/panels/places/placesitemlistwidget.cpp:118 #6 0x00007f4070836883 in KItemListWidget::createDragPixmap (this=0x55e69f8e1a90, option=0x0, widget=0x55e69f73be10) at /home/chris/Code/kde/dolphin/src/kitemviews/kitemlistwidget.cpp:370 #7 0x00007f4070840112 in KStandardItemListWidget::createDragPixmap (this=0x55e69f8e1a90, option=0x0, widget=0x55e69f73be10) at /home/chris/Code/kde/dolphin/src/kitemviews/kstandarditemlistwidget.cpp:550 #8 0x00007f407081e5e7 in KItemListView::createDragPixmap (this=0x55e69f82e230, indexes=...) at /home/chris/Code/kde/dolphin/src/kitemviews/kitemlistview.cpp:628 #9 0x00007f4070813763 in KItemListController::startDragging (this=0x55e69f801750) at /home/chris/Code/kde/dolphin/src/kitemviews/kitemlistcontroller.cpp:1264 #10 0x00007f4070810b22 in KItemListController::mouseMoveEvent (this=0x55e69f801750, event=0x7fffe660ebf0, transform=...) at /home/chris/Code/kde/dolphin/src/kitemviews/kitemlistcontroller.cpp:598 #11 0x00007f4070812ae7 in KItemListController::processEvent (this=0x55e69f801750, event=0x7fffe660ebf0, transform=...) at /home/chris/Code/kde/dolphin/src/kitemviews/kitemlistcontroller.cpp:1104 Weird, option=0x0. So QStyleOptionGraphicsItem* option is null. So it's breaking when I try to calculate the size of the capacitybar. QRect capacityRect( textInfo->pos.x(), option->rect.top() + option->rect.height() - CAPACITYBAR_HEIGHT - CAPACITYBAR_MARGIN, qMin((qreal)option->rect.width(), selectionRect().width()) - (textInfo->pos.x() - option->rect.left()), CAPACITYBAR_HEIGHT ); I wasn't aware that it could be null: https://doc.qt.io/archives/qt-4.8/qgraphicswidget.html#paint https://doc.qt.io/archives/qt-4.8/qgraphicsitem.html#paint I can easily check if option is null with `if (m_drawCapacityBar && option)`, it won't draw the capacitybar in the drag though. // We check if option=nullptr since it is null when the place is dragged. // https://bugs.kde.org/show_bug.cgi?id=430441 if (m_drawCapacityBar && option) { A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/146 *** Bug 430350 has been marked as a duplicate of this bug. *** Glad this gets fixed. Git commit ef093154046f91a59bc7e0fe1f22b590f45a0b0b by Chris Holland. Committed on 18/12/2020 at 00:10. Pushed by ngraham into branch 'release/20.12'. Fix crash when device with capacitybar is dragged M +2 -1 src/panels/places/placesitemlistwidget.cpp https://invent.kde.org/system/dolphin/commit/ef093154046f91a59bc7e0fe1f22b590f45a0b0b Created attachment 134286 [details]
New crash information added by DrKonqi
dolphin (20.12.0) using Qt 5.15.2
- What I was doing when the application crashed:
I was dragging mounted partition but suddenly its crashed... Whenever I do that, dolphin crashes..
Im running KDE Neon 5.20.4
-- Backtrace (Reduced):
#4 PlacesItemListWidget::paint (this=0x55aa3e4b5860, painter=0x7fff704c03e8, option=0x0, widget=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:742
#5 0x00007f9085e7f9c1 in KItemListWidget::createDragPixmap (this=this@entry=0x55aa3e4b5860, option=0x0, widget=0x55aa3e3f3950) at ./src/kitemviews/kitemlistwidget.cpp:370
#6 0x00007f9085e8b4ab in KStandardItemListWidget::createDragPixmap (this=0x55aa3e4b5860, option=<optimized out>, widget=<optimized out>) at ./src/kitemviews/kstandarditemlistwidget.cpp:550
#7 0x00007f9085e7a6b7 in KItemListView::createDragPixmap (this=0x55aa3e3ddc50, indexes=...) at ./src/kitemviews/kitemlistview.cpp:629
#8 0x00007f9085e6b659 in KItemListController::startDragging (this=this@entry=0x55aa3e3edda0) at ./src/kitemviews/kitemlistcontroller.cpp:1273
The bug has been fixed and will be released in KDE Apps / Dolphin v20.12.1 which is scheduled to be released January 7, 2021. KDE Neon should package the release for you to update to it shortly afterwards. https://community.kde.org/Schedules/release_service/20.12_Release_Schedule#Thursday.2C_January_7.2C_2021:_release_service_20.12.1_release Created attachment 134314 [details] attachment-32599-0.html Thank u sooooo much for your help!!!! On Wed, Dec 23, 2020 at 8:30 PM Chris Holland <bugzilla_noreply@kde.org> wrote: > https://bugs.kde.org/show_bug.cgi?id=430441 > > --- Comment #11 from Chris Holland <zrenfire@gmail.com> --- > The bug has been fixed and will be released in KDE Apps / Dolphin v20.12.1 > which is scheduled to be released January 7, 2021. KDE Neon should package > the > release for you to update to it shortly afterwards. > > > https://community.kde.org/Schedules/release_service/20.12_Release_Schedule#Thursday.2C_January_7.2C_2021:_release_service_20.12.1_release > > -- > You are receiving this mail because: > You are on the CC list for the bug. *** Bug 430519 has been marked as a duplicate of this bug. *** *** Bug 430770 has been marked as a duplicate of this bug. *** Created attachment 134396 [details]
New crash information added by DrKonqi
dolphin (20.12.0) using Qt 5.15.2
- What I was doing when the application crashed:
I just drag a mounted partition in places panel.
-- Backtrace (Reduced):
#4 QRect::width (this=0x10) at /usr/include/qt5/QtCore/qrect.h:266
#5 PlacesItemListWidget::paint (this=0x55aa63bba2d0, painter=0x7ffdae21e188, option=0x0, widget=<optimized out>) at /usr/src/debug/dolphin-20.12.0-2.1.x86_64/src/panels/places/placesitemlistwidget.cpp:117
#6 0x00007f0bb2871bfd in KItemListWidget::createDragPixmap (this=this@entry=0x55aa63bba2d0, option=0x0, widget=0x55aa639ab150) at /usr/src/debug/dolphin-20.12.0-2.1.x86_64/src/kitemviews/kitemlistwidget.cpp:370
#7 0x00007f0bb2871d67 in KStandardItemListWidget::createDragPixmap (this=0x55aa63bba2d0, option=<optimized out>, widget=<optimized out>) at /usr/src/debug/dolphin-20.12.0-2.1.x86_64/src/kitemviews/kstandarditemlistwidget.cpp:550
#8 0x00007f0bb2859c74 in KItemListView::createDragPixmap (this=<optimized out>, indexes=...) at /usr/src/debug/dolphin-20.12.0-2.1.x86_64/src/kitemviews/kitemlistview.cpp:629
Created attachment 134441 [details]
New crash information added by DrKonqi
dolphin (20.12.0) using Qt 5.15.2
- What I was doing when the application crashed:
Drag mounted partitions on place panel dolphin crask
-- Backtrace (Reduced):
#4 PlacesItemListWidget::paint (this=0x55890b862c70, painter=0x7ffe57464518, option=0x0, widget=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:742
#5 0x00007fd1e46799c1 in KItemListWidget::createDragPixmap (this=this@entry=0x55890b862c70, option=0x0, widget=0x55890b791f30) at ./src/kitemviews/kitemlistwidget.cpp:370
#6 0x00007fd1e46854ab in KStandardItemListWidget::createDragPixmap (this=0x55890b862c70, option=<optimized out>, widget=<optimized out>) at ./src/kitemviews/kstandarditemlistwidget.cpp:550
#7 0x00007fd1e46746b7 in KItemListView::createDragPixmap (this=0x55890b77e7c0, indexes=...) at ./src/kitemviews/kitemlistview.cpp:629
#8 0x00007fd1e4665659 in KItemListController::startDragging (this=this@entry=0x55890b78cfb0) at ./src/kitemviews/kitemlistcontroller.cpp:1273
Created attachment 134534 [details]
New crash information added by DrKonqi
dolphin (20.12.0) using Qt 5.15.2
- What I was doing when the application crashed:
I had done as was stated in the bug report this one was attached to, attemtping to rearrange mounted places causes a exception that results in Dolphin crashing instantly.
Further Remarks:
OS is originally KDE Neon, but remixed personally. I cannot recall the appropriate version number, but it was built around October 2020 with the latest User Edition KDE Neon ISO.
-- Backtrace (Reduced):
#4 PlacesItemListWidget::paint (this=0x5637b99829b0, painter=0x7ffe44d41b08, option=0x0, widget=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:742
#5 0x00007f55d48ed9c1 in KItemListWidget::createDragPixmap (this=this@entry=0x5637b99829b0, option=0x0, widget=0x5637b9c03b90) at ./src/kitemviews/kitemlistwidget.cpp:370
#6 0x00007f55d48f94ab in KStandardItemListWidget::createDragPixmap (this=0x5637b99829b0, option=<optimized out>, widget=<optimized out>) at ./src/kitemviews/kstandarditemlistwidget.cpp:550
#7 0x00007f55d48e86b7 in KItemListView::createDragPixmap (this=0x5637b9d3b060, indexes=...) at ./src/kitemviews/kitemlistview.cpp:629
#8 0x00007f55d48d9659 in KItemListController::startDragging (this=this@entry=0x5637b9cfb300) at ./src/kitemviews/kitemlistcontroller.cpp:1273
*** Bug 431179 has been marked as a duplicate of this bug. *** *** Bug 431670 has been marked as a duplicate of this bug. *** |