Bug 297840 - Crash after successful restoring a file system to an existing partition
Summary: Crash after successful restoring a file system to an existing partition
Status: RESOLVED FIXED
Alias: None
Product: partitionmanager
Classification: Applications
Component: general (other bugs)
Version First Reported In: 1.0.3
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Volker Lanz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-10 12:22 UTC by Volker Lanz
Modified: 2016-04-27 15:07 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Volker Lanz 2012-04-10 12:22:09 UTC
Application: partitionmanager-bin (1.0.3)
KDE Platform Version: 4.8.2 (4.8.2)
Qt Version: 4.8.0
Operating System: Linux 3.0.0-16-generic x86_64
Distribution: Ubuntu 11.10

-- Information about the crash:
Successfully restoring a backed up file system to an _existing_ partition crashes the application after hitting "OK" in the progress dialog.

Apparently, the overwritten partition object is deleted twice, it appears.

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Partition Manager (partitionmanager-bin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f9427f64840 (LWP 16237))]

Thread 2 (Thread 0x7f941488f700 (LWP 16403)):
#0  0x00007f942392d034 in __pthread_mutex_lock (mutex=0x1a6e1b8) at pthread_mutex_lock.c:61
#1  0x00007f9421b81023 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9421b81dfd in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9421b82429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f9426c63c26 in QEventDispatcherGlib::processEvents (this=0x1a556b0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f9426c33402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f9426c33657 in QEventLoop::exec (this=0x7f941488ed10, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f9426b33067 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f9426c1317f in QInotifyFileSystemWatcherEngine::run (this=0x1a6ce00) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f9426b3608b in QThreadPrivate::start (arg=0x1a6ce00) at thread/qthread_unix.cpp:298
#10 0x00007f942392aefc in start_thread (arg=0x7f941488f700) at pthread_create.c:304
#11 0x00007f942561459d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9427f64840 (LWP 16237)):
[KCrash Handler]
#6  ref (this=0x0) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#7  QString (other=..., this=0x7fff5e5249e0) at /usr/include/qt4/QtCore/qstring.h:726
#8  operator+ (s2=..., s1=...) at /usr/include/qt4/QtCore/qstring.h:1022
#9  Partition::deviceNode (this=0x16f9ea0) at /home/vl/dev/partitionmanager/branches/1.0/src/core/partition.cpp:147
#10 0x00007f9427af17f1 in PartitionNode::clearChildren (this=0x1707cf0) at /home/vl/dev/partitionmanager/branches/1.0/src/core/partitionnode.cpp:141
#11 0x00007f9427aefe02 in PartitionTable::clear (this=0x1707cf0) at /home/vl/dev/partitionmanager/branches/1.0/src/core/partitiontable.cpp:54
#12 0x00007f9427aefe37 in PartitionTable::~PartitionTable (this=0x1707cf0, __in_chrg=<optimized out>) at /home/vl/dev/partitionmanager/branches/1.0/src/core/partitiontable.cpp:47
#13 0x00007f9427aefed9 in PartitionTable::~PartitionTable (this=0x1707cf0, __in_chrg=<optimized out>) at /home/vl/dev/partitionmanager/branches/1.0/src/core/partitiontable.cpp:48
#14 0x00007f9427af1455 in Device::~Device (this=0x16fc9a0, __in_chrg=<optimized out>) at /home/vl/dev/partitionmanager/branches/1.0/src/core/device.cpp:50
#15 0x00007f9427af14f9 in Device::~Device (this=0x16fc9a0, __in_chrg=<optimized out>) at /home/vl/dev/partitionmanager/branches/1.0/src/core/device.cpp:51
#16 0x00007f9427af6d86 in qDeleteAll<QList<Device*>::const_iterator> (end=<optimized out>, begin=<optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:322
#17 qDeleteAll<QList<Device*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#18 OperationStack::clearDevices (this=0x1594a68) at /home/vl/dev/partitionmanager/branches/1.0/src/core/operationstack.cpp:446
#19 0x00007f9427aece5c in LibParted::scanDevices (this=<optimized out>, ostack=...) at /home/vl/dev/partitionmanager/branches/1.0/src/core/libparted.cpp:268
#20 0x00007f9427b4f020 in PartitionManagerWidget::scanDevices (this=0x1594a20) at /home/vl/dev/partitionmanager/branches/1.0/src/gui/partitionmanagerwidget.cpp:292
#21 0x00007f9426c48a01 in QMetaObject::activate (sender=0x14f4850, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff5e525280) at kernel/qobject.cpp:3547
#22 0x00007f942648851e in QDialog::finished (this=<optimized out>, _t1=1) at .moc/release-shared/moc_qdialog.cpp:153
#23 0x00007f94264885ba in QDialog::done (this=<optimized out>, r=1) at dialogs/qdialog.cpp:595
#24 0x00007f9427b3cefd in ProgressDialog::slotButtonClicked (this=0x14f4850, button=<optimized out>) at /home/vl/dev/partitionmanager/branches/1.0/src/gui/progressdialog.cpp:199
#25 0x00007f9427115382 in KDialog::qt_metacall (this=0x14f4850, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fff5e5255e0) at ./kdialog.moc:190
#26 0x00007f9427ae9b30 in ProgressDialog::qt_metacall (this=0x14f4850, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff5e5255e0) at /home/vl/dev/partitionmanager/branches/1.0/build/src/moc_progressdialog.cpp:116
#27 0x00007f9426c48c09 in QMetaObject::activate (sender=0x1581d60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff5e5255e0) at kernel/qobject.cpp:3566
#28 0x00007f9426c502be in QSignalMapper::mapped (this=<optimized out>, _t1=4) at .moc/release-shared/moc_qsignalmapper.cpp:115
#29 0x00007f9426c5085b in QSignalMapper::map (this=0x1581d60, sender=0x15705f0) at kernel/qsignalmapper.cpp:266
#30 0x00007f9426c48a01 in QMetaObject::activate (sender=0x15705f0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff5e525770) at kernel/qobject.cpp:3547
#31 0x00007f9426647ec2 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220
#32 0x00007f9426385d2e in QAbstractButtonPrivate::emitClicked (this=0x155aa80) at widgets/qabstractbutton.cpp:546
#33 0x00007f942638706b in QAbstractButtonPrivate::click (this=0x155aa80) at widgets/qabstractbutton.cpp:539
#34 0x00007f94263872dc in QAbstractButton::mouseReleaseEvent (this=0x15705f0, e=0x7fff5e526040) at widgets/qabstractbutton.cpp:1121
#35 0x00007f942600a914 in QWidget::event (this=0x15705f0, event=0x7fff5e526040) at kernel/qwidget.cpp:8361
#36 0x00007f9425fba104 in notify_helper (e=0x7fff5e526040, receiver=0x15705f0, this=0x131cc90) at kernel/qapplication.cpp:4555
#37 QApplicationPrivate::notify_helper (this=0x131cc90, receiver=0x15705f0, e=0x7fff5e526040) at kernel/qapplication.cpp:4527
#38 0x00007f9425fbf92f in QApplication::notify (this=<optimized out>, receiver=0x15705f0, e=0x7fff5e526040) at kernel/qapplication.cpp:4098
#39 0x00007f94271bebf6 in KApplication::notify (this=0x7fff5e526d20, receiver=0x15705f0, event=0x7fff5e526040) at ../../kdeui/kernel/kapplication.cpp:311
#40 0x00007f9426c3461c in QCoreApplication::notifyInternal (this=0x7fff5e526d20, receiver=0x15705f0, event=0x7fff5e526040) at kernel/qcoreapplication.cpp:876
#41 0x00007f9425fbb0d2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#42 QApplicationPrivate::sendMouseEvent (receiver=0x15705f0, event=0x7fff5e526040, alienWidget=0x15705f0, nativeWidget=0x14f4850, buttonDown=0x15705f0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3166
#43 0x00007f9426037765 in QETWidget::translateMouseEvent (this=0x14f4850, event=<optimized out>) at kernel/qapplication_x11.cpp:4616
#44 0x00007f942603662a in QApplication::x11ProcessEvent (this=0x7fff5e526d20, event=0x7fff5e526900) at kernel/qapplication_x11.cpp:3732
#45 0x00007f942605f602 in x11EventSourceDispatch (s=0x1321140, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#46 0x00007f9421b81a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f9421b82258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f9421b82429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007f9426c63bbf in QEventDispatcherGlib::processEvents (this=0x12fa4b0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#50 0x00007f942605f28e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#51 0x00007f9426c33402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#52 0x00007f9426c33657 in QEventLoop::exec (this=0x7fff5e526cd0, flags=...) at kernel/qeventloop.cpp:204
#53 0x00007f9426c386e7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#54 0x00000000004010da in main (argc=<optimized out>, argv=<optimized out>) at /home/vl/dev/partitionmanager/branches/1.0/src/main.cpp:46

Reported using DrKonqi
Comment 1 Andrius Štikonas 2016-04-27 15:07:34 UTC
Hopefully fixed by 83787cbdfcc78cd51c2461084c6e6534f4f77337