Bug 86860 - Crash after font change
Summary: Crash after font change
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
: 87205 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-08-09 18:19 UTC by miro
Modified: 2004-08-17 02:25 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description miro 2004-08-09 18:19:29 UTC
Version:           0.8.922 (CVS >= 20040717) (using KDE 3.2.92 (3.3 beta2), compiled sources)
Compiler:          gcc version 3.4.1 20040714 (Red Hat 3.4.1-7)
OS:                Linux (i686) release 2.6.7-mm7

Having a chat window open
Configure->Appearance->Fonts&colors
changing font (size)
closing font dialog..OK
closing configure dialog..Crash

kutils (KSettings::Dispatcher): [static KSettings::Dispatcher* KSettings::Dispatcher::self()]
kutils (KCMultiDialog): [void KCMultiDialog::clientChanged(bool)] true
kutils (KCMultiDialog): [void KCMultiDialog::clientChanged(bool)] false
kutils (KCMultiDialog): [void KCMultiDialog::clientChanged(bool)] true
terminate called after throwing an instance of 'DOM::DOMException'
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kopete path = <unknown> pid = 10279
Comment 1 Gardner Bell 2004-08-10 20:31:14 UTC
Crashes here as well, gcc 3.3.4

Using host libthread_db library "/lib/libthread_db.so.1".
[KCrash handler]
#34 0x41dba1b1 in kill () from /lib/libc.so.6
#35 0x41c669c1 in pthread_kill () from /lib/libpthread.so.0
#36 0x41c66ccb in raise () from /lib/libpthread.so.0
#37 0x41db9df4 in raise () from /lib/libc.so.6
#38 0x41dbb5a8 in abort () from /lib/libc.so.6
#39 0x41d3c954 in __cxa_call_unexpected () from /usr/lib/./libstdc++.so.5
#40 0x41d3c991 in std::terminate () from /usr/lib/./libstdc++.so.5
#41 0x41d3cb01 in __cxa_throw () from /usr/lib/./libstdc++.so.5
#42 0x4052dc2d in DOM::HTMLElement::setInnerText (this=0x0, text=)
    at dom_exception.h:60
#43 0x42947f7e in ChatView::slotRefreshView ()
   from /home/gdcb04/kde-cvs/lib/kde3/kopete_chatwindow.so
#44 0x4294c557 in ChatView::qt_invoke ()
   from /home/gdcb04/kde-cvs/lib/kde3/kopete_chatwindow.so
#45 0x41401a9b in QObject::activate_signal (this=0x81a43e0, clist=0x83ac170, 
    o=0xbfffe700) at kernel/qobject.cpp:2356
#46 0x4140193a in QObject::activate_signal (this=0x81a43e0, signal=3)
    at kernel/qobject.cpp:2325
#47 0x40118eb7 in KopetePrefs::windowAppearanceChanged ()
   from /home/gdcb04/kde-cvs/lib/libkopete.so.1
#48 0x401179f9 in KopetePrefs::save ()
   from /home/gdcb04/kde-cvs/lib/libkopete.so.1
#49 0x42a659bf in AppearanceConfig::save ()
   from /home/gdcb04/kde-cvs/lib/kde3/kcm_kopete_appearanceconfig.so
#50 0x407d41bc in KCModuleProxy::save (this=0x8287bd8)
    at /home/gdcb04/src/kde/kdelibs/kutils/kcmoduleproxy.cpp:78
#51 0x407c58cd in KCMultiDialog::apply (this=0x826e310)
    at /home/gdcb04/src/kde/kdelibs/kutils/kcmultidialog.cpp:129
#52 0x407c5e85 in KCMultiDialog::slotOk (this=0x826e310)
    at /home/gdcb04/src/kde/kdelibs/kutils/kcmultidialog.cpp:155
#53 0x40cfbe3a in KDialogBase::qt_invoke (this=0x826e310, _id=73, 
    _o=0xbfffead0) at kdialogbase.moc:359
#54 0x407c3dec in KCMultiDialog::qt_invoke (this=0x826e310, _id=73, 
    _o=0xbfffead0) at kcmultidialog.moc:139
#55 0x41401a9b in QObject::activate_signal (this=0x82a1dd0, clist=0x82a1da8, 
    o=0xbfffead0) at kernel/qobject.cpp:2356
#56 0x4140193a in QObject::activate_signal (this=0x82a1dd0, signal=4)
    at kernel/qobject.cpp:2325
#57 0x41760e7b in QButton::clicked (this=0x82a1dd0)
    at .moc/debug-shared-mt/moc_qbutton.cpp:152
#58 0x41497401 in QButton::mouseReleaseEvent (this=0x82a1dd0, e=0xbfffeec0)
    at widgets/qbutton.cpp:837
#59 0x41439d47 in QWidget::event (this=0x82a1dd0, e=0xbfffeec0)
    at kernel/qwidget.cpp:4671
#60 0x4139ec0f in QApplication::internalNotify (this=0xbffff370, 
    receiver=0x82a1dd0, e=0xbfffeec0) at kernel/qapplication.cpp:2620
#61 0x4139e3c5 in QApplication::notify (this=0xbffff370, receiver=0x82a1dd0, 
    e=0xbfffeec0) at kernel/qapplication.cpp:2406
#62 0x40ed9c1b in KApplication::notify (this=0xbffff370, receiver=0x82a1dd0, 
    event=0xbfffeec0)
    at /home/gdcb04/src/kde/kdelibs/kdecore/kapplication.cpp:495
#63 0x41334f05 in QApplication::sendSpontaneousEvent (receiver=0x82a1dd0, 
    event=0xbfffeec0) at qapplication.h:494
#64 0x4132df0b in QETWidget::translateMouseEvent (this=0x82a1dd0, 
    event=0xbffff250) at kernel/qapplication_x11.cpp:4257
#65 0x4132bb5b in QApplication::x11ProcessEvent (this=0xbffff370, 
    event=0xbffff250) at kernel/qapplication_x11.cpp:3408
#66 0x41345fe8 in QEventLoop::processEvents (this=0x81224c0, flags=4)
    at kernel/qeventloop_x11.cpp:192
#67 0x413b2f26 in QEventLoop::enterLoop (this=0x81224c0)
    at kernel/qeventloop.cpp:198
#68 0x413b2e42 in QEventLoop::exec (this=0x81224c0)
    at kernel/qeventloop.cpp:145
#69 0x4139ed8f in QApplication::exec (this=0xbffff370)
    at kernel/qapplication.cpp:2743
#70 0x08067283 in main ()
Comment 2 Matt Hargett 2004-08-12 08:26:56 UTC
I'm seeing the same thing with 3.3 rc2. Backtrace below:

Using host libthread_db library "/lib/libthread_db.so.1".
[KCrash handler]
#6  0x41cb8bd1 in kill () from /lib/libc.so.6
#7  0x41c1d62d in pthread_kill () from /lib/libpthread.so.0
#8  0x41c1d981 in raise () from /lib/libpthread.so.0
#9  0x41cb8984 in raise () from /lib/libc.so.6
#10 0x41cb9d80 in abort () from /lib/libc.so.6
#11 0x41a85e03 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/libstdc++.so.6
#12 0x41a83c3d in __cxa_call_unexpected ()
   from /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/libstdc++.so.6
#13 0x41a83c72 in std::terminate ()
   from /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/libstdc++.so.6
#14 0x41a83dc5 in __cxa_throw ()
   from /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/libstdc++.so.6
#15 0x404a5f05 in DOM::HTMLElement::setInnerText ()
   from /usr/kde/3.3/lib/libkhtml.so.4
#16 0x41f685fd in ChatView::slotRefreshView ()
   from /usr/kde/3.3/lib/kde3/kopete_chatwindow.so
#17 0x41f74415 in ChatView::qt_invoke ()
   from /usr/kde/3.3/lib/kde3/kopete_chatwindow.so
#18 0x412d122a in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#19 0x412d1a3c in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#20 0x40106f7a in KopetePrefs::windowAppearanceChanged ()
   from /usr/kde/3.3/lib/libkopete.so.1
#21 0x40107aa8 in KopetePrefs::save () from /usr/kde/3.3/lib/libkopete.so.1
#22 0x42553331 in AppearanceConfig::save ()
   from /usr/kde/3.3/lib/kde3/kcm_kopete_appearanceconfig.so
#23 0x4072b05b in KCModuleProxy::save () from /usr/kde/3.3/lib/libkutils.so.1
#24 0x4071e378 in KCMultiDialog::apply () from /usr/kde/3.3/lib/libkutils.so.1
#25 0x4071e68a in KCMultiDialog::slotApply ()
   from /usr/kde/3.3/lib/libkutils.so.1
#26 0x40c27c56 in KDialogBase::qt_invoke ()
   from /usr/kde/3.3/lib/libkdeui.so.4
#27 0x4071dd63 in KCMultiDialog::qt_invoke ()
   from /usr/kde/3.3/lib/libkutils.so.1
#28 0x412d122a in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#29 0x412d1a3c in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#30 0x4162d6dc in QButton::clicked () from /usr/qt/3/lib/libqt-mt.so.3
#31 0x413686d6 in QButton::mouseReleaseEvent ()
   from /usr/qt/3/lib/libqt-mt.so.3
#32 0x413080e1 in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3
#33 0x4126d85f in QApplication::internalNotify ()
   from /usr/qt/3/lib/libqt-mt.so.3
#34 0x4126db26 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#35 0x40e0b965 in KApplication::notify ()
   from /usr/kde/3.3/lib/libkdecore.so.4
#36 0x412082eb in QETWidget::translateMouseEvent ()
   from /usr/qt/3/lib/libqt-mt.so.3
#37 0x41206928 in QApplication::x11ProcessEvent ()
   from /usr/qt/3/lib/libqt-mt.so.3
#38 0x4121a105 in QEventLoop::processEvents ()
   from /usr/qt/3/lib/libqt-mt.so.3
#39 0x412840f1 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#40 0x41284046 in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#41 0x4126c9bf in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#42 0x080665d0 in ?? ()
#43 0xbffff500 in ?? ()
#44 0xbffff4e0 in ?? ()
#45 0xbffff4e0 in ?? ()
#46 0x00000000 in ?? ()
#47 0x080a5f4a in typeinfo name for QGList ()
#48 0x00000001 in ?? ()
#49 0x080a6194 in typeinfo name for QGList ()
#50 0x080a5b08 in typeinfo name for QGList ()
#51 0x080a5b1d in typeinfo name for QGList ()
#52 0x080a5af4 in typeinfo name for QGList ()
#53 0x41c9bfc4 in ?? () from /lib/libc.so.6
#54 0x40f8bf74 in ?? () from /usr/kde/3.3/lib/libkdecore.so.4
#55 0x40f99e04 in kde_malloc_is_used () from /usr/kde/3.3/lib/libkdecore.so.4
#56 0x400072bf in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#57 0x41ca587f in __libc_start_main () from /lib/libc.so.6
#58 0x08065f51 in ?? ()
Comment 3 Matt Rogers 2004-08-14 17:32:21 UTC
*** Bug 87205 has been marked as a duplicate of this bug. ***
Comment 4 Richard Smith 2004-08-17 01:59:51 UTC
CVS commit by lilachaze: 

Use a slightly more robust way of finding the style tag in the document.
Fixes 86860, needs backporting.
Matt: Feel free to tell me to do my own ****ing backporting...
CCMAIL: matt@matt.rogers.name
CCMAIL: 86860@bugs.kde.org


  M +5 -2      chatview.cpp   1.156


--- kdenetwork/kopete/kopete/chatwindow/chatview.cpp  #1.155:1.156
@@ -1343,5 +1343,8 @@ void ChatView::slotRefreshNodes()
 void ChatView::slotRefreshView()
 {
-        HTMLElement styleElement = chatView->document().documentElement().firstChild().firstChild();
+        Element htmlElement = chatView->document().documentElement();
+        Element headElement = htmlElement.getElementsByTagName( QString::fromLatin1("head") ).item(0);
+        HTMLElement styleElement = headElement.getElementsByTagName( QString::fromLatin1("style") ).item(0);
+        if ( !styleElement.isNull() )
         styleElement.setInnerText( styleHTML() );
 


Comment 5 Matt Rogers 2004-08-17 02:25:28 UTC
CVS commit by mattr: 

Backport the fix for 86860. This should be in KDE 3.3.1

CCMAIL: 86860-done@bugs.kde.org


  M +4 -1      chatview.cpp   1.155.2.1


--- kdenetwork/kopete/kopete/chatwindow/chatview.cpp  #1.155:1.155.2.1
@@ -1343,5 +1343,8 @@ void ChatView::slotRefreshNodes()
 void ChatView::slotRefreshView()
 {
-        HTMLElement styleElement = chatView->document().documentElement().firstChild().firstChild();
+        Element htmlElement = chatView->document().documentElement();
+        Element headElement = htmlElement.getElementsByTagName( QString::fromLatin1("head") ).item(0);
+        HTMLElement styleElement = headElement.getElementsByTagName( QString::fromLatin1("style") ).item(0);
+        if ( !styleElement.isNull() )
         styleElement.setInnerText( styleHTML() );