Patch to remove crash in khtmlpart destructor

Albert Astals Cid aacid at kde.org
Sat Jun 25 00:10:10 BST 2005


Hi, Arnold in #kde-edu told me to help him debug a segfault that happens when 
closing his kverbos app. I've tracked to what seems a khtml_part problem. I 
attach the patch that fixes the problem and the backtrace i get when closing 
kverbos after having created the khtmlpart.

I know nothing about khtml internals and that disconnect i added may be bad 
for lots of other cases. If it is please have a look at that very short code 
that is where kverbos uses the khtmlpart.
http://websvn.kde.org/trunk/playground/edu/kverbos/src/qverbviewtrainer.cpp?rev=427570&view=markup

If the khtml patch is bad it can be fixed using patch to kparts too.

Can i commit first patch? Or better do i commit second? Or is there something 
awful in khtmlpart usage in kverbos?

Thanks,

Albert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: khtml.patch
Type: text/x-diff
Size: 462 bytes
Desc: not available
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20050625/d4d90069/attachment.patch>
-------------- next part --------------
#7  0xb7a9e52c in KParts::BrowserExtension::slotEnableAction ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#8  0xb7a9f096 in KParts::BrowserExtension::qt_invoke ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#9  0xb7d79c5c in KHTMLPartBrowserExtension::qt_invoke ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#10 0xb6bad97a in QObject::activate_signal ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#11 0xb7a999a8 in KParts::BrowserExtension::enableAction ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#12 0xb7d79012 in KHTMLPartBrowserExtension::updateEditActions ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#13 0xb7d792c9 in KHTMLPartBrowserExtension::setExtensionProxy ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#14 0xb7d50db0 in KHTMLPart::slotActiveFrameChanged ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#15 0xb7d65db8 in KHTMLPart::qt_invoke ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#16 0xb6bad97a in QObject::activate_signal ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#17 0xb7a91a37 in KParts::PartManager::activePartChanged ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#18 0xb7a920b3 in KParts::PartManager::setActivePart ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#19 0xb7d56509 in KHTMLPart::~KHTMLPart ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#20 0xb7a8c246 in KParts::Part::slotWidgetDestroyed ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#21 0xb7a8c459 in KParts::Part::qt_invoke ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#22 0xb7a8c4a8 in KParts::ReadOnlyPart::qt_invoke ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#23 0xb7d65adc in KHTMLPart::qt_invoke ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#24 0xb6bad905 in QObject::activate_signal ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#25 0xb6bae203 in QObject::activate_signal ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#26 0xb6f58035 in QObject::destroyed ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#27 0xb6bac228 in QObject::~QObject ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#28 0xb6beac3d in QWidget::~QWidget ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#29 0xb6cdee93 in QScrollView::~QScrollView ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#30 0xb7d28064 in KHTMLView::~KHTMLView ()
   from /home/kdesvn/instalado/lib/libkhtml.so.4
#31 0xb6beab84 in QWidget::~QWidget ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#32 0xb61ef14c in ~QTrainer (this=0x8493960)
    at /home/kdesvn/playground/edu/kverbos/src/qtrainer.cpp:42
#33 0xb61f0d06 in ~QVerbViewTrainer (this=0x8493960)
    at /home/kdesvn/playground/edu/kverbos/src/qverbviewtrainer.cpp:64
#34 0xb6beab84 in QWidget::~QWidget ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#35 0xb6d09391 in QWidgetStack::~QWidgetStack ()
   from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#36 0xb7a8ba23 in KParts::Part::~Part ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#37 0xb7a8c040 in KParts::ReadOnlyPart::~ReadOnlyPart ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#38 0xb7a8c186 in KParts::ReadWritePart::~ReadWritePart ()
   from /home/kdesvn/instalado/lib/libkparts.so.2
#39 0xb61e7ce5 in ~KVerbosPart (this=0x81983a8)
    at /home/kdesvn/playground/edu/kverbos/src/kverbos_part.cpp:106
#40 0xb738181e in QPtrList<QObject>::deleteItem ()
   from /home/kdesvn/instalado/lib/libkdecore.so.4
#41 0xb6ecd1ce in QGList::clear () from /home/kdesvn/qt-copy/lib/libqt-mt.so.3
#42 0xb737d4ef in KLibrary::~KLibrary ()
   from /home/kdesvn/instalado/lib/libkdecore.so.4
#43 0xb737e41b in KLibLoader::close_pending ()
   from /home/kdesvn/instalado/lib/libkdecore.so.4
#44 0xb737f8aa in KLibLoader::~KLibLoader ()
   from /home/kdesvn/instalado/lib/libkdecore.so.4
#45 0xb737bfed in KLibLoader::cleanUp ()
   from /home/kdesvn/instalado/lib/libkdecore.so.4
#46 0xb72b5d98 in KApplication::~KApplication ()
   from /home/kdesvn/instalado/lib/libkdecore.so.4
#47 0x0805565c in main (argc=1, argv=0xbffff704)
    at /home/kdesvn/playground/edu/kverbos/src/main.cpp:89

-------------- next part --------------
A non-text attachment was scrubbed...
Name: kparts.patch
Type: text/x-diff
Size: 533 bytes
Desc: not available
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20050625/d4d90069/attachment-0001.patch>


More information about the kfm-devel mailing list