Bug 275657 - KDE Partition Manager crashed when deleting new unused ext4 fs in partition 4
Summary: KDE Partition Manager crashed when deleting new unused ext4 fs in partition 4
Status: RESOLVED FIXED
Alias: None
Product: partitionmanager
Classification: Applications
Component: general (show other bugs)
Version: 1.0.3
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Volker Lanz
URL:
Keywords:
: 259752 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-14 22:15 UTC by Mac Michaels
Modified: 2011-08-28 14:04 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mac Michaels 2011-06-14 22:15:19 UTC
Application: partitionmanager-bin (1.0.3)
KDE Platform Version: 4.6.3 (4.6.3) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-gentoo-r6 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:

I created an ext4 file system with a label "VAULT3" on the fourth partition of /dev/sdb and checked it. I realized after finishing that I should have created an extended partition first as I was not using all the remaining drive capacity. So I deleted the ext4 partition just created. Kconfig crashed immediately!

-- Backtrace:
Application: KDE Partition Manager (partitionmanager-bin), signal: Segmentation fault
[KCrash Handler]
#4  0x00007fba5066e3da in CheckOperation::description() const () from /usr/lib64/libpartitionmanagerprivate.so
#5  0x00007fba506a2beb in ListOperations::updateOperations() () from /usr/lib64/libpartitionmanagerprivate.so
#6  0x00007fba50655f81 in ListOperations::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libpartitionmanagerprivate.so
#7  0x00007fba4f770a0f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fba506ab50f in PartitionManagerWidget::onDeletePartition() () from /usr/lib64/libpartitionmanagerprivate.so
#9  0x00007fba506574e8 in PartitionManagerWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libpartitionmanagerprivate.so
#10 0x00007fba4f770a0f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007fba4eaf61b2 in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4
#12 0x00007fba4eaf787b in QAction::activate(QAction::ActionEvent) () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007fba4ef3adc1 in QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007fba4ef4073a in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007fba4fdcf9be in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#16 0x00007fba4eb5382d in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007fba4ef4289b in QMenu::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007fba4eafd8dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007fba4eb035bb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007fba4fcf7276 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#21 0x00007fba4f758d2b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#22 0x00007fba4eb01e22 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007fba4eb871fe in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007fba4eb85e20 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007fba4ebb0342 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00007fba4a4d4fa1 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#27 0x00007fba4a4d9638 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#28 0x00007fba4a4d97ec in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#29 0x00007fba4f784e13 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#30 0x00007fba4ebafcbe in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#31 0x00007fba4f757a82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007fba4f757e64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#33 0x00007fba4ef3dea5 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib64/qt4/libQtGui.so.4
#34 0x00007fba506aafdd in PartitionManagerWidget::showPartitionContextMenu(QPoint const&) () from /usr/lib64/libpartitionmanagerprivate.so
#35 0x00007fba506ab117 in PartitionManagerWidget::on_m_TreePartitions_customContextMenuRequested(QPoint const&) () from /usr/lib64/libpartitionmanagerprivate.so
#36 0x00007fba5065743e in PartitionManagerWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libpartitionmanagerprivate.so
#37 0x00007fba4f770a0f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#38 0x00007fba4eb46bf2 in QWidget::customContextMenuRequested(QPoint const&) () from /usr/lib64/qt4/libQtGui.so.4
#39 0x00007fba4eb53c01 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#40 0x00007fba4eefba66 in QFrame::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#41 0x00007fba4f0317bb in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#42 0x00007fba4f06f485 in QTreeView::viewportEvent(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#43 0x00007fba4f758576 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#44 0x00007fba4eafd8ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#45 0x00007fba4eb02f61 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#46 0x00007fba4fcf7276 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#47 0x00007fba4f758d2b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#48 0x00007fba4eb86dd6 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#49 0x00007fba4eb85e20 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#50 0x00007fba4ebb0342 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#51 0x00007fba4a4d4fa1 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#52 0x00007fba4a4d9638 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#53 0x00007fba4a4d97ec in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#54 0x00007fba4f784e13 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#55 0x00007fba4ebafcbe in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#56 0x00007fba4f757a82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#57 0x00007fba4f757e64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#58 0x00007fba4f75bedb in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#59 0x00000000004013da in main ()

Reported using DrKonqi
Comment 1 Mac Michaels 2011-06-14 22:35:28 UTC
Note: I did not click the apply button or close the application before the crash!

Restarted Kconfig: 
  Created extended partition to hold remainder of disk capacity.
  Created logical partition for ext4 file system.
  Clicked "apply" button (for the first time ever in all this).
  Everything worked properly after about 4 minutes to actually format the partition.
Comment 2 Christoph Feck 2011-07-11 02:39:14 UTC
*** Bug 259752 has been marked as a duplicate of this bug. ***
Comment 3 Volker Lanz 2011-08-28 10:31:22 UTC
Mac, thanks for the bug report. I can reproduce the crash.

Please do note that there is no need to schedule a check operation for newly created file systems as KDE Partition Manager will always check a file system after creation. That's why this crash went by unnoticed for so long: It's not something you ever need to do ;-)

Note to self: Either merge the CheckOperation with the CreateFileSytemOperation (that might confuse users though) or with the DeleteOperation.
Comment 4 Volker Lanz 2011-08-28 13:59:43 UTC
SVN commit 1249904 by vlanz:

Merge CheckOperations with NewOperations so when a new partition is deleted
before applying we don't get a dangling pointer in the CheckOperation.

BUG:275657


 M  +17 -1     core/operationstack.cpp  
 M  +3 -1      ops/checkoperation.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1249904
Comment 5 Volker Lanz 2011-08-28 14:04:29 UTC
SVN commit 1249905 by vlanz:

Backport r1249904 to 1.0 branch.

CCBUG:275657


 M  +17 -1     core/operationstack.cpp  
 M  +3 -1      ops/checkoperation.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1249905