hello, I was experiencing a nasty crash in Konqueror which is fixed now, and I would like to ask you to include the patch fixing this please see here: http://bugs.kde.org/show_bug.cgi?id=125206#c14 Reproducible: Always I generated these two patches using the provided websvn link: --- trunk/KDE/kdelibs/khtml/html/html_objectimpl.cpp 2007/10/25 06:48:37 729135 +++ trunk/KDE/kdelibs/khtml/html/html_objectimpl.cpp 2007/12/27 04:54:22 753268 @@ -243,7 +243,12 @@ _style->deref(); NodeBaseImpl::attach(); + + if (m_render) QTimer::singleShot( 0, this, SLOT( slotEmitLoadEvent() ) ); +} +void HTMLObjectBaseElementImpl::slotEmitLoadEvent() +{ // ### do this when we are actually finished loading instead if (m_render) dispatchHTMLEvent(EventImpl::LOAD_EVENT, false, false); } --- trunk/KDE/kdelibs/khtml/html/html_objectimpl.h 2007/10/25 06:48:37 729135 +++ trunk/KDE/kdelibs/khtml/html/html_objectimpl.h 2007/12/27 04:54:22 753268 @@ -62,6 +62,7 @@ virtual void removeId(const QString& id); protected Q_SLOTS: void slotRenderAlternative(); + void slotEmitLoadEvent(); protected: DOMString m_name; }; then I put a copy of kdelibs-3.5.8-r1.ebuild into my local portage overlay and added the epatch line to apply them at the end of src_unpack after having emerged it, I do not experience konqueror crashes at the site novinky.cz any longer
Waiting for Maksim's reply on the upstream bug.
(In reply to comment #1) > Waiting for Maksim's reply on the upstream bug. ok, but ... I do not know how the KDE branching works, will it apply to previous KDE versions (that are affected as well) if you rely on upstream? - that was my point, to have it in older kdelibs, since 3.5.8 is still ~masked I was trying to help but maybe I should have studied at first, how the distribution channels go ... sorry if my effort is a bit contraproductive; if you tell me, I'll know next time :-)
I can't reproduce this on 3.5.9. Can you please try yourself?
(In reply to comment #3) > I can't reproduce this on 3.5.9. Can you please try yourself? right now, it does not crash for me, but unfortunatelly it means nothing, the bug is not 100% reproducible ... I thought the fix should have been included in KDE 3.5.9 (which is still ~arch), but looking at the sources, I do not see the patch applied
(In reply to comment #4) > (In reply to comment #3) > > I can't reproduce this on 3.5.9. Can you please try yourself? > > right now, it does not crash for me, but unfortunatelly it means nothing, the > bug is not 100% reproducible ... it crashed just a few minutes ago trying to open http://www.novinky.cz/clanek/136942-muze-na-kolejich-neprobudilo-ani-kdyz-ho-prejela-tramvaj.html konqueror & kdelibs 3.5.9 ... [?1034hUsing host libthread_db library "/lib/libthread_db.so.1". [KCrash handler] #5 0x00000036eb6303c5 in raise () from /lib/libc.so.6 #6 0x00000036eb63173e in abort () from /lib/libc.so.6 #7 0x00000036eb629b1f in __assert_fail () from /lib/libc.so.6 #8 0x000000323e5a8948 in DOM::NodeImpl::attach (this=<value optimized out>) at dom_nodeimpl.cpp:836 #9 0x000000323e5a89af in DOM::NodeBaseImpl::attach ( this=<value optimized out>) at dom_nodeimpl.cpp:1402 #10 0x000000323e5a89af in DOM::NodeBaseImpl::attach ( this=<value optimized out>) at dom_nodeimpl.cpp:1402 #11 0x000000323e5a89af in DOM::NodeBaseImpl::attach ( this=<value optimized out>) at dom_nodeimpl.cpp:1402 #12 0x000000323e5a976c in DOM::NodeBaseImpl::appendChild ( this=<value optimized out>, newChild=<value optimized out>, exceptioncode=<value optimized out>) at dom_nodeimpl.cpp:1308 #13 0x000000323e6ea930 in DOM::Node::appendChild (this=<value optimized out>, newChild=<value optimized out>) at dom_node.cpp:296 #14 0x000000323e6738c2 in KJS::DOMNodeProtoFunc::tryCall ( this=<value optimized out>, exec=<value optimized out>, thisObj=<value optimized out>, args=<value optimized out>) at kjs_dom.cpp:582 #15 0x000000323e667bc4 in KJS::DOMFunction::call (this=<value optimized out>, exec=<value optimized out>, thisObj=<value optimized out>, args=<value optimized out>) at kjs_binding.cpp:136 #16 0x000000323ec4ea72 in KJS::Object::call (this=<value optimized out>, exec=<value optimized out>, thisObj=<value optimized out>, args=<value optimized out>) at object.cpp:73 #17 0x000000323ec2c4c5 in KJS::FunctionCallNode::evaluate ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:870 #18 0x000000323ec293d9 in KJS::ExprStatementNode::execute ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:1980 #19 0x000000323ec27461 in KJS::SourceElementsNode::execute ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:3108 #20 0x000000323ec25dd3 in KJS::BlockNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:1942 #21 0x000000323ec2936c in KJS::IfNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:2028 #22 0x000000323ec27528 in KJS::SourceElementsNode::execute ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:3114 #23 0x000000323ec25dd3 in KJS::BlockNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:1942 #24 0x000000323ec2936c in KJS::IfNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:2028 #25 0x000000323ec27461 in KJS::SourceElementsNode::execute ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:3108 #26 0x000000323ec25dd3 in KJS::BlockNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:1942 #27 0x000000323ec284aa in KJS::ForInNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:2306 #28 0x000000323ec27461 in KJS::SourceElementsNode::execute ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:3108 #29 0x000000323ec25dd3 in KJS::BlockNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:1942 #30 0x000000323ec49c5a in KJS::DeclaredFunctionImp::execute ( this=<value optimized out>, exec=<value optimized out>) at function.cpp:613 #31 0x000000323ec49faf in KJS::FunctionImp::call (this=<value optimized out>, exec=<value optimized out>, thisObj=<value optimized out>, args=<value optimized out>) at function.cpp:373 #32 0x000000323ec4ea72 in KJS::Object::call (this=<value optimized out>, exec=<value optimized out>, thisObj=<value optimized out>, args=<value optimized out>) at object.cpp:73 #33 0x000000323ec2c4c5 in KJS::FunctionCallNode::evaluate ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:870 #34 0x000000323ec293d9 in KJS::ExprStatementNode::execute ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:1980 #35 0x000000323ec27461 in KJS::SourceElementsNode::execute ( this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:3108 #36 0x000000323ec25dd3 in KJS::BlockNode::execute (this=<value optimized out>, exec=<value optimized out>) at nodes.cpp:1942 #37 0x000000323ec41131 in KJS::InterpreterImp::evaluate ( this=<value optimized out>, code=<value optimized out>, thisV=<value optimized out>) at internal.cpp:904 #38 0x000000323ec4f1c5 in KJS::Interpreter::evaluate ( this=<value optimized out>, code=<value optimized out>, thisV=<value optimized out>) at interpreter.cpp:166 #39 0x000000323e6bd91b in KJS::KJSProxyImpl::evaluate ( this=<value optimized out>, filename=<value optimized out>, baseLine=<value optimized out>, str=<value optimized out>, n=<value optimized out>, completion=) at kjs_proxy.cpp:164 #40 0x000000323e5766ed in KHTMLPart::executeScript ( this=<value optimized out>, filename=<value optimized out>, baseLine=<value optimized out>, n=<value optimized out>, script=<value optimized out>) at khtml_part.cpp:1155 #41 0x000000323e5c1149 in khtml::HTMLTokenizer::scriptExecution ( this=<value optimized out>, str=<value optimized out>, scriptURL=<value optimized out>, baseLine=<value optimized out>) at htmltokenizer.cpp:452 #42 0x000000323e5c1663 in khtml::HTMLTokenizer::scriptHandler ( this=<value optimized out>) at htmltokenizer.cpp:416 #43 0x000000323e5c2040 in khtml::HTMLTokenizer::parseSpecial ( this=<value optimized out>, src=<value optimized out>) at htmltokenizer.cpp:332 #44 0x000000323e5c3a54 in khtml::HTMLTokenizer::parseTag ( this=<value optimized out>, src=<value optimized out>) at htmltokenizer.cpp:1211 #45 0x000000323e5c3d80 in khtml::HTMLTokenizer::write ( this=<value optimized out>, str=<value optimized out>, appendData=<value optimized out>) at htmltokenizer.cpp:1457 #46 0x000000323e5c126f in khtml::HTMLTokenizer::notifyFinished ( this=<value optimized out>) at htmltokenizer.cpp:1768 #47 0x000000323e660387 in khtml::CachedScript::checkNotify ( this=<value optimized out>) at loader.cpp:369 #48 0x000000323e662592 in khtml::CachedScript::data ( this=<value optimized out>, buffer=<value optimized out>, eof=<value optimized out>) at loader.cpp:361 #49 0x000000323e65ff38 in khtml::Loader::slotFinished ( this=<value optimized out>, job=<value optimized out>) at loader.cpp:1205 #50 0x000000323e6600f0 in khtml::Loader::qt_invoke ( this=<value optimized out>, _id=<value optimized out>, _o=<value optimized out>) at loader.moc:260 #51 0x000000399633c012 in QObject::activate_signal () from /usr/qt/3/lib64/libqt-mt.so.3 #52 0x000000323c361a14 in KIO::Job::result (this=<value optimized out>, t0=<value optimized out>) at jobclasses.moc:162 #53 0x000000323c3662f0 in KIO::Job::emitResult (this=<value optimized out>) at job.cpp:235 #54 0x000000323c366851 in KIO::SimpleJob::slotFinished ( this=<value optimized out>) at job.cpp:601 #55 0x000000323c366b21 in KIO::TransferJob::slotFinished ( this=<value optimized out>) at job.cpp:971 #56 0x000000323c365307 in KIO::TransferJob::qt_invoke ( this=<value optimized out>, _id=<value optimized out>, _o=<value optimized out>) at jobclasses.moc:1071 #57 0x000000399633c012 in QObject::activate_signal () from /usr/qt/3/lib64/libqt-mt.so.3 #58 0x000000399633cb7a in QObject::activate_signal () from /usr/qt/3/lib64/libqt-mt.so.3 #59 0x000000323c356b26 in KIO::SlaveInterface::dispatch ( this=<value optimized out>, _cmd=<value optimized out>, rawdata=<value optimized out>) at slaveinterface.cpp:243 #60 0x000000323c3573e9 in KIO::SlaveInterface::dispatch ( this=<value optimized out>) at slaveinterface.cpp:173 #61 0x000000323c3535cf in KIO::Slave::gotInput (this=<value optimized out>) at slave.cpp:300 #62 0x000000323c354ea2 in KIO::Slave::qt_invoke (this=<value optimized out>, _id=<value optimized out>, _o=<value optimized out>) at slave.moc:113 #63 0x000000399633c012 in QObject::activate_signal () from /usr/qt/3/lib64/libqt-mt.so.3 #64 0x000000399633caa4 in QObject::activate_signal () from /usr/qt/3/lib64/libqt-mt.so.3 #65 0x0000003996353d17 in QSocketNotifier::event () from /usr/qt/3/lib64/libqt-mt.so.3 #66 0x00000039962eb3eb in QApplication::internalNotify () from /usr/qt/3/lib64/libqt-mt.so.3 #67 0x00000039962ebf1a in QApplication::notify () from /usr/qt/3/lib64/libqt-mt.so.3 #68 0x000000323aad329a in KApplication::notify (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at kapplication.cpp:550 #69 0x00000039962e258e in QEventLoop::activateSocketNotifiers () from /usr/qt/3/lib64/libqt-mt.so.3 #70 0x00000039962a57bd in QEventLoop::processEvents () from /usr/qt/3/lib64/libqt-mt.so.3 #71 0x00000039962fe50a in QEventLoop::enterLoop () from /usr/qt/3/lib64/libqt-mt.so.3 #72 0x00000039962fe3ee in QEventLoop::exec () from /usr/qt/3/lib64/libqt-mt.so.3 #73 0x00000031fa048388 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at konq_main.cc:206 #74 0x00000036eb61db74 in __libc_start_main () from /lib/libc.so.6 #75 0x0000000000400809 in _start ()
Fixed in CVS in kdelibs-3.5.9-r2.