Bug 264819 - ark crash while exiting
Summary: ark crash while exiting
Status: RESOLVED FIXED
Alias: None
Product: ark
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Raphael Kubo da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-30 03:11 UTC by jorge salgueiro
Modified: 2011-05-12 23:25 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.6.4


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jorge salgueiro 2011-01-30 03:11:54 UTC
Application: ark (2.16)
KDE Platform Version: 4.6.00 (4.6.0)
Qt Version: 4.7.1
Operating System: Linux 2.6.35.10-74.fc14.i686 i686
Distribution: "Fedora release 14 (Laughlin)"

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

I was exiting the app and the bugzilla app pop. Cant reproduce it.

-- Backtrace:
Application: Ark (ark), signal: Aborted
[KCrash Handler]
#7  0x003c1416 in __kernel_vsyscall ()
#8  0x0158a2f1 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0x0158bd5e in abort () at abort.c:92
#10 0x015c651d in __libc_message (do_abort=2, fmt=0x16ab6ec "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:186
#11 0x015cdfb6 in malloc_printerr (av=0x16e63a0, p=0xbfc6c494, have_lock=0) at malloc.c:6283
#12 _int_free (av=0x16e63a0, p=0xbfc6c494, have_lock=0) at malloc.c:4795
#13 0x00674fc2 in operator delete (ptr=0xbfc6c49c) at ../../../../libstdc++-v3/libsupc++/del_op.cc:44
#14 0x009f92ab in KFileDialog::~KFileDialog (this=0xbfc6c49c, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.0/kio/kfile/kfiledialog.cpp:326
#15 0x06272038 in QObjectPrivate::deleteChildren (this=0x84a6e60) at kernel/qobject.cpp:1949
#16 0x0490f359 in QWidget::~QWidget (this=0x84aa558, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1600
#17 0x04d115f2 in QFrame::~QFrame (this=0x84aa558, __in_chrg=<value optimized out>) at widgets/qframe.cpp:240
#18 0x04d75413 in QSplitter::~QSplitter (this=0x84aa558, __in_chrg=<value optimized out>) at widgets/qsplitter.cpp:1050
#19 0x04d75473 in QSplitter::~QSplitter (this=0x84aa558, __in_chrg=<value optimized out>) at widgets/qsplitter.cpp:1056
#20 0x00bae844 in KParts::Part::~Part (this=0x8401138, __vtt_parm=0x2c6b52c, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.0/kparts/part.cpp:209
#21 0x00bafc0b in KParts::ReadOnlyPart::~ReadOnlyPart (this=0x8401138, __vtt_parm=0x2c6b528, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.0/kparts/part.cpp:462
#22 0x00bafd50 in KParts::ReadWritePart::~ReadWritePart (this=0x8401138, __vtt_parm=0x2c6b524, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.0/kparts/part.cpp:775
#23 0x02c49c53 in Ark::Part::~Part (this=0x8401138, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /usr/src/debug/kdeutils-4.6.0/ark/part/part.cpp:130
#24 0x02c49cd3 in Ark::Part::~Part (this=0x8401138, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /usr/src/debug/kdeutils-4.6.0/ark/part/part.cpp:136
#25 0x080548b4 in MainWindow::~MainWindow (this=0x83e71a8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /usr/src/debug/kdeutils-4.6.0/ark/app/mainwindow.cpp:72
#26 0x08054993 in MainWindow::~MainWindow (this=0x83e71a8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /usr/src/debug/kdeutils-4.6.0/ark/app/mainwindow.cpp:74
#27 0x06271036 in qDeleteInEventHandler (o=0x83e71a8) at kernel/qobject.cpp:3980
#28 0x062738e0 in QObject::event (this=0x83e71a8, e=0x8766450) at kernel/qobject.cpp:1194
#29 0x04913f63 in QWidget::event (this=0x83e71a8, event=0x8766450) at kernel/qwidget.cpp:8659
#30 0x04d2f227 in QMainWindow::event (this=0x83e71a8, event=0x8766450) at widgets/qmainwindow.cpp:1478
#31 0x0112ea14 in KMainWindow::event (this=0x83e71a8, ev=0x8766450) at /usr/src/debug/kdelibs-4.6.0/kdeui/widgets/kmainwindow.cpp:1100
#32 0x01170830 in KXmlGuiWindow::event (this=0x83e71a8, ev=0x8766450) at /usr/src/debug/kdelibs-4.6.0/kdeui/xmlgui/kxmlguiwindow.cpp:126
#33 0x048baf4c in QApplicationPrivate::notify_helper (this=0x831fc70, receiver=0x83e71a8, e=0x8766450) at kernel/qapplication.cpp:4445
#34 0x048bfc5f in QApplication::notify (this=0xbfc6d8cc, receiver=0x83e71a8, e=0x8766450) at kernel/qapplication.cpp:4410
#35 0x0104e17b in KApplication::notify (this=0xbfc6d8cc, receiver=0x83e71a8, event=0x8766450) at /usr/src/debug/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#36 0x0625e093 in QCoreApplication::notifyInternal (this=0xbfc6d8cc, receiver=0x83e71a8, event=0x8766450) at kernel/qcoreapplication.cpp:732
#37 0x06261de5 in sendEvent (receiver=0x0, event_type=0, data=0x83098b8) at kernel/qcoreapplication.h:215
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x83098b8) at kernel/qcoreapplication.cpp:1373
#39 0x06261fbe in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#40 0x0628bc15 in sendPostedEvents (s=0x8321f78) at kernel/qcoreapplication.h:220
#41 postEventSourceDispatch (s=0x8321f78) at kernel/qeventdispatcher_glib.cpp:277
#42 0x06d86192 in g_main_dispatch (context=0x8321ef8) at gmain.c:2149
#43 g_main_context_dispatch (context=0x8321ef8) at gmain.c:2702
#44 0x06d86978 in g_main_context_iterate (context=0x8321ef8, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#45 0x06d86c35 in g_main_context_iteration (context=0x8321ef8, may_block=1) at gmain.c:2843
#46 0x0628bd8d in QEventDispatcherGlib::processEvents (this=0x8309368, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#47 0x0496e0e6 in QGuiEventDispatcherGlib::processEvents (this=0x8309368, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#48 0x0625d22a in QEventLoop::processEvents (this=0xbfc6c420, flags=...) at kernel/qeventloop.cpp:149
#49 0x0625d4da in QEventLoop::exec (this=0xbfc6c420, flags=...) at kernel/qeventloop.cpp:201
#50 0x04de7a24 in QDialog::exec (this=0xbfc6c49c) at dialogs/qdialog.cpp:552
#51 0x009fbde1 in KFileDialogPrivate::getOpenFileNames (startDir=..., filter=..., parent=0x84aa558, caption=..., selectedFilter=0x0) at /usr/src/debug/kdelibs-4.6.0/kio/kfile/kfiledialog.cpp:550
#52 0x009fc277 in KFileDialog::getOpenFileNames (startDir=..., filter=..., parent=0x84aa558, caption=...) at /usr/src/debug/kdelibs-4.6.0/kio/kfile/kfiledialog.cpp:526
#53 0x02c4bf9a in Ark::Part::slotAddFiles (this=0x8401138) at /usr/src/debug/kdeutils-4.6.0/ark/part/part.cpp:752
#54 0x02c48d5b in Ark::Part::qt_metacall (this=0x8401138, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbfc6c718) at /usr/src/debug/kdeutils-4.6.0/i686-redhat-linux-gnu/ark/part/moc_part.cpp:139
#55 0x062648cb in QMetaObject::metacall (object=0x8401138, cl=QMetaObject::InvokeMetaMethod, idx=33, argv=0xbfc6c718) at kernel/qmetaobject.cpp:237
#56 0x06273da7 in QMetaObject::activate (sender=0x84ecd00, m=0x51fd5d8, local_signal_index=1, argv=0xbfc6c718) at kernel/qobject.cpp:3272
#57 0x048b3caa in QAction::triggered (this=0x84ecd00, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#58 0x048b3f2b in QAction::activate (this=0x84ecd00, event=QAction::Trigger) at kernel/qaction.cpp:1257
#59 0x04d5393d in QMenuPrivate::activateCausedStack (this=0x850da28, causedStack=..., action=0x84ecd00, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:993
#60 0x04d5a493 in QMenuPrivate::activateAction (this=0x850da28, action=0x84ecd00, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1085
#61 0x04d5b37e in QMenu::mouseReleaseEvent (this=0x850da08, e=0xbfc6cfc4) at widgets/qmenu.cpp:2301
#62 0x01131575 in KMenu::mouseReleaseEvent (this=0x850da08, e=0xbfc6cfc4) at /usr/src/debug/kdelibs-4.6.0/kdeui/widgets/kmenu.cpp:458
#63 0x0491453b in QWidget::event (this=0x850da08, event=0xbfc6cfc4) at kernel/qwidget.cpp:8200
#64 0x04d5b847 in QMenu::event (this=0x850da08, e=0xbfc6cfc4) at widgets/qmenu.cpp:2410
#65 0x048baf4c in QApplicationPrivate::notify_helper (this=0x831fc70, receiver=0x850da08, e=0xbfc6cfc4) at kernel/qapplication.cpp:4445
#66 0x048c056d in QApplication::notify (this=0xbfc6d8cc, receiver=0x850da08, e=0xbfc6cfc4) at kernel/qapplication.cpp:4006
#67 0x0104e17b in KApplication::notify (this=0xbfc6d8cc, receiver=0x850da08, event=0xbfc6cfc4) at /usr/src/debug/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#68 0x0625e093 in QCoreApplication::notifyInternal (this=0xbfc6d8cc, receiver=0x850da08, event=0xbfc6cfc4) at kernel/qcoreapplication.cpp:732
#69 0x048bbed8 in sendSpontaneousEvent (receiver=0x850da08, event=0xbfc6cfc4, alienWidget=0x0, nativeWidget=0x850da08, buttonDown=0x5219960, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:218
#70 QApplicationPrivate::sendMouseEvent (receiver=0x850da08, event=0xbfc6cfc4, alienWidget=0x0, nativeWidget=0x850da08, buttonDown=0x5219960, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3103
#71 0x0494540c in QETWidget::translateMouseEvent (this=0x850da08, event=0xbfc6d4fc) at kernel/qapplication_x11.cpp:4372
#72 0x04943637 in QApplication::x11ProcessEvent (this=0xbfc6d8cc, event=0xbfc6d4fc) at kernel/qapplication_x11.cpp:3564
#73 0x0496e470 in x11EventSourceDispatch (s=0x8322e00, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#74 0x06d86192 in g_main_dispatch (context=0x8321ef8) at gmain.c:2149
#75 g_main_context_dispatch (context=0x8321ef8) at gmain.c:2702
#76 0x06d86978 in g_main_context_iterate (context=0x8321ef8, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#77 0x06d86c35 in g_main_context_iteration (context=0x8321ef8, may_block=1) at gmain.c:2843
#78 0x0628bd8d in QEventDispatcherGlib::processEvents (this=0x8309368, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#79 0x0496e0e6 in QGuiEventDispatcherGlib::processEvents (this=0x8309368, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#80 0x0625d22a in QEventLoop::processEvents (this=0xbfc6d7d4, flags=...) at kernel/qeventloop.cpp:149
#81 0x0625d4da in QEventLoop::exec (this=0xbfc6d7d4, flags=...) at kernel/qeventloop.cpp:201
#82 0x06262087 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#83 0x048b8d58 in QApplication::exec () at kernel/qapplication.cpp:3719
#84 0x08053bbb in main (argc=) at /usr/src/debug/kdeutils-4.6.0/ark/app/main.cpp:209

Possible duplicates by query: bug 263711, bug 257160, bug 256077, bug 251179, bug 243262.

Reported using DrKonqi
Comment 1 Raphael Kubo da Costa 2011-05-11 23:25:58 UTC
It is quite hard to work on a bug which is not easily reproducible, and it looks like the error is probably elsewhere.

For now, I'm closing the report; should you have more information or a way to reproduce the bug, please reopen it. Thanks.
Comment 2 Christoph Feck 2011-05-12 00:00:22 UTC
Steps to reproduce are in the backtrace :P

1. run "ark"
2. click "New" and type "test.tar" in "Save As" dialog
3. click "Add File"
4. close Ark Main window behind the "Add Files" dialog
=> crash

The "Add Files" dialog should be modal.
Comment 3 Raphael Kubo da Costa 2011-05-12 00:06:25 UTC
OK, reopening it then.
Comment 4 Raphael Kubo da Costa 2011-05-12 23:22:30 UTC
SVN commit 1231646 by rkcosta:

Do not pass widget(), which is a QSplitter, as a parent to KFileDialog.

Oh, we all love nested event loops. A QSplitter is passed as a parent to
KFileDialog, which creates a KFileWidget. KFileWidget runs a nested event loop
to stat the specified directory, which leads to posted events being processed,
including QSplitter::childEvent(). childEvent() calls KFileDialog::show(),
which shows the KFileDialog in a non-modal state. When KFileDialog::exec() is
called, the dialog is already shown and is non-modal.

BUG: 264819
FIXED-IN: 4.6.4


 M  +14 -1     part.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1231646
Comment 5 Raphael Kubo da Costa 2011-05-12 23:23:59 UTC
SVN commit 1231647 by rkcosta:

Do not pass widget(), which is a QSplitter, as a parent to KFileDialog.

Oh, we all love nested event loops. A QSplitter is passed as a parent to
KFileDialog, which creates a KFileWidget. KFileWidget runs a nested event loop
to stat the specified directory, which leads to posted events being processed,
including QSplitter::childEvent(). childEvent() calls KFileDialog::show(),
which shows the KFileDialog in a non-modal state. When KFileDialog::exec() is
called, the dialog is already shown and is non-modal.

Forwardport of r1231646.

CCBUG: 264819


 M  +14 -1     part.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1231647
Comment 6 Raphael Kubo da Costa 2011-05-12 23:25:41 UTC
SVN commit 1231648 by rkcosta:

Mention Ark bug 264819.

CCBUG: 264819


 M  +1 -0      changelog_branch_4_6.xml  


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