[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: Konqueror segfaults
From: Till Krech <till () snafu ! de>
Date: 2002-10-06 14:57:11
[Download RAW message or body]
On Sunday 06 October 2002 16:04, Shu-yu Guo wrote:
> Hello,
>
> Upon trying 3.1-beta2, konqueror crashes with a segfault upon exit. So, I
> decided to switch back to branch, unfortunately, this happens in branch as
> well. The backtrace in branch is different, and I have no idea what is
> causing this, though I'm leaning towards qt since that has changed since
> last time I used branch.
>
> FreeBSD 4.7-PRERELEASE,
> gcc version 2.95.4 20020320 [FreeBSD]
> KDE_3_0_BRANCH built from CVS
> qt-copy 3.1.0-b2
Same here.
The following code, enhanced with debug output to track down the problem,
is in kdebase/konqueror/konq_main.cc . Look at the comment!
-------------------------------------------------------------
app.exec();
//// Temporary code, waiting for Qt to do this properly
// Delete all toplevel widgets that have WDestructiveClose, so that we don't have
// any parts loaded when KLibLoader::cleanUp is called.
QWidgetList *list = QApplication::topLevelWidgets();
QWidgetListIt it(*list);
QWidget * w;
qDebug( "count: %i", list->count() );
int i=0;
while( (w=it.current()) != 0 ) {
++it;
++i;
qDebug( "#%3i: Class: %s, Name: %s", i, w->className(), w->name() );
if ( w->testWFlags( Qt::WDestructiveClose ) )
delete w;
} · ·
KonqMainWindow::s_crashlog_file->remove();
return 0;
---------------------------------------------------------------------------------------
I can see that all toplevel widgets which have the Qt::WDestructiveClose flag set
are deleted without error. It crashes afterwards and it happens exactly what the
comment says, should be avoided: a crash in KLibloader::cleanUp()
regards, till
>
> gdb's backtrace for konqueror:
> #0 0x0 in ?? ()
> #1 0x28544685 in KXMLGUI::ActionList::unplug ()
> from /usr/local/kde/lib/libkdeui.so.4
> #2 0x28545b45 in KXMLGUI::ContainerNode::unplugClient ()
> from /usr/local/kde/lib/libkdeui.so.4
> #3 0x285459e3 in KXMLGUI::ContainerNode::unplugActions ()
> from /usr/local/kde/lib/libkdeui.so.4
> #4 0x285454f6 in KXMLGUI::ContainerNode::destruct ()
> from /usr/local/kde/lib/libkdeui.so.4
> #5 0x285456d7 in KXMLGUI::ContainerNode::destructChildren ()
> from /usr/local/kde/lib/libkdeui.so.4
> #6 0x285454e9 in KXMLGUI::ContainerNode::destruct ()
> from /usr/local/kde/lib/libkdeui.so.4
> #7 0x285456d7 in KXMLGUI::ContainerNode::destructChildren ()
> from /usr/local/kde/lib/libkdeui.so.4
> #8 0x285454e9 in KXMLGUI::ContainerNode::destruct ()
> from /usr/local/kde/lib/libkdeui.so.4
> #9 0x285435ca in KXMLGUIFactory::removeClient ()
> from /usr/local/kde/lib/libkdeui.so.4
> #10 0x28197268 in KParts::Plugin::~Plugin ()
> from /usr/local/kde/lib/libkparts.so.2
> #11 0x297402b2 in DirFilterPlugin::~DirFilterPlugin ()
> from /usr/local/kde/lib/kde3/libdirfilterplugin.so
> #12 0x2858f162 in QPtrList<QObject>::deleteItem ()
> from /usr/local/kde/lib/libkdeui.so.4
> #13 0x28b9f3f0 in QGList::clear () from /usr/X11R6/qt/lib/libqt-mt.so.3
> #14 0x286e6fa2 in KLibrary::~KLibrary ()
> from /usr/local/kde/lib/libkdecore.so.4
> #15 0x286e9899 in KLibLoader::close_pending ()
> from /usr/local/kde/lib/libkdecore.so.4
> #16 0x286e8220 in KLibLoader::~KLibLoader ()
> from /usr/local/kde/lib/libkdecore.so.4
> #17 0x286e7d44 in KLibLoader::cleanUp ()
> from /usr/local/kde/lib/libkdecore.so.4
> #18 0x2867431d in KApplication::~KApplication ()
> from /usr/local/kde/lib/libkdecore.so.4
> #19 0x280ac973 in KonquerorApplication::~KonquerorApplication (
> this=0xbfbff8f8, __in_chrg=2) at konq_main.cc:53
> #20 0x280ab0b5 in main (argc=1, argv=0xbfbffa24) at konq_main.cc:143
--
Till Krech from Berlin, Germany is happy with
SuSE Linux 8.0 (i386) 2.4.18-64GB-SMP * KDE: 3.0.8 (KDE 3.1 beta2)
Qt: 3.1.0-b2 * gcc version 3.2
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic