Bug#45265: closing terminal emulation crashes konqueror

Waldo Bastian bastian at kde.org
Wed Jul 17 01:13:04 BST 2002


On Monday 15 July 2002 03:10 pm, jochen at puchalla-online.de wrote:
> Here's the backtrace:

Is this a problem in Konqy/KParts? It looks like the when the KPart gets 
deleted, the KonqViewManager first deletes the view which then triggers 
another deletion of the KPart and by the time the first attempt to delete the 
KPart is about to finalize it has already been deleted underneath it.

Valgrind says:

==5476== Invalid read of size 4
==5476==    at 0x4037C9C3: KParts::Part::~Part(void) 
(/ext/cvs/qt3-copy/include/qguardedptr.h:130)
==5476==    by 0x4037D3B7: KParts::ReadOnlyPart::~ReadOnlyPart(void) 
(part.cpp:296)
==5476==    by 0x4CDF8554: konsolePart::~konsolePart(void) 
(konsole_part.cpp:267)
==5476==    by 0x4CDF8172: konsolePart::sessionDestroyed(void) 
(konsole_part.cpp:245)
==5476==    by 0x4CE01E4F: konsolePart::qt_invoke(int, QUObject *) 
(konsole_part.moc:226)
==5476==    by 0x40D8F2D2: QObject::activate_signal(QConnectionList *, 
QUObject *) (kernel/qobject.cpp:2080)
==5476==    by 0x40D8F183: QObject::activate_signal(int) 
(kernel/qobject.cpp:2061)
==5476==    by 0x41015026: QObject::destroyed(void) 
(.moc/debug-mt/moc_qobject.cpp:101)
==5476==    by 0x40D8C61F: QObject::~QObject(void) (kernel/qobject.cpp:388)
==5476==    by 0x4CE06744: TESession::~TESession(void) (session.cpp:179)
==5476==    by 0x4CE06888: TESession::terminate(void) (session.cpp:199)
==5476==    by 0x4CDF801D: konsolePart::doneSession(TESession *, int) 
(konsole_part.cpp:236)
==5476==    by 0x4CE01E41: konsolePart::qt_invoke(int, QUObject *) 
(konsole_part.moc:225)
==5476==    by 0x40D8F2D2: QObject::activate_signal(QConnectionList *, 
QUObject *) (kernel/qobject.cpp:2080)
==5476==    by 0x4CE070F2: TESession::done(TESession *, int) (session.moc:144)
==5476==    by 0x4CE06854: TESession::done(int) (session.cpp:194)
==5476==    by 0x4CE07470: TESession::qt_invoke(int, QUObject *) 
(session.moc:203)
==5476==    by 0x40D8F2D2: QObject::activate_signal(QConnectionList *, 
QUObject *) (kernel/qobject.cpp:2080)
==5476==    by 0x40D8F4A2: QObject::activate_signal(int, int) 
(kernel/qobject.cpp:2130)
==5476==    by 0x4CDF3BAD: TEPty::done(int) (TEPty.moc:119)
==5476==    by 0x4CDF415A: TEPty::donePty(void) (TEPty.cpp:281)
==5476==    by 0x4CDF3D59: TEPty::qt_invoke(int, QUObject *) (TEPty.moc:146)
==5476==    by 0x40D8F2D2: QObject::activate_signal(QConnectionList *, 
QUObject *) (kernel/qobject.cpp:2080)
==5476==    by 0x409B7F85: KProcess::processExited(KProcess *) 
(kprocess.moc:136)
==5476==    by 0x409B6F9A: KProcess::processHasExited(int) (kprocess.cpp:576)


==5476==    Address 0x48DEBB94 is 56 bytes inside a block of size 292 free'd
==5476==    at 0x40044F32: __builtin_delete (vg_clientfuncs.c:186)
==5476==    by 0x4037CCEC: KParts::Part::~Part(void) (part.cpp:155)
==5476==    by 0x4037D260: KParts::Part::slotWidgetDestroyed(void) 
(part.cpp:260)
==5476==    by 0x4037ECFE: KParts::Part::qt_invoke(int, QUObject *) 
(part.moc:110)
==5476==    by 0x40D8F3AA: QObject::activate_signal(QConnectionList *, 
QUObject *) (kernel/qobject.cpp:2090)
==5476==    by 0x40D8F183: QObject::activate_signal(int) 
(kernel/qobject.cpp:2061)
==5476==    by 0x41015026: QObject::destroyed(void) 
(.moc/debug-mt/moc_qobject.cpp:101)
==5476==    by 0x40D8C61F: QObject::~QObject(void) (kernel/qobject.cpp:388)
==5476==    by 0x40DB77D1: QWidget::~QWidget(void) (kernel/qwidget.cpp:878)
==5476==    by 0x4CE07E0E: TEWidget::~TEWidget(void) (TEWidget.cpp:308)
==5476==    by 0x40DB7718: QWidget::~QWidget(void) (kernel/qwidget.cpp:868)
==5476==    by 0x402B1340: KonqFrame::~KonqFrame(void) (konq_frame.cc:381)
==5476==    by 0x402A675C: KonqViewManager::removeView(KonqView *) 
(konq_viewmgr.cc:267)
==5476==    by 0x402A7440: KonqViewManager::removePart(KParts::Part *) 
(konq_viewmgr.cc:328)
==5476==    by 0x4037C9BD: KParts::Part::~Part(void) (part.cpp:143)
==5476==    by 0x4037D3B7: KParts::ReadOnlyPart::~ReadOnlyPart(void) 
(part.cpp:296)
==5476==    by 0x4CDF8554: konsolePart::~konsolePart(void) 
(konsole_part.cpp:267)
==5476==    by 0x4CDF8172: konsolePart::sessionDestroyed(void) 
(konsole_part.cpp:245)
==5476==    by 0x4CE01E4F: konsolePart::qt_invoke(int, QUObject *) 
(konsole_part.moc:226)
==5476==    by 0x40D8F2D2: QObject::activate_signal(QConnectionList *, 
QUObject *) (kernel/qobject.cpp:2080)
==5476==    by 0x40D8F183: QObject::activate_signal(int) 
(kernel/qobject.cpp:2061)
==5476==    by 0x41015026: QObject::destroyed(void) 
(.moc/debug-mt/moc_qobject.cpp:101)
==5476==    by 0x40D8C61F: QObject::~QObject(void) (kernel/qobject.cpp:388)
==5476==    by 0x4CE06744: TESession::~TESession(void) (session.cpp:179)
==5476==    by 0x4CE06888: TESession::terminate(void) (session.cpp:199)


-- 
bastian at kde.org  |   SuSE Labs KDE Developer  |  bastian at suse.com





More information about the kfm-devel mailing list