Bug 218532

Summary: Crash when clicking on the "please select a device" text after program starts [QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data, qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >, QObject::d_func]
Product: [Applications] partitionmanager Reporter: Volker Lanz <vl>
Component: generalAssignee: Volker Lanz <vl>
Status: RESOLVED FIXED    
Severity: crash CC: cw
Priority: NOR    
Version: 1.0.0   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Volker Lanz 2009-12-13 16:37:31 UTC
Application: partitionmanager-bin (1.0.50)
KDE Platform Version: 4.3.80 (KDE 4.3.80 (KDE 4.4 Beta1)) (Compiled from sources)
Qt Version: 4.6.0
Operating System: Linux 2.6.28-17-generic x86_64
Distribution: Ubuntu 9.04

-- Information about the crash:
Using KDE SC 4.4, Partition Manager crashes when you click on the "please select a device" text after the program starts up.

The crash can be reproduced everytime.

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

Thread 2 (Thread 0x7f5461c5c950 (LWP 32410)):
#0  0x00007f546df8d742 in select () from /lib/libc.so.6
#1  0x00007f546ed8484d in QProcessManager::run (this=0x7f546f12f700) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/io/qprocess_unix.cpp:245
#2  0x00007f546ec83a7c in QThreadPrivate::start (arg=0x7f546f12f700) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/thread/qthread_unix.cpp:244
#3  0x00007f546e9d23ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00007f546df94fcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f54716997e0 (LWP 32408)):
[KCrash Handler]
#5  0x00007f546ec5d85c in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=0x3000000009)
    at ../../include/QtCore/../../../../src/kde-qt/src/corelib/tools/qscopedpointer.h:135
#6  0x00007f546ec766d9 in qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (p=@0x3000000009)
    at ../../include/QtCore/../../../../src/kde-qt/src/corelib/global/qglobal.h:2315
#7  0x00007f546ec782ad in QObject::d_func (this=0x3000000001) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/kernel/qobject.h:121
#8  0x00007f546ec782c4 in QObjectPrivate::get (o=0x3000000001) at ../../include/QtCore/private/../../../../../src/kde-qt/src/corelib/kernel/qobject_p.h:176
#9  0x00007f546edc9697 in QMetaObject::addGuard (ptr=0x7fffa91dda70) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qobject.cpp:443
#10 0x00007f547127e903 in PartitionManagerWidget::on_m_PartTableWidget_itemSelectionChanged (this=0x1ddd770, item=<value optimized out>) at /home/kde-devel/kde-qt/include/QtCore/qpointer.h:62
#11 0x00007f5471222cac in PartitionManagerWidget::qt_metacall (this=0x1ddd770, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa91ddcc0)
    at /home/kde-devel/dev/partitionmanager/trunk/build/src/moc_partitionmanagerwidget.cpp:130
#12 0x00007f546edb8073 in QMetaObject::metacall (object=0x1ddd770, cl=QMetaObject::InvokeMetaMethod, idx=36, argv=0x7fffa91ddcc0)
    at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qmetaobject.cpp:237
#13 0x00007f546edcd511 in QMetaObject::activate (sender=0x1dff040, m=0x7f54714b7260, local_signal_index=0, argv=0x7fffa91ddcc0)
    at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qobject.cpp:3294
#14 0x00007f547122144f in PartTableWidget::itemSelectionChanged (this=0x3000000009, _t1=0x1dff088) at /home/kde-devel/dev/partitionmanager/trunk/build/src/moc_parttablewidget.cpp:89
#15 0x00007f547127b196 in PartTableWidget::setActiveWidget (this=0x3000000009, p=0x0) at /home/kde-devel/dev/partitionmanager/trunk/src/gui/parttablewidget.cpp:86
#16 0x00007f546fb4ab74 in QWidget::event (this=0x1dff040, event=0x7fffa91de1f0) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qwidget.cpp:7970
#17 0x00007f546facdb99 in QApplicationPrivate::notify_helper (this=0x1c8f5f0, receiver=0x1dff040, e=0x7fffa91de1f0) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qapplication.cpp:4242
#18 0x00007f546face9c2 in QApplication::notify (this=0x7fffa91df8b0, receiver=0x1dff088, e=0x7fffa91de8f0) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qapplication.cpp:3822
#19 0x00007f5470d6b64d in KApplication::notify (this=0x7fffa91df8b0, receiver=0x1dff088, event=0x7fffa91de8f0) at /home/kde-devel/dev/kde4/trunk/src/kdelibs/kdeui/kernel/kapplication.cpp:302
#20 0x00007f546edb02b1 in QCoreApplication::notifyInternal (this=0x7fffa91df8b0, receiver=0x1dff088, event=0x7fffa91de8f0)
    at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:704
#21 0x00007f546fae2769 in QCoreApplication::sendSpontaneousEvent (receiver=0x1dff088, event=0x7fffa91de8f0) at ../../include/QtCore/../../../../src/kde-qt/src/corelib/kernel/qcoreapplication.h:218
#22 0x00007f546fad4af1 in QApplicationPrivate::sendMouseEvent (receiver=0x1dff088, event=0x7fffa91de8f0, alienWidget=0x1dff088, nativeWidget=0x1dff040, buttonDown=0x7f54708aa5f8, 
    lastMouseReceiver=@0x7f54708aa600, spontaneous=true) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qapplication.cpp:2954
#23 0x00007f546fb8b5dc in QETWidget::translateMouseEvent (this=0x1dff040, event=0x7fffa91df450) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qapplication_x11.cpp:4368
#24 0x00007f546fb8c757 in QApplication::x11ProcessEvent (this=0x7fffa91df8b0, event=0x7fffa91df450) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qapplication_x11.cpp:3379
#25 0x00007f546fbc1c14 in x11EventSourceDispatch (s=0x1c934b0, callback=0, user_data=0x0) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qguieventdispatcher_glib.cpp:146
#26 0x00007f546a86e20a in IA__g_main_context_dispatch (context=0x1c92130) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:1814
#27 0x00007f546a8718e0 in g_main_context_iterate (context=0x1c92130, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2448
#28 0x00007f546a871a7c in IA__g_main_context_iteration (context=0x1c92130, may_block=1) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2511
#29 0x00007f546edebcdd in QEventDispatcherGlib::processEvents (this=0x1c77340, flags={i = -1457654016}) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qeventdispatcher_glib.cpp:407
#30 0x00007f546fbc123f in QGuiEventDispatcherGlib::processEvents (this=0x1c77340, flags={i = -1457653920}) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qguieventdispatcher_glib.cpp:202
#31 0x00007f546edac65b in QEventLoop::processEvents (this=0x7fffa91df850, flags={i = -1457653760}) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qeventloop.cpp:149
#32 0x00007f546edac87f in QEventLoop::exec (this=0x7fffa91df850, flags={i = -1457653648}) at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qeventloop.cpp:201
#33 0x00007f546edb0cfb in QCoreApplication::exec () at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/corelib/kernel/qcoreapplication.cpp:981
#34 0x00007f546fad07b6 in QApplication::exec () at /home/kde-devel/dev/kde4/trunk/src/kde-qt/src/gui/kernel/qapplication.cpp:3570
#35 0x0000000000401369 in main (argc=<value optimized out>, argv=<value optimized out>) at /home/kde-devel/dev/partitionmanager/trunk/src/main.cpp:46

Reported using DrKonqi
Comment 1 Volker Lanz 2009-12-13 17:48:12 UTC
SVN commit 1062049 by vlanz:

Don't static_cast a child to a partition widget, use qobject_cast to make sure
we don't get unintended side effects.

BUG:218532


 M  +1 -1      parttablewidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1062049
Comment 2 Volker Lanz 2010-08-06 10:31:54 UTC
*** Bug 246868 has been marked as a duplicate of this bug. ***