Version: (using KDE KDE 3.1) Installed from: Unlisted Binary Package OS: Linux How I trigger this bug: 1. View some text file in the Konqueror embedded text viewer. 2. Start loading some slow HTML page. 3. While the gear is spinning, but before the page view changes, select "Settings" -> "Configure editor..." 4. Let the new HTML page load. 5. Click on the "Shortcuts" selector in the still-open editor config box. Boom, crash. Very reproducible, though you must go to a slow-loading web page to do step (3) successfully. A similar way to crash Konqueror, although not sure if it's the same bug: 1. Do steps 1 and 2 above. 2. Activate the "Settings" menu with ALT-S. 3. Navigate up the "Settings" menu with the arrow keys (not the mouse). As soon as the HTML page loads, you should get a crash. This is less reproducible than crash above, so it may be a different bug, though it seems related. The crash only seems to be triggered when I both (a) have selected one of the editor-related "Settings" menu entries, and (b) hit the arrow key around the time the HTML page loads. (To get this to happen, hit ALT-S, then up-arrow twice, right after you type in the URL; then do up-down-up-down etc. until the page loads.) I am using the unofficial kde-redhat 3.1 rpms (kde-redhat.sourceforge.net). FWIW, here's a backtrace for crash #1: -----begin----- (no debugging symbols found)...0x40d4c587 in waitpid () from /lib/libpthread.so.0 #0 0x40d4c587 in waitpid () from /lib/libpthread.so.0 #1 0x40580d94 in KCrash::defaultCrashHandler(int) () from /usr/lib/libkdecore.so.4 #2 0x40d4b1cd in __pthread_clock_settime () from /lib/libpthread.so.0 #3 0x40eab568 in killpg () from /lib/libc.so.6 #4 0x408cedfe in QWidget::event(QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #5 0x4085aa61 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #6 0x4085a719 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #7 0x4051ed3d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdecore.so.4 #8 0x408cdf7e in QWidget::show() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #9 0x408ce404 in QWidget::showChildren(bool) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #10 0x408cdeb7 in QWidget::show() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #11 0x4098e950 in QWidgetStack::raiseWidget(QWidget*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #12 0x403fa40e in KJanusWidget::showPage(QWidget*) () from /usr/lib/libkdeui.so.4 #13 0x403fa323 in KJanusWidget::slotShowPage() () from /usr/lib/libkdeui.so.4 #14 0x403fb8a3 in KJanusWidget::qt_invoke(int, QUObject*) () from /usr/lib/libkdeui.so.4 #15 0x408a5ec6 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #16 0x408a5da7 in QObject::activate_signal(int) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #17 0x40af84ed in QListBox::selectionChanged() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #18 0x4093e30b in QListBox::setSelected(QListBoxItem*, bool) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #19 0x4093c035 in QListBox::mousePressEventEx(QMouseEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #20 0x4093bf1a in QListBox::mousePressEvent(QMouseEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #21 0x408cece1 in QWidget::event(QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #22 0x4085aa61 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #23 0x4085a3da in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #24 0x4051ed3d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdecore.so.4 #25 0x40811f52 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #26 0x40810109 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #27 0x408210c2 in QEventLoop::processEvents(unsigned) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #28 0x4086a66d in QEventLoop::enterLoop() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #29 0x4085ac58 in QApplication::enter_loop() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #30 0x409c247c in QDialog::exec() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #31 0x419cdcb0 in KateDocument::configDialog() () from /usr/lib/kde3/libkatepart.so #32 0x419c7847 in KateDocument::qt_invoke(int, QUObject*) () from /usr/lib/kde3/libkatepart.so #33 0x408a5ec6 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #34 0x408a5da7 in QObject::activate_signal(int) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #35 0x40390933 in KAction::activated() () from /usr/lib/libkdeui.so.4 #36 0x403858a5 in KAction::slotActivated() () from /usr/lib/libkdeui.so.4 #37 0x40390a7e in KAction::qt_invoke(int, QUObject*) () from /usr/lib/libkdeui.so.4 #38 0x408a5ec6 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #39 0x40aedaca in QSignal::signal(QVariant const&) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #40 0x408ba48d in QSignal::activate() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #41 0x40965ad2 in QPopupMenu::keyPressEvent(QKeyEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #42 0x40380136 in KPopupMenu::keyPressEvent(QKeyEvent*) () from /usr/lib/libkdeui.so.4 #43 0x408ced42 in QWidget::event(QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #44 0x4085aa61 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #45 0x4085a6cd in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #46 0x4051ed3d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdecore.so.4 #47 0x40813545 in QETWidget::translateKeyEvent(_XEvent const*, bool) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #48 0x40810128 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #49 0x408210c2 in QEventLoop::processEvents(unsigned) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #50 0x4086a66d in QEventLoop::enterLoop() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #51 0x4086a53f in QEventLoop::exec() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #52 0x4085ac14 in QApplication::exec() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #53 0x4124929c in main () from /usr/lib/konqueror.so #54 0x0804c6d8 in launch(int, char const*, char const*, char const*, int, char const*, bool, char const*, bool, char const*) () #55 0x0804d10c in handle_launcher_request(int) () #56 0x0804d53c in handle_requests(int) () #57 0x0804dfe7 in main () #58 0x40e98907 in __libc_start_main () from /lib/libc.so.6
Can't reproduce (KDE 3.2)
can't reproduce too KDE 3.4.2
just reproduced with 3.5.1 from ubuntu dapper.
I can reproduce the first one ("configure editor" still open when the part was destroyed). There is a general problem with dialogs accessing part data and/or code expecting parts not being destroyed while doing an exec(). For a similar bug see #124210. Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1232001344 (LWP 19846)] [KCrash handler] #6 0x08a78c14 in ?? () #7 0xb59da614 in KateEditKeyConfiguration::showEvent (this=0x89d6d30) at katedialogs.cpp:815 #8 0xb7161c10 in QWidget::event () from /usr/share/qt3/lib/libqt-mt.so.3 #9 0xb70bce56 in QApplication::internalNotify () from /usr/share/qt3/lib/libqt-mt.so.3 #10 0xb70bdbd6 in QApplication::notify () from /usr/share/qt3/lib/libqt-mt.so.3 #11 0xb77d4659 in KApplication::notify (this=0xbfde8cf4, receiver=0x89d6d30, event=0xbfde6cf4) at kapplication.cpp:550 #12 0xb7fba542 in QApplication::sendEvent (receiver=0xb6baa648, event=0xbfde6cf4) at qapplication.h:520 #13 0xb715ea86 in QWidget::show () from /usr/share/qt3/lib/libqt-mt.so.3 #14 0xb715e514 in QWidget::showChildren () from /usr/share/qt3/lib/libqt-mt.so.3 #15 0xb715ea03 in QWidget::show () from /usr/share/qt3/lib/libqt-mt.so.3 #16 0xb7291883 in QWidgetStack::raiseWidget () from /usr/share/qt3/lib/libqt-mt.so.3 #17 0xb7b432fa in KJanusWidget::showPage (this=0x852de70, w=0x88b73c0) at kjanuswidget.cpp:597 #18 0xb7b4355a in KJanusWidget::showPage (this=0x852de70, index=8) at kjanuswidget.cpp:583 #19 0xb7b43218 in KJanusWidget::slotShowPage (this=0x852de70) at kjanuswidget.cpp:568 #20 0xb7b440b4 in KJanusWidget::qt_invoke (this=0x852de70, _id=47, _o=0xbfde6fdc) at kjanuswidget.moc:128 #21 0xb7126eb9 in QObject::activate_signal () from /usr/share/qt3/lib/libqt-mt.so.3 #22 0xb7127954 in QObject::activate_signal () from /usr/share/qt3/lib/libqt-mt.so.3 #23 0xb74ce74b in QListBox::selectionChanged () from /usr/share/qt3/lib/libqt-mt.so.3 #24 0xb7210f6e in QListBox::setSelected () from /usr/share/qt3/lib/libqt-mt.so.3 #25 0xb721382c in QListBox::mousePressEventEx () from /usr/share/qt3/lib/libqt-mt.so.3 #26 0xb7213f46 in QListBox::mousePressEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #27 0xb716164e in QWidget::event () from /usr/share/qt3/lib/libqt-mt.so.3 #28 0xb70bce56 in QApplication::internalNotify () from /usr/share/qt3/lib/libqt-mt.so.3 #29 0xb70bd3e0 in QApplication::notify () from /usr/share/qt3/lib/libqt-mt.so.3 #30 0xb77d4659 in KApplication::notify (this=0xbfde8cf4, receiver=0x87403d8, event=0xbfde750c) at kapplication.cpp:550 #31 0xb704e1c5 in QApplication::sendSpontaneousEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #32 0xb7049873 in QETWidget::translateMouseEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #33 0xb7047d59 in QApplication::x11ProcessEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #34 0xb70614db in QEventLoop::processEvents () from /usr/share/qt3/lib/libqt-mt.so.3 #35 0xb70d5947 in QEventLoop::enterLoop () from /usr/share/qt3/lib/libqt-mt.so.3 #36 0xb70bb991 in QApplication::enter_loop () from /usr/share/qt3/lib/libqt-mt.so.3 #37 0xb72da42c in QDialog::exec () from /usr/share/qt3/lib/libqt-mt.so.3 #38 0xb59ea56d in KateDocument::configDialog (this=0x8c064e8) at katedocument.cpp:1938 #39 0xb59facb4 in KateDocument::qt_invoke (this=0x8c064e8, _id=70, _o=0xbfde7f3c) at katedocument.moc:1133 #40 0xb7126eb9 in QObject::activate_signal () from /usr/share/qt3/lib/libqt-mt.so.3 #41 0xb7127954 in QObject::activate_signal () from /usr/share/qt3/lib/libqt-mt.so.3 #42 0xb7aa7060 in KAction::activated (this=0x8c064e8) at kaction.moc:176 #43 0xb7aa7a38 in KAction::slotActivated (this=0x8c0d660) at kaction.cpp:1102 #44 0xb7aaa6cd in KAction::slotPopupActivated (this=0x8c0d660) at kaction.cpp:1137 #45 0xb7aaa8c2 in KAction::qt_invoke (this=0x8c0d660, _id=16, _o=0xbfde8088) at kaction.moc:219 #46 0xb7126eb9 in QObject::activate_signal () from /usr/share/qt3/lib/libqt-mt.so.3 #47 0xb74ba29a in QSignal::signal () from /usr/share/qt3/lib/libqt-mt.so.3 #48 0xb7144630 in QSignal::activate () from /usr/share/qt3/lib/libqt-mt.so.3 #49 0xb724bfb1 in QPopupMenu::mouseReleaseEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #50 0xb7a97771 in KPopupMenu::mouseReleaseEvent (this=0x83039a0, e=0xbfde861c) at kpopupmenu.cpp:508 #51 0xb716168d in QWidget::event () from /usr/share/qt3/lib/libqt-mt.so.3 #52 0xb70bce56 in QApplication::internalNotify () from /usr/share/qt3/lib/libqt-mt.so.3 #53 0xb70bd3e0 in QApplication::notify () from /usr/share/qt3/lib/libqt-mt.so.3 #54 0xb77d4659 in KApplication::notify (this=0xbfde8cf4, receiver=0x83039a0, event=0xbfde861c) at kapplication.cpp:550 #55 0xb704e1c5 in QApplication::sendSpontaneousEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #56 0xb70495c0 in QETWidget::translateMouseEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #57 0xb7047d59 in QApplication::x11ProcessEvent () from /usr/share/qt3/lib/libqt-mt.so.3 #58 0xb70614db in QEventLoop::processEvents () from /usr/share/qt3/lib/libqt-mt.so.3 #59 0xb70d5947 in QEventLoop::enterLoop () from /usr/share/qt3/lib/libqt-mt.so.3 #60 0xb70d586a in QEventLoop::exec () from /usr/share/qt3/lib/libqt-mt.so.3 #61 0xb70bb965 in QApplication::exec () from /usr/share/qt3/lib/libqt-mt.so.3 #62 0xb66e636b in kdemain (argc=146826472, argv=0x8c064e8) at konq_main.cc:206 #63 0xb76a1694 in kdeinitmain (argc=146826472, argv=0x8c064e8) at konqueror_dummy.cc:3 #64 0x0804f56d in launch (argc=2, _name=0x8138dc4 "konqueror", args=0x8138dd7 "\001", cwd=0x0, envc=1, envs=0x8138de8 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x8c064e8 "0Hr") at kinit.cpp:673 #65 0x0804fced in handle_launcher_request (sock=9) at kinit.cpp:1240 #66 0x080502d7 in handle_requests (waitForPid=0) at kinit.cpp:1443 #67 0x08050c51 in main (argc=5, argv=0xbfde96f4, envp=0x8c064e8) at kinit.cpp:1907
I can reproduce the first crash you mention on 3.5.9 though it is somewhat shadowed by another bug that won't switch back to the khtml part on loading. I can however reproduce it by loading a pdf file. In trunk r803905 this crash appears even without clicking on "Shortcuts" in the settings dialog. The 2nd bug you mention appears in neither of the 2 versions I tested.
I can reproduce the first crash in trunk r828814 in step 4. I can not reproduce the second crash.
SVN commit 873599 by osterfeld: don't crash when the part is deleted while the config dialog is open (in such cases, I suggest to use a QPointer and check if the dialog still exists when returning from exec()) BUG:56828 M +4 -2 kateglobal.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=873599
SVN commit 873600 by osterfeld: backport 873599: don't crash when the kate part is deleted while it's config editor is open CCBUG:56828 M +4 -2 kateglobal.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=873600