Bug 167239 - Konqueror crashes when logging out of Windows Live Mail
Summary: Konqueror crashes when logging out of Windows Live Mail
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 167308 170749 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-07-22 19:01 UTC by fullmetalcoder
Modified: 2008-09-12 02:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Full backtrace (6.39 KB, text/plain)
2008-07-22 19:02 UTC, fullmetalcoder
Details

Note You need to log in before you can comment on or make changes to this bug.
Description fullmetalcoder 2008-07-22 19:01:14 UTC
Version:            (using Devel)
Installed from:    Compiled sources
Compiler:          GCC 4.2 
OS:                Linux

Konqueror crashed unexpectedly when I logged out of Windows Live Hotmail (yeah I'm still using some evil software from time to time...).
I can't tell if it was during the logout operation or after (redirection to another page)  but the backtrace is quite clear it is simply a lack of check for a NULL pointer in KHTML :

[KCrash Handler]
#5  0xb47040fb in khtml::RenderText::findInlineTextBox (this=0x0, offset=12, pos=@0xbfdd7ec8, checkFirstLetter=false) at /home/prog/kde4/source/kdelibs/khtml/rendering/render_text.cpp:814

The full backtrace is attached in case the context matters to fix another bug (e.g. a method that should not return such a null pointer...) but this is enough for a quick fix that would get rid of that segfault.
Comment 1 fullmetalcoder 2008-07-22 19:02:00 UTC
Created attachment 26344 [details]
Full backtrace
Comment 2 Christophe Marin 2008-07-22 21:14:56 UTC
[KCrash Handler]
#5  0xb47040fb in khtml::RenderText::findInlineTextBox (this=0x0, offset=12, pos=@0xbfdd7ec8, checkFirstLetter=false) at /home/prog/kde4/source/kdelibs/khtml/rendering/render_text.cpp:814
#6  0xb465e653 in startAndEndLineNodesIncludingNode (node=0x8bdfb58, offset=12, selection=@0xbfdd7fd0) at /home/prog/kde4/source/kdelibs/khtml/xml/dom_selection.cpp:814
#7  0xb465caee in DOM::Selection::validate (this=0xbfdd82cc, granularity=3218966528) at /home/prog/kde4/source/kdelibs/khtml/xml/dom_selection.cpp:633
#8  0xb465e57d in DOM::Selection::expandUsingGranularity (this=0x0, granularity=3218966528) at /home/prog/kde4/source/kdelibs/khtml/xml/dom_selection.cpp:301
#9  0xb45a662a in KHTMLPart::extendSelectionTo (this=0x834f0b0, x=1379, y=129, innerNode=@0xbfdd8344) at /home/prog/kde4/source/kdelibs/khtml/khtml_part.cpp:6484
#10 0xb45a6732 in KHTMLPart::handleMouseMoveEventSelection (this=0x834f0b0, event=0xbfdd8860) at /home/prog/kde4/source/kdelibs/khtml/khtml_part.cpp:6636
#11 0xb45ba3eb in KHTMLPart::khtmlMouseMoveEvent (this=0x834f0b0, event=0xbfdd8860) at /home/prog/kde4/source/kdelibs/khtml/khtml_part.cpp:6648
#12 0xb459e3cd in KHTMLPart::customEvent (this=0x834f0b0, event=0xbfdd8860) at /home/prog/kde4/source/kdelibs/khtml/khtml_part.cpp:6193
#13 0xb7571432 in QObject::event (this=0x834f0b0, e=0xbfdd8860) at /home/prog/kde4/source/qt-copy/src/corelib/kernel/qobject.cpp:1166
#14 0xb6ae275c in QApplicationPrivate::notify_helper (this=0x8072e48, receiver=0x834f0b0, e=0xbfdd8860) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qapplication.cpp:3772
#15 0xb6ae9179 in QApplication::notify (this=0xbfdd98b4, receiver=0x834f0b0, e=0xbfdd8860) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qapplication.cpp:3366
#16 0xb7b3e951 in KApplication::notify (this=0xbfdd98b4, receiver=0x834f0b0, event=0xbfdd8860) at /home/prog/kde4/source/kdelibs/kdeui/kernel/kapplication.cpp:311
#17 0xb75627c9 in QCoreApplication::notifyInternal (this=0xbfdd98b4, receiver=0x834f0b0, event=0xbfdd8860) at /home/prog/kde4/source/qt-copy/src/corelib/kernel/qcoreapplication.cpp:583
#18 0xb459140f in KHTMLView::mouseMoveEvent (this=0x8357f38, _mouse=0xbfdd90d0) at /usr/lib/qt4/include/QtCore/qcoreapplication.h:215
#19 0xb6b313ec in QWidget::event (this=0x8357f38, event=0xbfdd90d0) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qwidget.cpp:6912
#20 0xb6e13bf3 in QFrame::event (this=0x8357f38, e=0xbfdd90d0) at /home/prog/kde4/source/qt-copy/src/gui/widgets/qframe.cpp:657
#21 0xb458568d in KHTMLView::widgetEvent (this=0x8357f38, e=0xc) at /home/prog/kde4/source/kdelibs/khtml/khtmlview.cpp:2303
#22 0xb4585ac3 in KHTMLView::eventFilter (this=0x8357f38, o=0x83675d0, e=0xbfdd90d0) at /home/prog/kde4/source/kdelibs/khtml/khtmlview.cpp:2167
#23 0xb7562dd1 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x8072e48, receiver=0x83675d0, event=0xbfdd90d0)
    at /home/prog/kde4/source/qt-copy/src/corelib/kernel/qcoreapplication.cpp:694
#24 0xb6ae2733 in QApplicationPrivate::notify_helper (this=0x8072e48, receiver=0x83675d0, e=0xbfdd90d0) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qapplication.cpp:3768
#25 0xb6ae9745 in QApplication::notify (this=0xbfdd98b4, receiver=0x83675d0, e=0xbfdd90d0) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qapplication.cpp:3501
#26 0xb7b3e951 in KApplication::notify (this=0xbfdd98b4, receiver=0x83675d0, event=0xbfdd90d0) at /home/prog/kde4/source/kdelibs/kdeui/kernel/kapplication.cpp:311
#27 0xb75627c9 in QCoreApplication::notifyInternal (this=0xbfdd98b4, receiver=0x83675d0, event=0xbfdd90d0) at /home/prog/kde4/source/qt-copy/src/corelib/kernel/qcoreapplication.cpp:583
#28 0xb6ae8850 in QApplicationPrivate::sendMouseEvent (receiver=0x83675d0, event=0xbfdd90d0, alienWidget=0x0, nativeWidget=0x83675d0, buttonDown=0xb70f8b90, lastMouseReceiver=@0xb70f8b94)
    at ../../include/QtCore/../../../../qt-copy/src/corelib/kernel/qcoreapplication.h:218
#29 0xb6b439ac in QETWidget::translateMouseEvent (this=0x83675d0, event=0xbfdd94fc) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qapplication_x11.cpp:4133
#30 0xb6b4315a in QApplication::x11ProcessEvent (this=0xbfdd98b4, event=0xbfdd94fc) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qapplication_x11.cpp:3133
#31 0xb6b67304 in x11EventSourceDispatch (s=0x8075d68, callback=0, user_data=0x0) at /home/prog/kde4/source/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:148
#32 0xb65a650c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#33 0xb65a9b5f in ?? () from /usr/lib/libglib-2.0.so.0
Comment 3 Christophe Marin 2008-07-23 19:52:51 UTC
*** Bug 167308 has been marked as a duplicate of this bug. ***
Comment 4 Germain Garand 2008-08-31 17:08:32 UTC
SVN commit 855319 by ggarand:

must have a renderer

BUG: 167239


 M  +1 -1      dom_selection.cpp  


--- trunk/KDE/kdelibs/khtml/xml/dom_selection.cpp #855318:855319
@@ -807,7 +807,7 @@
 
 static bool startAndEndLineNodesIncludingNode(NodeImpl *node, int offset, Selection &selection)
 {
-    if (node && (node->nodeType() == Node::TEXT_NODE || node->nodeType() == Node::CDATA_SECTION_NODE)) {
+    if (node && node->renderer() && (node->nodeType() == Node::TEXT_NODE || node->nodeType() == Node::CDATA_SECTION_NODE)) {
         int pos;
         int selectionPointY;
         RenderText *renderer = static_cast<RenderText *>(node->renderer());
Comment 5 Germain Garand 2008-09-12 02:34:26 UTC
*** Bug 170749 has been marked as a duplicate of this bug. ***