Version: (using KDE KDE 3.1.94) Installed from: Gentoo Packages Compiler: gcc 3.2.3 gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r3, propolice) OS: Linux how to reproduce : - goto http://www.kochonland.com when page is loaded : - right click in both text fields and in each popup menu, change "text completion" fro "dropdown list" to "dropdown list & automatic" - once done close konqueror window ... konqueror crashes and text completion settings is not saved. expected behaviour : no crash, and completion settings remembered next time I start konqueror.
Created attachment 3702 [details] Backtrace of the crash
Created attachment 3703 [details] valgrind report of a konqueror session described in the bug report generated with : valgrind -v --num-callers=50 --trace-children=yes --leak-check=yes konqueror 2> konqueror.vg
For future reference: paste backtraces instead of attaching them so that searching is easier. [New Thread 16384 (LWP 3493)] 0x413b3137 in waitpid () from /lib/libpthread.so.0 #0 0x413b3137 in waitpid () from /lib/libpthread.so.0 #1 0x407b3b1d in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:246 #2 0x413b1fea in __pthread_sighandler () from /lib/libpthread.so.0 #3 <signal handler called> #4 0x20736968 in ?? () #5 0x4003d81b in KParts::Part::slotWidgetDestroyed() (this=0x830f6a0) at part.cpp:267 #6 0x4003f66a in KParts::Part::qt_invoke(int, QUObject*) (this=0x830f6a0, _id=2, _o=0xfffffe00) at part.moc:108 #7 0x4003facb in KParts::ReadOnlyPart::qt_invoke(int, QUObject*) ( this=0x830f6a0, _id=2, _o=0x830f6a0) at part.moc:261 #8 0x4682dca3 in KHTMLPart::qt_invoke(int, QUObject*) (this=0x830f6a0, _id=2, _o=0x830f6a0) at khtml_part.moc:531 #9 0x40c4f628 in QObject::activate_signal(QConnectionList*, QUObject*) ( this=0x85282c8, clist=0x8348cb0, o=0xbfffd7d0) at kernel/qobject.cpp:2357 #10 0x40c4f346 in QObject::activate_signal(int) (this=0x85282c8, signal=0) at kernel/qobject.cpp:2302 #11 0x4101f534 in QObject::destroyed() (this=0x85282c8) at .moc/debug-shared-mt/moc_qobject.cpp:102 #12 0x40c4b8dc in ~QObject (this=0x85282c8) at kernel/qobject.cpp:446 #13 0x40c8b5c8 in ~QWidget (this=0x85282c8) at kernel/qwidget.cpp:933 #14 0x402e2bf8 in ~QFrame (this=0xfffffe00) at kurlbar.cpp:296 #15 0x40d9a538 in ~QScrollView (this=0x85282c8) at widgets/qscrollview.cpp:635 #16 0x467fcba3 in ~KHTMLView (this=0x830f6a0) at khtmlview.cpp:350 #17 0x40c4c81a in QObject::event(QEvent*) (this=0x85282c8, e=0x84af870) at kernel/qobject.cpp:750 #18 0x40c91d05 in QWidget::event(QEvent*) (this=0x85282c8, e=0x84af870) at kernel/qwidget.cpp:4408 #19 0x40bddb95 in QApplication::internalNotify(QObject*, QEvent*) ( this=0xbfffef60, receiver=0x85282c8, e=0x84af870) at kernel/qapplication.cpp:2582 #20 0x40bdd807 in QApplication::notify(QObject*, QEvent*) (this=0xbfffef60, receiver=0x85282c8, e=0x84af870) at kernel/qapplication.cpp:2470 #21 0x4072bab9 in KApplication::notify(QObject*, QEvent*) (this=0xbfffef60, receiver=0x85282c8, event=0x84af870) at kapplication.cpp:509 #22 0x40048c2d in QApplication::sendEvent(QObject*, QEvent*) ( receiver=0xfffffe00, event=0x0) at qapplication.h:492 #23 0x40bdecaa in QApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=0) at kernel/qapplication.cpp:3204 #24 0x40bdea60 in QApplication::sendPostedEvents() () at kernel/qapplication.cpp:3115 #25 0x40b78a80 in QEventLoop::processEvents(unsigned) (this=0x80e1570, flags=15) at kernel/qeventloop_x11.cpp:144 #26 0x40b68a57 in qt_xclb_wait_for_event(_XDisplay*, unsigned long, int, _XEvent*, int) (dpy=0x8069c50, win=52429014, type=31, event=0xbfffde20, timeout=5000) at kernel/qclipboard_x11.cpp:479 #27 0x40b6ba89 in QClipboardWatcher::getDataInFormat(unsigned long) const ( this=0x84b6020, fmtatom=365) at kernel/qclipboard_x11.cpp:1381 #28 0x40b6afda in QClipboardWatcher::format(int) const (this=0x84b6020, n=0) at kernel/qclipboard_x11.cpp:1249 #29 0x40c3dbc8 in QMimeSource::provides(char const*) const (this=0x84b6020, mimeType=0x469c9cd7 "text/plain") at kernel/qmime.cpp:134 #30 0x4683ebd1 in KHTMLPartBrowserExtension::updateEditActions() ( this=0x830cfe0) at khtml_ext.cpp:266 #31 0x4683e671 in KHTMLPartBrowserExtension::setExtensionProxy(KParts::BrowserExtension*) (this=0x830cfe0, proxy=0xfffffe00) at khtml_ext.cpp:174 #32 0x4682b900 in KHTMLPart::slotActiveFrameChanged(KParts::Part*) ( this=0x830cfe0, part=0x835a978) at khtml_part.cpp:5800 #33 0x4682d90c in KHTMLPart::qt_invoke(int, QUObject*) (this=0x830f6a0, _id=0, _o=0xbfffe130) at khtml_part.moc:504 #34 0x40c4f4ee in QObject::activate_signal(QConnectionList*, QUObject*) ( this=0x83067f8, clist=0x84fe4b8, o=0xbfffe130) at kernel/qobject.cpp:2333 #35 0x400479d2 in KParts::PartManager::activePartChanged(KParts::Part*) ( this=0x83067f8, t0=0xfffffe00) at partmanager.moc:156 #36 0x40047102 in KParts::PartManager::setActivePart(KParts::Part*, QWidget*) ( this=0x83067f8, part=0x0, widget=0x0) at partmanager.cpp:443 #37 0x46811c7e in ~KHTMLPart (this=0x830f6a0) at khtml_part.cpp:415 #38 0x46815563 in KHTMLPart::clear() (this=0x82c1250) at khtml_part.cpp:1208 #39 0x46811b62 in ~KHTMLPart (this=0x82c1250) at khtml_part.cpp:432 #40 0x4196d723 in ~KonqView (this=0x8393aa8) at konq_view.cc:127 #41 0x41979215 in KonqViewManager::clear() (this=0x812d6f8) at konq_viewmgr.cc:914 #42 0x419b7ffa in KonqMainWindow::stayPreloaded() (this=0x8127718) at konq_mainwindow.cc:4947 #43 0x419b608c in KonqMainWindow::queryExit() (this=0xfffffe00) at konq_mainwindow.cc:4484 #44 0x4052e1c3 in KMainWindow::closeEvent(QCloseEvent*) (this=0x8127718, e=0xbfffe980) at kmainwindow.cpp:582 #45 0x419b5c58 in KonqMainWindow::closeEvent(QCloseEvent*) (this=0x8127718, e=0xbfffe980) at konq_mainwindow.cc:4472 #46 0x40c9220c in QWidget::event(QEvent*) (this=0x8127718, e=0xbfffe980) at kernel/qwidget.cpp:4542 #47 0x40d7534c in QMainWindow::event(QEvent*) (this=0x8127718, e=0xbfffe980) at widgets/qmainwindow.cpp:1669 #48 0x419b7ef9 in KonqMainWindow::event(QEvent*) (this=0x8127718, e=0xbfffe980) at konq_mainwindow.cc:4933 #49 0x40bddb95 in QApplication::internalNotify(QObject*, QEvent*) ( this=0xbfffef60, receiver=0x8127718, e=0xbfffe980) at kernel/qapplication.cpp:2582 #50 0x40bdd807 in QApplication::notify(QObject*, QEvent*) (this=0xbfffef60, receiver=0x8127718, e=0xbfffe980) at kernel/qapplication.cpp:2470 #51 0x4072bab9 in KApplication::notify(QObject*, QEvent*) (this=0xbfffef60, receiver=0x8127718, event=0xbfffe980) at kapplication.cpp:509 #52 0x40048c2d in QApplication::sendEvent(QObject*, QEvent*) ( receiver=0xfffffe00, event=0x0) at qapplication.h:492 #53 0x40c91638 in QWidget::close(bool) (this=0x8127718, alsoDelete=false) at kernel/qwidget.cpp:4054 #54 0x40b61287 in QETWidget::translateCloseEvent(_XEvent const*) ( this=0x8127718) at kernel/qapplication_x11.cpp:5695 #55 0x40b5abf5 in QApplication::x11ClientMessage(QWidget*, _XEvent*, bool) ( this=0xbfffef60, w=0x8127718, event=0xbfffec80, passive_only=false) at kernel/qapplication_x11.cpp:3070 #56 0x40b5c6f5 in QApplication::x11ProcessEvent(_XEvent*) (this=0xbfffef60, event=0xbfffec80) at kernel/qapplication_x11.cpp:3713 #57 0x40b78b5b in QEventLoop::processEvents(unsigned) (this=0x80e1570, flags=4) at kernel/qeventloop_x11.cpp:192 #58 0x40bf70e1 in QEventLoop::enterLoop() (this=0x80e1570) at kernel/qeventloop.cpp:198 #59 0x40bf6ffa in QEventLoop::exec() (this=0x80e1570) at kernel/qeventloop.cpp:145 #60 0x40bddd53 in QApplication::exec() (this=0xbfffef60) at kernel/qapplication.cpp:2705 #61 0x4195e5a6 in kdemain (argc=-512, argv=0xfffffe00) at konq_main.cc:177 #62 0x408b18f6 in kdeinitmain (argc=-512, argv=0xfffffe00) at konqueror_dummy.cc:2 #63 0x0804e7b1 in launch (argc=2, _name=0x8062b7c "konqueror", args=0x408b18d0 "U\211?203?030\213U\f\211]?\201?\022", cwd=0x0, envc=1, envs=0xbffff0b0 "@y#A", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0xfffffe00 <Address 0xfffffe00 out of bounds>) at kinit.cpp:604 #64 0x080507a6 in handle_launcher_request (sock=8) at kinit.cpp:1167 #65 0x0804f548 in handle_requests (waitForPid=0) at kinit.cpp:1360 #66 0x0804d4f6 in main (argc=3, argv=0xbffff584, envp=0xfffffe00) at kinit.cpp:1797 #67 0x4150d90c in __libc_start_main () from /lib/libc.so.6
Out of the long valgrind log (thanks for being thorough!), this is probably the interesting part: ==3797== Invalid read of size 4 ==3797== at 0x55400CA0: KHTMLPart::~KHTMLPart() (khtml_part.cpp:415) ==3797== by 0x403BF81A: KParts::Part::slotWidgetDestroyed() (part.cpp:267) ==3797== by 0x403C1669: KParts::Part::qt_invoke(int, QUObject*) (part.moc:108) ==3797== by 0x403C1ACA: KParts::ReadOnlyPart::qt_invoke(int, QUObject*) (part.moc:261) ==3797== by 0x5541CCA2: KHTMLPart::qt_invoke(int, QUObject*) (khtml_part.moc:531) ==3797== by 0x40FD2627: QObject::activate_signal(QConnectionList*, QUObject*) (qobject.cpp:2357) ==3797== by 0x40FD2345: QObject::activate_signal(int) (qobject.cpp:2302) ==3797== by 0x413A2533: QObject::destroyed() (moc_qobject.cpp:102) ==3797== by 0x40FCE8DB: QObject::~QObject() (qobject.cpp:446) ==3797== by 0x4100E5C7: QWidget::~QWidget() (qwidget.cpp:933) ==3797== by 0x40368277: QFrame::~QFrame() (konq_iconviewwidget.cc:63) ==3797== by 0x4111D537: QScrollView::~QScrollView() (qscrollview.cpp:635) ==3797== by 0x553EBBA2: KHTMLView::~KHTMLView() (khtmlview.cpp:350) ==3797== by 0x40FCF819: QObject::event(QEvent*) (qobject.cpp:750) ==3797== by 0x41014D04: QWidget::event(QEvent*) (qwidget.cpp:4408) ==3797== by 0x40F60B94: QApplication::internalNotify(QObject*, QEvent*) (qapplication.cpp:2582) ==3797== by 0x40F60806: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:2470) ==3797== by 0x40AAEAB8: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:509) ==3797== by 0x402A2ABC: QApplication::sendEvent(QObject*, QEvent*) (qapplication.h:492) ==3797== by 0x40F61CA9: QApplication::sendPostedEvents(QObject*, int) (qapplication.cpp:3204) ==3797== by 0x40F61A5F: QApplication::sendPostedEvents() (qapplication.cpp:3115) ==3797== by 0x40EFBA7F: QEventLoop::processEvents(unsigned) (qeventloop_x11.cpp:144) ==3797== by 0x40EEBA56: qt_xclb_wait_for_event(_XDisplay*, unsigned long, int, _XEvent*, int) (qclipboard_x11.cpp:479) ==3797== by 0x40EEEA88: QClipboardWatcher::getDataInFormat(unsigned long) const (qclipboard_x11.cpp:1381) ==3797== by 0x40EEDFD9: QClipboardWatcher::format(int) const (qclipboard_x11.cpp:1249) ==3797== by 0x40FC0BC7: QMimeSource::provides(char const*) const (qmime.cpp:134) ==3797== by 0x5542DBD0: KHTMLPartBrowserExtension::updateEditActions() (khtml_ext.cpp:266) ==3797== by 0x5542D670: KHTMLPartBrowserExtension::setExtensionProxy(KParts::BrowserExtension*) (khtml_ext.cpp:174) ==3797== by 0x5541A8FF: KHTMLPart::slotActiveFrameChanged(KParts::Part*) (khtml_part.cpp:5800) ==3797== by 0x5541C90B: KHTMLPart::qt_invoke(int, QUObject*) (khtml_part.moc:504) ==3797== by 0x40FD24ED: QObject::activate_signal(QConnectionList*, QUObject*) (qobject.cpp:2333) ==3797== by 0x403C99D1: KParts::PartManager::activePartChanged(KParts::Part*) (partmanager.moc:156) ==3797== by 0x403C9101: KParts::PartManager::setActivePart(KParts::Part*, QWidget*) (partmanager.cpp:443) ==3797== by 0x55400C7D: KHTMLPart::~KHTMLPart() (khtml_part.cpp:415) ==3797== by 0x55404562: KHTMLPart::clear() (khtml_part.cpp:1208) ==3797== by 0x55400B61: KHTMLPart::~KHTMLPart() (khtml_part.cpp:432) ==3797== by 0x4029C722: KonqView::~KonqView() (konq_view.cc:127) ==3797== by 0x402A8214: KonqViewManager::clear() (konq_viewmgr.cc:914) ==3797== by 0x402E6FF9: KonqMainWindow::stayPreloaded() (konq_mainwindow.cc:4947) ==3797== by 0x402E508B: KonqMainWindow::queryExit() (konq_mainwindow.cc:4484) ==3797== by 0x408B11C2: KMainWindow::closeEvent(QCloseEvent*) (kmainwindow.cpp:582) ==3797== by 0x402E4C57: KonqMainWindow::closeEvent(QCloseEvent*) (konq_mainwindow.cc:4472) ==3797== by 0x4101520B: QWidget::event(QEvent*) (qwidget.cpp:4542) ==3797== by 0x410F834B: QMainWindow::event(QEvent*) (qmainwindow.cpp:1669) ==3797== by 0x402E6EF8: KonqMainWindow::event(QEvent*) (konq_mainwindow.cc:4933) ==3797== by 0x40F60B94: QApplication::internalNotify(QObject*, QEvent*) (qapplication.cpp:2582) ==3797== by 0x40F60806: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:2470) ==3797== by 0x40AAEAB8: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:509) ==3797== by 0x402A2ABC: QApplication::sendEvent(QObject*, QEvent*) (qapplication.h:492) ==3797== by 0x41014637: QWidget::close(bool) (qwidget.cpp:4054) ==3797== Address 0x53D8A81C is 40 bytes inside a block of size 208 free'd ==3797== at 0x40029DF1: __builtin_delete (in /usr/lib/valgrind/vgskin_memcheck.so) ==3797== by 0x40029E1C: operator delete(void*) (in /usr/lib/valgrind/vgskin_memcheck.so) ==3797== by 0x4083C13C: KPopupMenu::~KPopupMenu() (kpopupmenu.cpp:177) ==3797== by 0x55400CAB: KHTMLPart::~KHTMLPart() (khtml_part.cpp:415) ==3797== by 0x55404562: KHTMLPart::clear() (khtml_part.cpp:1208) ==3797== by 0x55400B61: KHTMLPart::~KHTMLPart() (khtml_part.cpp:432) ==3797== by 0x4029C722: KonqView::~KonqView() (konq_view.cc:127) ==3797== by 0x402A8214: KonqViewManager::clear() (konq_viewmgr.cc:914) ==3797== by 0x402E6FF9: KonqMainWindow::stayPreloaded() (konq_mainwindow.cc:4947) ==3797== by 0x402E508B: KonqMainWindow::queryExit() (konq_mainwindow.cc:4484) ==3797== by 0x408B11C2: KMainWindow::closeEvent(QCloseEvent*) (kmainwindow.cpp:582) ==3797== by 0x402E4C57: KonqMainWindow::closeEvent(QCloseEvent*) (konq_mainwindow.cc:4472) ==3797== by 0x4101520B: QWidget::event(QEvent*) (qwidget.cpp:4542) ==3797== by 0x410F834B: QMainWindow::event(QEvent*) (qmainwindow.cpp:1669) ==3797== by 0x402E6EF8: KonqMainWindow::event(QEvent*) (konq_mainwindow.cc:4933) ==3797== by 0x40F60B94: QApplication::internalNotify(QObject*, QEvent*) (qapplication.cpp:2582) ==3797== by 0x40F60806: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:2470) ==3797== by 0x40AAEAB8: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:509) ==3797== by 0x402A2ABC: QApplication::sendEvent(QObject*, QEvent*) (qapplication.h:492) ==3797== by 0x41014637: QWidget::close(bool) (qwidget.cpp:4054) ==3797== by 0x40EE4286: QETWidget::translateCloseEvent(_XEvent const*) (qapplication_x11.cpp:5695) ==3797== by 0x40EDDBF4: QApplication::x11ClientMessage(QWidget*, _XEvent*, bool) (qapplication_x11.cpp:3070) ==3797== by 0x40EDF6F4: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3713) ==3797== by 0x40EFBB5A: QEventLoop::processEvents(unsigned) (qeventloop_x11.cpp:192) ==3797== by 0x40F7A0E0: QEventLoop::enterLoop() (qeventloop.cpp:198) ==3797== by 0x40F79FF9: QEventLoop::exec() (qeventloop.cpp:145) ==3797== by 0x40F60D52: QApplication::exec() (qapplication.cpp:2705) ==3797== by 0x4028D5A5: kdemain (konq_main.cc:177) ==3797== by 0x804861A: main (konqueror.la.cc:2) ==3797== by 0x4186B90B: __libc_start_main (in /lib/libc-2.3.2.so) ==3797== by 0x8048560: (within /usr/kde/3.2/bin/konqueror)
*** Bug 70422 has been marked as a duplicate of this bug. ***
*** Bug 70468 has been marked as a duplicate of this bug. ***
I can't reproduce the bug using the same instructions, but I can reproduce it. I went to the page, typed a letter in the identification input and closed Konqueror. The crash happened at the exact same line in part.cpp: void Part::slotWidgetDestroyed() { kdDebug(1000) << "KPart::slotWidgetDestroyed(), deleting part " << name() << endl; m_widget = 0; delete this; <=== crash happens on this line } The valgrind log seems to indicate a double deletion of the KPart.
My own valgrind, with line numbers respective of CVS HEAD 20031214 (yesterday morning). According to the stacktrace at the moment of the crash, it would seem the part had already been deleted, but it still received the QObject::destroyed signal. I could be wrong, but it seems like a Qt bug. Any further opinions? ==922645== Invalid read of size 4 ==922645== at 0x49CC5857: KHTMLPart::~KHTMLPart() (khtml_part.cpp:406) ==922645== by 0x4034DD66: KParts::Part::slotWidgetDestroyed() (part.cpp:267) ==922645== by 0x4034FA7F: KParts::Part::qt_invoke(int, QUObject*) (part.moc:108) ==922645== by 0x4034FDA6: KParts::ReadOnlyPart::qt_invoke(int, QUObject*) (part.moc:261) ==922645== by 0x49CE0288: KHTMLPart::qt_invoke(int, QUObject*) (khtml_part.moc:531) ==922645== by 0x40D72D86: QObject::activate_signal(QConnectionList*, QUObject*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40D72C04: QObject::activate_signal(int) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x4109CFAB: QObject::destroyed() (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40D6FEC9: QObject::~QObject() (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40DA432D: QWidget::~QWidget() (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40E87C5A: QScrollView::~QScrollView() (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x49CB31EC: KHTMLView::~KHTMLView() (qstring.h:848) ==922645== by 0x40D70AC0: QObject::event(QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40DA97B9: QWidget::event(QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40D156E8: QApplication::internalNotify(QObject*, QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40D14D17: QApplication::notify(QObject*, QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x409221E1: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:509) ==922645== by 0x40D16551: QApplication::sendPostedEvents(QObject*, int) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40D163DF: QApplication::sendPostedEvents() (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40CBFE74: QEventLoop::processEvents(unsigned) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== Address 0x48703760 is 0 bytes inside a block of size 208 free'd ==922645== at 0x401629DF: __builtin_delete (in /usr/lib/valgrind/valgrind.so) ==922645== by 0x401629FD: operator delete(void*) (in /usr/lib/valgrind/valgrind.so) ==922645== by 0x4072A85E: KPopupMenu::~KPopupMenu() (kpopupmenu.cpp:177) ==922645== by 0x49CC585C: KHTMLPart::~KHTMLPart() (khtml_part.cpp:406) ==922645== by 0x49CC900C: KHTMLPart::clear() (qguardedptr.h:186) ==922645== by 0x49CC5938: KHTMLPart::~KHTMLPart() (khtml_part.cpp:431) ==922645== by 0x40256EDB: KonqView::~KonqView() (konq_view.cc:127) ==922645== by 0x40262457: KonqViewManager::clear() (qptrlist.h:174) ==922645== by 0x4029DBD4: KonqMainWindow::stayPreloaded() (konq_mainwindow.h:127) ==922645== by 0x4029B4C1: KonqMainWindow::queryExit() (konq_mainwindow.cc:4484) ==922645== by 0x4078427A: KMainWindow::closeEvent(QCloseEvent*) (kmainwindow.cpp:582) ==922645== by 0x4029B3A3: KonqMainWindow::closeEvent(QCloseEvent*) (konq_mainwindow.cc:4472) ==922645== by 0x40DA9980: QWidget::event(QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40E6BF66: QMainWindow::event(QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x4029DB25: KonqMainWindow::event(QEvent*) (konq_mainwindow.cc:4933) ==922645== by 0x40D156E8: QApplication::internalNotify(QObject*, QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40D14D17: QApplication::notify(QObject*, QEvent*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x409221E1: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:509) ==922645== by 0x40DA92AC: QWidget::close(bool) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3) ==922645== by 0x40CAF8FF: QETWidget::translateCloseEvent(_XEvent const*) (in /home/thiago/programs/obj-linux/kde/qt-copy/lib/libqt-mt.so.3.2.3)
*** Bug 72482 has been marked as a duplicate of this bug. ***
Subject: QClipboard causes unexpected recursion leading to crashes QClipboard triggers the eventloop which causes unexpected recursion leading to crashes such as http://bugs.kde.org/show_bug.cgi?id=70430 Although an attempt was made to stop the recursion somewhat by excluding several events (see below), this isn't enough. qclipboard_x11.cpp:479 qApp->eventLoop()->processEvents( QEventLoop::ExcludeUserInput | QEventLoop::ExcludeSocketNotifiers | QEventLoop::WaitForMore | 0x08 ); In particular, posted events such as DeferredDelete are still being processed due to processEvents() calling QApplication::sendPostedEvents() Cheers, Waldo
*** This bug has been marked as a duplicate of 61412 ***