Bug 272705 - DrKonqi crash after trying to install debuginfo packages through it and cancelling the progress dialog
Summary: DrKonqi crash after trying to install debuginfo packages through it and cance...
Status: RESOLVED DOWNSTREAM
Alias: None
Product: drkonqi
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Dario Andres
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-07 15:34 UTC by Joachim Mairböck
Modified: 2011-05-10 01:20 UTC (History)
2 users (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 Joachim Mairböck 2011-05-07 15:34:23 UTC
Version:           unspecified (using KDE 4.6.2) 
OS:                Linux

A plasma crash happened and I had some debuginfo packages missing, so I pressed the button to automatically install them. It didn't find any and asked me to configure the repositories. As I know this wouldn't have helped, I said no. The progress dialog hanged at 75 %, so I closed it and the dialog closed. The 'install debuginfo packages' button did NOT reappear.

After manually installing the packages and reloading the back trace I wanted to report the bug. On clicking the button, DrKonqi crashed. Looking at the backtrace, I suspect it trying to delete the dialog again, but it was already disposed when cancelling it.

Reproducible: Didn't try

Steps to Reproduce:
see above

Actual Results:  
DrKonqi crashes when clicking the Report Bug button

Expected Results:  
It should just go on and not try to delete the progress dialog again if it was already disposed (or even better, not hang in the first place).

Application: Die KDE-Absturzbehandlung (drkonqi), signal: Aborted
[Current thread is 1 (Thread 0xb50d9710 (LWP 30118))]

Thread 2 (Thread 0xb2aa5b70 (LWP 30132)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5f70e53 in __lll_lock_wait_private () from /lib/libc.so.6
#2  0xb5f032fb in _L_lock_10372 () from /lib/libc.so.6
#3  0xb5f01a66 in free () from /lib/libc.so.6
#4  0xb57515e6 in g_free (mem=0x81cec90) at gmem.c:263
#5  0xb5746939 in g_source_unref_internal (source=0x81cec90, context=0x81ce6a8, have_lock=0) at gmain.c:1703
#6  0xb6299448 in QEventDispatcherGlib::~QEventDispatcherGlib (this=0x81b0028, __in_chrg=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:373
#7  0xb6299582 in QEventDispatcherGlib::~QEventDispatcherGlib (this=0x81b0028, __in_chrg=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:401
#8  0xb616cb9c in QThreadPrivate::finish (arg=0xb63a68b0) at thread/qthread_unix.cpp:356
#9  0xb616d99b in ~__pthread_cleanup_class (arg=0xb63a68b0) at /usr/include/pthread.h:535
#10 QThreadPrivate::start (arg=0xb63a68b0) at thread/qthread_unix.cpp:279
#11 0xb60f1b05 in start_thread () from /lib/libpthread.so.0
#12 0xb5f62d5e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb50d9710 (LWP 30118)):
[KCrash Handler]
#7  0xffffe424 in __kernel_vsyscall ()
#8  0xb5eba8df in raise () from /lib/libc.so.6
#9  0xb5ebc220 in abort () from /lib/libc.so.6
#10 0xb5ef6e07 in __libc_message () from /lib/libc.so.6
#11 0xb5efce2b in malloc_printerr () from /lib/libc.so.6
#12 0xb5efdbab in _int_free () from /lib/libc.so.6
#13 0xb5f01a6d in free () from /lib/libc.so.6
#14 0xb60adb0f in operator delete (ptr=0xbff3d7d8) at ../../../../libstdc++-v3/libsupc++/del_op.cc:44
#15 0xb728660a in KProgressDialog::~KProgressDialog (this=0xbff3d7d8, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.3/kdeui/dialogs/kprogressdialog.cpp:96
#16 0xb627e494 in QObjectPrivate::deleteChildren (this=0x825ea30) at kernel/qobject.cpp:1955
#17 0xb685f7d3 in QWidget::~QWidget (this=0x8341a38, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1631
#18 0x0805a0fd in ~BacktraceWidget (this=0x8341a38, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.3/drkonqi/backtracewidget.h:37
#19 BacktraceWidget::~BacktraceWidget (this=0x8341a38, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.3/drkonqi/backtracewidget.h:37
#20 0xb627e494 in QObjectPrivate::deleteChildren (this=0x81ebbd0) at kernel/qobject.cpp:1955
#21 0xb685f7d3 in QWidget::~QWidget (this=0x81ba310, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1631
#22 0xb6c7379f in QFrame::~QFrame (this=0x81ba310, __in_chrg=<value optimized out>) at widgets/qframe.cpp:240
#23 0xb6cda88f in QStackedWidget::~QStackedWidget (this=0x81ba310, __in_chrg=<value optimized out>) at widgets/qstackedwidget.cpp:149
#24 0xb6cda8d2 in QStackedWidget::~QStackedWidget (this=0x81ba310, __in_chrg=<value optimized out>) at widgets/qstackedwidget.cpp:151
#25 0xb627e494 in QObjectPrivate::deleteChildren (this=0x81cdac8) at kernel/qobject.cpp:1955
#26 0xb685f7d3 in QWidget::~QWidget (this=0x81cd310, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1631
#27 0xb6ce744f in QTabWidget::~QTabWidget (this=0x81cd310, __in_chrg=<value optimized out>) at widgets/qtabwidget.cpp:355
#28 0xb7330732 in KTabWidget::~KTabWidget (this=0x81cd310, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.3/kdeui/widgets/ktabwidget.cpp:241
#29 0xb7330772 in KTabWidget::~KTabWidget (this=0x81cd310, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.3/kdeui/widgets/ktabwidget.cpp:244
#30 0xb627e494 in QObjectPrivate::deleteChildren (this=0x81f4678) at kernel/qobject.cpp:1955
#31 0xb685f7d3 in QWidget::~QWidget (this=0x81f0278, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1631
#32 0xb6d4bc84 in QDialog::~QDialog (this=0x81f0278, __in_chrg=<value optimized out>) at dialogs/qdialog.cpp:318
#33 0xb727f004 in KDialog::~KDialog (this=0x81f0278, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.3/kdeui/dialogs/kdialog.cpp:201
#34 0x08065bbd in DrKonqiDialog::~DrKonqiDialog (this=0x81f0278, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.3/drkonqi/drkonqidialog.cpp:76
#35 0x08065c00 in DrKonqiDialog::~DrKonqiDialog (this=0x81f0278, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.6.3/drkonqi/drkonqidialog.cpp:82
#36 0xb627d713 in qDeleteInEventHandler (o=0x81f0278) at kernel/qobject.cpp:3986
#37 0xb627fde8 in QObject::event (this=0x81f0278, e=0x82d6b00) at kernel/qobject.cpp:1200
#38 0xb68646bc in QWidget::event (this=0x81f0278, event=0x82d6b00) at kernel/qwidget.cpp:8718
#39 0xb6809684 in QApplicationPrivate::notify_helper (this=0x80e3650, receiver=0x81f0278, e=0x82d6b00) at kernel/qapplication.cpp:4462
#40 0xb68124d4 in QApplication::notify (this=0x80e35e0, receiver=0x81f0278, e=0x82d6b00) at kernel/qapplication.cpp:4341
#41 0xb72bd901 in KApplication::notify (this=0x80e35e0, receiver=0x81f0278, event=0x82d6b00) at /usr/src/debug/kdelibs-4.6.3/kdeui/kernel/kapplication.cpp:311
#42 0xb626a78e in QCoreApplication::notifyInternal (this=0x80e35e0, receiver=0x81f0278, event=0x82d6b00) at kernel/qcoreapplication.cpp:731
#43 0xb626e51c in sendEvent (receiver=0x0, event_type=0, data=0x80c1df0) at kernel/qcoreapplication.h:215
#44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x80c1df0) at kernel/qcoreapplication.cpp:1372
#45 0xb626e66c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1265
#46 0xb6298df4 in sendPostedEvents (s=0x80df500) at kernel/qcoreapplication.h:220
#47 postEventSourceDispatch (s=0x80df500) at kernel/qeventdispatcher_glib.cpp:277
#48 0xb574a509 in g_main_dispatch (context=0x80df470) at gmain.c:2440
#49 g_main_context_dispatch (context=0x80df470) at gmain.c:3013
#50 0xb574ad10 in g_main_context_iterate (context=0x80df470, block=1, dispatch=1, self=0x80ddf60) at gmain.c:3091
#51 0xb574afce in g_main_context_iteration (context=0x80df470, may_block=1) at gmain.c:3154
#52 0xb6298f7b in QEventDispatcherGlib::processEvents (this=0x80c5600, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#53 0xb68c01da in QGuiEventDispatcherGlib::processEvents (this=0x80c5600, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#54 0xb6269a6d in QEventLoop::processEvents (this=0xbff3d6d4, flags=...) at kernel/qeventloop.cpp:149
#55 0xb6269c99 in QEventLoop::exec (this=0xbff3d6d4, flags=...) at kernel/qeventloop.cpp:201
#56 0xb75ed5c2 in KSUSEInstall::run(KProcess&) () from /opt/kde3/lib/libksuseinstall.so.1
#57 0xb75ed8c4 in KSUSEInstall::installPackages(QStringList const&, QWidget*) () from /opt/kde3/lib/libksuseinstall.so.1
#58 0xb75f29a5 in KSUSEInstall::performInstallCapabilities(QStringList const&, KSUSEInstall::InstallType, QWidget*, bool*) () from /opt/kde3/lib/libksuseinstall.so.1
#59 0xb75f3190 in KSUSEInstall::installCapabilities(QStringList const&, KSUSEInstall::InstallType, QWidget*) () from /opt/kde3/lib/libksuseinstall.so.1
#60 0xb75f367b in KSUSEInstall::installDebuginfo(QStringList const&, QWidget*) () from /opt/kde3/lib/libksuseinstall.so.1
#61 0x0809691b in SUSEDebugPackageInstaller::installDebugPackages (this=0x82aa0f0) at /usr/src/debug/kdebase-runtime-4.6.3/drkonqi/susedebugpackageinstaller.cpp:47
#62 0x0805931c in BacktraceWidget::qt_metacall (this=0x8341a38, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbff3daf8) at /usr/src/debug/kdebase-runtime-4.6.3/build/drkonqi/moc_backtracewidget.cpp:114
#63 0xb627107d in QMetaObject::metacall (object=0x8341a38, cl=QMetaObject::InvokeMetaMethod, idx=40, argv=0xbff3daf8) at kernel/qmetaobject.cpp:237
#64 0xb62804cc in QMetaObject::activate (sender=0x82977c8, m=0xb7175824, local_signal_index=2, argv=0xbff3daf8) at kernel/qobject.cpp:3278
#65 0xb6f2e45d in QAbstractButton::clicked (this=0x82977c8, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#66 0xb6c277cd in QAbstractButtonPrivate::emitClicked (this=0x8280c00) at widgets/qabstractbutton.cpp:546
#67 0xb6c290ab in QAbstractButtonPrivate::click (this=0x8280c00) at widgets/qabstractbutton.cpp:539
#68 0xb6c29366 in QAbstractButton::mouseReleaseEvent (this=0x82977c8, e=0xbff3e214) at widgets/qabstractbutton.cpp:1121
#69 0xb6864af0 in QWidget::event (this=0x82977c8, event=0xbff3e214) at kernel/qwidget.cpp:8259
#70 0xb6c28380 in QAbstractButton::event (this=0x82977c8, e=0xbff3e214) at widgets/qabstractbutton.cpp:1080
#71 0xb6cca918 in QPushButton::event (this=0x82977c8, e=0xbff3e214) at widgets/qpushbutton.cpp:683
#72 0xb6809684 in QApplicationPrivate::notify_helper (this=0x80e3650, receiver=0x82977c8, e=0xbff3e214) at kernel/qapplication.cpp:4462
#73 0xb6812f80 in QApplication::notify (this=0xbff3df2c, receiver=0x82977c8, e=0xbff3e214) at kernel/qapplication.cpp:4023
#74 0xb72bd901 in KApplication::notify (this=0x80e35e0, receiver=0x82977c8, event=0xbff3e214) at /usr/src/debug/kdelibs-4.6.3/kdeui/kernel/kapplication.cpp:311
#75 0xb626a78e in QCoreApplication::notifyInternal (this=0x80e35e0, receiver=0x82977c8, event=0xbff3e214) at kernel/qcoreapplication.cpp:731
#76 0xb680a72c in sendSpontaneousEvent (receiver=0x82977c8, event=0xbff3e214, alienWidget=0x82977c8, nativeWidget=0x81f0278, buttonDown=0xb717ec00, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:218
#77 QApplicationPrivate::sendMouseEvent (receiver=0x82977c8, event=0xbff3e214, alienWidget=0x82977c8, nativeWidget=0x81f0278, buttonDown=0xb717ec00, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3120
#78 0xb6896bb0 in QETWidget::translateMouseEvent (this=0x81f0278, event=0xbff3e72c) at kernel/qapplication_x11.cpp:4461
#79 0xb6895cbe in QApplication::x11ProcessEvent (this=0x80e35e0, event=0xbff3e72c) at kernel/qapplication_x11.cpp:3465
#80 0xb68c05e0 in x11EventSourceDispatch (s=0x80e02e8, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#81 0xb574a509 in g_main_dispatch (context=0x80df470) at gmain.c:2440
#82 g_main_context_dispatch (context=0x80df470) at gmain.c:3013
#83 0xb574ad10 in g_main_context_iterate (context=0x80df470, block=1, dispatch=1, self=0x80ddf60) at gmain.c:3091
#84 0xb574afce in g_main_context_iteration (context=0x80df470, may_block=1) at gmain.c:3154
#85 0xb6298f7b in QEventDispatcherGlib::processEvents (this=0x80c5600, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#86 0xb68c01da in QGuiEventDispatcherGlib::processEvents (this=0x80c5600, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#87 0xb6269a6d in QEventLoop::processEvents (this=0xbff3e9e4, flags=...) at kernel/qeventloop.cpp:149
#88 0xb6269c99 in QEventLoop::exec (this=0xbff3e9e4, flags=...) at kernel/qeventloop.cpp:201
#89 0xb626e740 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#90 0xb68073d4 in QApplication::exec () at kernel/qapplication.cpp:3736
#91 0x0805bf25 in main (argc=) at /usr/src/debug/kdebase-runtime-4.6.3/drkonqi/main.cpp:109
Comment 1 Joachim Mairböck 2011-05-07 15:41:07 UTC
I actually use KDE SC 4.6.3 since today, but there is no such KDE version in Bugzilla yet.
Comment 2 Dario Andres 2011-05-08 23:25:36 UTC
Seems to have OpenSuse code ... :

#55 0xb6269c99 in QEventLoop::exec (this=0xbff3d6d4, flags=...) at
kernel/qeventloop.cpp:201
#56 0xb75ed5c2 in KSUSEInstall::run(KProcess&) () from
/opt/kde3/lib/libksuseinstall.so.1
#57 0xb75ed8c4 in KSUSEInstall::installPackages(QStringList const&, QWidget*)
() from /opt/kde3/lib/libksuseinstall.so.1
#58 0xb75f29a5 in KSUSEInstall::performInstallCapabilities(QStringList const&,
KSUSEInstall::InstallType, QWidget*, bool*) () from
/opt/kde3/lib/libksuseinstall.so.1
#59 0xb75f3190 in KSUSEInstall::installCapabilities(QStringList const&,
KSUSEInstall::InstallType, QWidget*) () from /opt/kde3/lib/libksuseinstall.so.1
#60 0xb75f367b in KSUSEInstall::installDebuginfo(QStringList const&, QWidget*)
() from /opt/kde3/lib/libksuseinstall.so.1
#61 0x0809691b in SUSEDebugPackageInstaller::installDebugPackages
(this=0x82aa0f0) at
/usr/src/debug/kdebase-runtime-4.6.3/drkonqi/susedebugpackageinstaller.cpp:47
#62 0x0805931c in BacktraceWidget::qt_metacall (this=0x8341a38,
_c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbff3daf8) at
/usr/src/debug/kdebase-runtime-4.6.3/build/drkonqi/moc_backtracewidget.cpp:114
Comment 3 Joachim Mairböck 2011-05-09 08:05:46 UTC
So should I report this to openSUSE's bugzilla instead and resolve this as downstream?
Comment 4 George Kiagiadakis 2011-05-09 15:16:02 UTC
(In reply to comment #3)
> So should I report this to openSUSE's bugzilla instead and resolve this as
> downstream?

Yes please, this is a downstream bug. I am closing this one as DOWNSTREAM.
Comment 5 Christoph Feck 2011-05-10 01:20:05 UTC
The problem here is that the installer runs an event loop, maybe to display progress bars and offering an "Abort" button.

Is DrKonqi prepared for such usage? For example, does the API provide a handle to the window, so that installer plugins can open such progress windows modal?