Bug 188445 - Konqueror freezes trying to write comment on Google Summer of Code 2009 application
Summary: Konqueror freezes trying to write comment on Google Summer of Code 2009 appli...
Status: CONFIRMED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-30 04:30 UTC by Jure Repinc
Modified: 2020-08-18 01:50 UTC (History)
2 users (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 Jure Repinc 2009-03-30 04:30:35 UTC
Version:            (using Devel)
Compiler:          GCC 4.3.3 AMD64
OS:                Linux
Installed from:    Compiled sources

This happens with Konqueror from KDE 4.2.1 and I also tried with KDE from SVN (kdelibs r946556, kdebase r946564) and get the same problem.

Steps to reproduce:
1. Visit http://socghop.appspot.com/ and sign in
2. Open any submitted application for KDE
3. Start typing a comment into the editor at the end of application

Result:
Konqueror freezes and starts using all CPU. If I attach with GDB to the proces I get this:

0x00007ff996602603 in DOM::NodeImpl::isBlockFlow (this=0x40b1310) at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:1153
1153        return renderer() && renderer()->isBlockFlow();                                                                         
(gdb) where                                                                                                                         
#0  0x00007ff996602603 in DOM::NodeImpl::isBlockFlow (this=0x40b1310) at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:1153
#1  0x00007ff99660269c in DOM::NodeImpl::enclosingBlockFlowElement (this=0x524b3b0)                                                     
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:1171                                                                  
#2  0x00007ff99663df56 in DOM::Position::equivalentDownstreamPosition (this=0x7fffab4c6260)                                             
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_position.cpp:506                                                                   
#3  0x00007ff996816ddd in khtml::DeleteCollapsibleWhitespaceCommandImpl::deleteWhitespace (this=0x51b1b90, pos=@0x7fffab4c6260)         
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:974                                                           
#4  0x00007ff996818995 in khtml::DeleteCollapsibleWhitespaceCommandImpl::doApply (this=0x51b1b90)                                       
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:1058                                                          
#5  0x00007ff99681152d in khtml::EditCommandImpl::apply (this=0x51b1b90)                                                                
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:251                                                           
#6  0x00007ff99680c05d in khtml::EditCommand::apply (this=0x7fffab4c65e0) at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting.cpp:104
#7  0x00007ff996814cdf in khtml::CompositeEditCommandImpl::applyCommandToComposite (this=0x524be70, cmd=@0x7fffab4c65e0)                      
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:377                                                                 
#8  0x00007ff9968158be in khtml::CompositeEditCommandImpl::deleteCollapsibleWhitespace (this=0x524be70)                                       
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:503                                                                 
#9  0x00007ff99681ff35 in khtml::InputTextCommandImpl::execute (this=0x524be70, text=@0x7fffab4c6b50)                                         
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:1645                                                                
#10 0x00007ff996820337 in khtml::InputTextCommandImpl::input (this=0x524be70, text=@0x7fffab4c6b50)                                           
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:1537                                                                
#11 0x00007ff99680d98e in khtml::InputTextCommand::input (this=0x7fffab4c6830, text=@0x7fffab4c6b50)                                          
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting.cpp:372                                                                      
#12 0x00007ff996814ed3 in khtml::TypingCommandImpl::insertText (this=0x524bcb0, text=@0x7fffab4c6b50)                                         
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting_impl.cpp:2378                                                                
#13 0x00007ff99680c806 in khtml::TypingCommand::insertText (this=0x7fffab4c68c0, text=@0x7fffab4c6b50)                                        
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting.cpp:812                                                                      
#14 0x00007ff99680cb4b in khtml::TypingCommand::insertText (document=0x4ce9140, text=@0x7fffab4c6b50)                                         
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/htmlediting.cpp:740                                                                      
#15 0x00007ff996808833 in DOM::Editor::handleKeyEvent (this=0x2a2b540, _ke=0x51f9570)                                                         
    at /home/kde-devel/kde/src/kdelibs/khtml/editing/editor.cpp:528                                                                           
#16 0x00007ff996613451 in DOM::ElementImpl::defaultEventHandler (this=0x48da160, e=0x52851d0)                                                 
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_elementimpl.cpp:781                                                                      
#17 0x00007ff99660ac10 in DOM::NodeImpl::dispatchGenericEvent (this=0x48da160, evt=0x52851d0)                                                 
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:526                                                                         
#18 0x00007ff996608aad in DOM::NodeImpl::dispatchEvent (this=0x48da160, evt=0x52851d0, exceptioncode=@0x7fffab4c6d7c, tempEvent=true)         
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:453                                                                         
#19 0x00007ff99660988f in DOM::NodeImpl::dispatchKeyEvent (this=0x48da160, key=0x439c840, keypress=true)                                      
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:692                                                                         
#20 0x00007ff99654643b in KHTMLView::dispatchKeyEventHelper (this=0x218aad0, _ke=0x439c840, keypress=true)                                    
---Type <return> to continue, or q <return> to quit---                                                                                        
    at /home/kde-devel/kde/src/kdelibs/khtml/khtmlview.cpp:1649                                                                               
#21 0x00007ff99654651e in KHTMLView::dispatchKeyEvent (this=0x218aad0, _ke=0x439c840)                                                         
    at /home/kde-devel/kde/src/kdelibs/khtml/khtmlview.cpp:1605                                                                               
#22 0x00007ff99654dd97 in KHTMLView::keyPressEvent (this=0x218aad0, _ke=0x439c840) at /home/kde-devel/kde/src/kdelibs/khtml/khtmlview.cpp:1726
#23 0x00007ff99673b0aa in khtml::RenderWidget::EventPropagator::sendEvent (this=0x218aad0, e=0x439c840)                                       
    at /home/kde-devel/kde/src/kdelibs/khtml/rendering/render_replaced.cpp:877                                                                
#24 0x00007ff99673cc16 in khtml::RenderWidget::handleEvent (this=0x4c7dca0, ev=@0x5285a30)                                                    
    at /home/kde-devel/kde/src/kdelibs/khtml/rendering/render_replaced.cpp:1131                                                               
#25 0x00007ff99667bae8 in DOM::HTMLFrameElementImpl::defaultEventHandler (this=0x4f9cb20, e=0x5285a30)                                        
    at /home/kde-devel/kde/src/kdelibs/khtml/html/html_baseimpl.cpp:296                                                                       
#26 0x00007ff99660ac10 in DOM::NodeImpl::dispatchGenericEvent (this=0x4f9cb30, evt=0x5285a30)                                                 
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:526                                                                         
#27 0x00007ff996608aad in DOM::NodeImpl::dispatchEvent (this=0x4f9cb30, evt=0x5285a30, exceptioncode=@0x7fffab4c75bc, tempEvent=true)         
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:453                                                                         
#28 0x00007ff99660988f in DOM::NodeImpl::dispatchKeyEvent (this=0x4f9cb30, key=0x7fffab4c8130, keypress=true)                                 
    at /home/kde-devel/kde/src/kdelibs/khtml/xml/dom_nodeimpl.cpp:692                                                                         
#29 0x00007ff99654643b in KHTMLView::dispatchKeyEventHelper (this=0x27c5650, _ke=0x7fffab4c8130, keypress=true)                               
    at /home/kde-devel/kde/src/kdelibs/khtml/khtmlview.cpp:1649                                                                               
#30 0x00007ff99654651e in KHTMLView::dispatchKeyEvent (this=0x27c5650, _ke=0x7fffab4c8130)
    at /home/kde-devel/kde/src/kdelibs/khtml/khtmlview.cpp:1605
#31 0x00007ff99654dd97 in KHTMLView::keyPressEvent (this=0x27c5650, _ke=0x7fffab4c8130)
    at /home/kde-devel/kde/src/kdelibs/khtml/khtmlview.cpp:1726
#32 0x00007ff99654bc0c in KHTMLView::eventFilter (this=0x27c5650, o=0x218aad0, e=0x7fffab4c8130)
    at /home/kde-devel/kde/src/kdelibs/khtml/khtmlview.cpp:2264
#33 0x00007ff9a0935927 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x213caf0, receiver=0x218aad0, event=0x7fffab4c8130)
    at kernel/qcoreapplication.cpp:718
#34 0x00007ff99fab1e37 in QApplicationPrivate::notify_helper (this=0x213caf0, receiver=0x218aad0, e=0x7fffab4c8130)
    at kernel/qapplication.cpp:4080
#35 0x00007ff99fab25eb in QApplication::notify (this=0x7fffab4c9370, receiver=0x218aad0, e=0x7fffab4c8130) at kernel/qapplication.cpp:3690
#36 0x00007ff9a17db4cf in KApplication::notify (this=0x7fffab4c9370, receiver=0x218aad0, event=0x7fffab4c8130)
    at /home/kde-devel/kde/src/kdelibs/kdeui/kernel/kapplication.cpp:307
#37 0x00007ff9a0937393 in QCoreApplication::notifyInternal (this=0x7fffab4c9370, receiver=0x218aad0, event=0x7fffab4c8130)
    at kernel/qcoreapplication.cpp:598
#38 0x00007ff99fabde3f in QCoreApplication::sendSpontaneousEvent (receiver=0x218aad0, event=0x7fffab4c8130)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#39 0x00007ff99fab19c3 in qt_sendSpontaneousEvent (receiver=0x218aad0, event=0x7fffab4c8130) at kernel/qapplication.cpp:5004
#40 0x00007ff99fb55e90 in QKeyMapper::sendKeyEvent (keyWidget=0x218aad0, grab=false, type=QEvent::KeyPress, code=85, modifiers=
      {i = -1421048240}, text=@0x7fffab4c85f0, autorepeat=false, count=1, nativeScanCode=30, nativeVirtualKey=117, nativeModifiers=0)
    at kernel/qkeymapper_x11.cpp:1675
---Type <return> to continue, or q <return> to quit---
#41 0x00007ff99fb5723c in QKeyMapperPrivate::translateKeyEvent (this=0x2175670, keyWidget=0x218aad0, event=0x7fffab4c8e90, grab=false)
    at kernel/qkeymapper_x11.cpp:1645
#42 0x00007ff99fb2eb47 in QApplication::x11ProcessEvent (this=0x7fffab4c9370, event=0x7fffab4c8e90) at kernel/qapplication_x11.cpp:3436
#43 0x00007ff99fb598e2 in x11EventSourceDispatch (s=0x2140260, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#44 0x00007ff99d34f142 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#45 0x00007ff99d35285d in ?? () from /usr/lib/libglib-2.0.so.0
#46 0x00007ff99d352a1b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47 0x00007ff9a0964f7a in QEventDispatcherGlib::processEvents (this=0x211e710, flags={i = -1421045424})
    at kernel/qeventdispatcher_glib.cpp:323
#48 0x00007ff99fb59107 in QGuiEventDispatcherGlib::processEvents (this=0x211e710, flags={i = -1421045328})
    at kernel/qguieventdispatcher_glib.cpp:202
#49 0x00007ff9a0934617 in QEventLoop::processEvents (this=0x7fffab4c9270, flags={i = -1421045232}) at kernel/qeventloop.cpp:149
#50 0x00007ff9a0934824 in QEventLoop::exec (this=0x7fffab4c9270, flags={i = -1421045120}) at kernel/qeventloop.cpp:196
#51 0x00007ff9a0937bde in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#52 0x00007ff99fab1bb6 in QApplication::exec () at kernel/qapplication.cpp:3553
#53 0x00007ff9a306325f in kdemain (argc=3, argv=0x7fffab4c9fc8) at /home/kde-devel/kde/src/kdebase/apps/konqueror/src/konqmain.cpp:257
#54 0x0000000000400937 in main (argc=3, argv=0x7fffab4c9fc8) at /home/kde-devel/kde/build/kdebase/apps/konqueror/src/konqueror_dummy.cpp:3
Comment 1 Maksim Orlovich 2009-04-04 03:57:23 UTC
SVN commit 948882 by orlovich:

Make sure that iframes created with javascript: URLs enter the proper mode --- 
in particular HTML, not XHTML one. Us doing otherwise caused tinyMCE to 
get confused (due to a paragraph being <p> and not <P>) and remove & clone text node
being typed on, which caused the editting code to get really confused and blow up.
This, in particular, affected GSoC editor page. Now typing in should be fine 
(though I would still be careful with richtext there)

I do think the mode detection code needs rework, and the editing code will 
need heavy work, but that's for an another time.

CCBUG:188445
CCBUG:141523



 M  +4 -1      khtml_part.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=948882
Comment 2 Maksim Orlovich 2009-04-04 04:02:21 UTC
SVN commit 948884 by orlovich:

automatically merged revision 948882:
Make sure that iframes created with javascript: URLs enter the proper mode --- 
in particular HTML, not XHTML one. Us doing otherwise caused tinyMCE to 
get confused (due to a paragraph being <p> and not <P>) and remove & clone text node
being typed on, which caused the editting code to get really confused and blow up.
This, in particular, affected GSoC editor page. Now typing in should be fine 
(though I would still be careful with richtext there)

I do think the mode detection code needs rework, and the editing code will 
need heavy work, but that's for an another time.

CCBUG:188445
CCBUG:141523

 M  +4 -1      khtml_part.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=948884
Comment 3 Raúl 2012-05-04 08:28:59 UTC
Hello:
I think this one is somehow related to https://bugs.kde.org/show_bug.cgi?id=254955 if it's not the same bug. If this is the same, then I can confirm this on 4.7.4