Bug 364863

Summary: Crash when trying to grow partition
Product: [Applications] partitionmanager Reporter: Darryl <ddrs>
Component: generalAssignee: Andrius Štikonas <andrius>
Status: RESOLVED FIXED    
Severity: crash CC: kde-bugs
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Darryl 2016-06-28 16:26:08 UTC
Application: partitionmanager (2.2.0)

Qt Version: 5.7.0
Frameworks Version: 5.23.0
Operating System: Linux 4.6.3-1-MANJARO x86_64
Distribution: "Netrunner Rolling"

-- Information about the crash:
- What I was doing when the application crashed:
Resizing an existing partition to utilize unallocated space causes KDE Partition Manager to crash when pressing Apply.

My distribution is Netrunner Rolling.

-- Backtrace:
Application: KDE Partition Manager (partitionmanager), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ffafeb60840 (LWP 5609))]

Thread 2 (Thread 0x7ffae41ea700 (LWP 5611)):
#0  0x00007ffafa5d96cd in poll () from /usr/lib/libc.so.6
#1  0x00007ffaf4f9cfd6 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffaf4f9d0ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffafaf0659b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffafaeb00da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffafacd30f3 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ffaf89e0e75 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007ffafacd7d78 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffaf6852484 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffafa5e26dd in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7ffafeb60840 (LWP 5609)):
[KCrash Handler]
#4  0x00007ffafe5a93ef in Partition::sectorsUsed() const () from /usr/lib/libkpmcore.so.3
#5  0x00007ffafe5dd67c in PartWidget::paintEvent(QPaintEvent*) () from /usr/lib/libkpmcore.so.3
#6  0x00007ffafbbddf18 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#7  0x00007ffafbb96e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#8  0x00007ffafbb9e5b1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#9  0x00007ffafaeb1c80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#10 0x00007ffafbbd6cea in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ffafbbd7339 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ffafbbd802c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ffafbbd6ea4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffafbbd802c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffafbbd7f19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffafbbd6ea4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007ffafbbd802c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007ffafbbd7f19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007ffafbbd6ea4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ffafbba70fa in ?? () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ffafbba72b7 in ?? () from /usr/lib/libQt5Widgets.so.5
#22 0x00007ffafbbc611f in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQt5Widgets.so.5
#23 0x00007ffafbbddfe8 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007ffafbcdc50b in QMainWindow::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#25 0x00007ffafdd5dbda in KMainWindow::event(QEvent*) () from /usr/lib/libKF5XmlGui.so.5
#26 0x00007ffafddaed85 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libKF5XmlGui.so.5
#27 0x00007ffafbb96e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#28 0x00007ffafbb9e5b1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#29 0x00007ffafaeb1c80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#30 0x00007ffafaeb43fd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#31 0x00007ffafaf06173 in ?? () from /usr/lib/libQt5Core.so.5
#32 0x00007ffaf4f9cdd7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#33 0x00007ffaf4f9d040 in ?? () from /usr/lib/libglib-2.0.so.0
#34 0x00007ffaf4f9d0ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#35 0x00007ffafaf0657f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#36 0x00007ffafaeb00da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#37 0x00007ffafaeb85cc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#38 0x0000000000425d1c in main ()

Possible duplicates by query: bug 364645, bug 357114, bug 328771.

Reported using DrKonqi
Comment 1 Andrius Štikonas 2016-06-29 16:24:09 UTC
Hi, could you tell which filesystem was that? I'm having trouble reproducing that, so maybe you know any other info that might be relevant.  E.g. does it happen every time, or maybe this has something to do with sector size...
Comment 2 Andrius Štikonas 2016-11-07 17:46:55 UTC
Git commit 4ed3ce626708b01dff652bda384ca9a5562a0212 by Andrius Štikonas.
Committed on 07/11/2016 at 17:45.
Pushed by stikonas into branch 'master'.

Check if fileSystem pointer is nullptr before trying to read used space

Hopefully it fixes the following crashes as well:
Related: bug 365872

M  +3    -0    src/core/partition.cpp

http://commits.kde.org/kpmcore/4ed3ce626708b01dff652bda384ca9a5562a0212
Comment 3 Andrius Štikonas 2017-03-11 13:47:26 UTC
*** Bug 377481 has been marked as a duplicate of this bug. ***