AW: Javascript and konq crash

Tobias Anton tobias at ke.informatik.tu-darmstadt.de
Thu Mar 23 16:25:01 GMT 2006


Hi,

this is due to the implementation of Object::mark() calling _scope->mark
again. The attached patch fixes this, however I can't test it right now.

Cheers
Tobias

-----Ursprüngliche Nachricht-----
Von: Eva Brucherseifer [mailto:eva.brucherseifer at basyskom.de] 
Gesendet: Donnerstag, 23. März 2006 15:32
An: For discussion of Konqueror/Embedded; kfm-devel at kde.org
Betreff: Re: Javascript and konq crash

Hi Yan,

we experience the same problem over here, but for us so far only on the arm 
platform. Symptoms are the same. We were able to get the backtrace below. On

which platform are you testing?

I also studied the ScopeChain and ScopeChainNode classe, but can't find 
anything wrong. Very strange is only that KJS::ScopeChain::mark is called 
several times, so it seems that the ScopeChain contains other ScopeChains.

I also tried the current trunk version of scope_chain.h/cc, but same result.

I've CCed the kfm-devel list maybe some kjs guru's there have some ideas?

Greetings,
eva


----------------------------------
Program received signal SIGSEGV, Segmentation fault.
 0x0031f51c in KJS::ScopeChain::mark ()
 (gdb) bt
 0 0x0031f51c in KJS::ScopeChain::mark ()
 0000001 0x0031fdd0 in KJS::ScopeChain::mark ()
 0000002 0x00320174 in KJS::ScopeChain::mark ()
 0000003 0x00324f1c in kjs_dtoa ()
 0000004 0x002b5b04 in KJS::UString::from ()
 0000005 0x00319fc0 in KJS::NumberNode::streamTo ()
 0000006 0x003199d8 in KJS::SourceStream::operator<< ()
 0000007 0x0031abe0 in KJS::MultNode::streamTo ()
 0000008 0x003199d8 in KJS::SourceStream::operator<< ()
 0000009 0x0031a6cc in KJS::ArgumentListNode::streamTo ()
 0000010 0x003199d8 in KJS::SourceStream::operator<< ()
 0000011 0x0031a774 in KJS::ArgumentsNode::streamTo ()
 0000012 0x003199d8 in KJS::SourceStream::operator<< ()
 0000013 0x0031a848 in KJS::FunctionCallNode::streamTo ()
 0000014 0x003199d8 in KJS::SourceStream::operator<< ()
 0000015 0x0031b524 in KJS::AssignExprNode::streamTo ()
 0000016 0x003199d8 in KJS::SourceStream::operator<< ()
 0000017 0x0031b574 in KJS::VarDeclNode::streamTo ()
 0000018 0x003199d8 in KJS::SourceStream::operator<< ()
 0000019 0x0031b5ac in KJS::VarDeclListNode::streamTo ()
 0000020 0x003199d8 in KJS::SourceStream::operator<< ()
 0000021 0x0031b664 in KJS::VarStatementNode::streamTo ()
 0000022 0x003199d8 in KJS::SourceStream::operator<< ()
 0000023 0x0031c84c in KJS::SourceElementsNode::streamTo ()
 0000024 0x003199d8 in KJS::SourceStream::operator<< ()
 0000025 0x0031b6f8 in KJS::BlockNode::streamTo ()
 0000026 0x00319e84 in KJS::Node::toCode ()
 0000027 0x002f5da0 in KJS::Parser::parse ()
 0000028 0x002fa7a8 in KJS::InterpreterImp::evaluate ()
 0000029 0x00316d3c in KJS::Interpreter::evaluate ()
 0000030 0x00239454 in KJS::KJSProxyImpl::evaluate ()
 0000031 0x0037da18 in KHTMLPart::executeScript ()
 0000032 0x0042c930 in khtml::HTMLTokenizer::scriptExecution ()
 33 0x0042c5bc in khtml::HTMLTokenizer::scriptHandler ()
 34 0x0042bc68 in khtml::HTMLTokenizer::parseSpecial ()
 35 0x00431194 in khtml::HTMLTokenizer::parseTag ()
 36 0x00431d68 in khtml::HTMLTokenizer::write ()
 37 0x00386130 in KHTMLPart::write ()
 38 0x00383378 in KHTMLPart::slotData ()
 39 0x001879ac in KIO::TransferJob::data ()
 40 0x00183444 in KIO::TransferJob::filteredData ()
 41 0x00183620 in KIO::TransferJob::receiveData ()
 42 0x4016ba58 in KIO::SlaveInterface::data () from /usr/lib/libkonqe.0
 43 0x40168a90 in KIO::SlaveInterface::dispatch () from /usr/lib/libkonqe.0
 44 0x401683f8 in KIO::SlaveInterface::dispatch () from /usr/lib/libkonqe.0
 45 0x0018fe5c in KIO::Slave::slotDispatch ()
 46 0x40438a40 in QObject::activate_signal () 
from /opt/Qtopia/lib/libqte-mt.so.2
 47 0x40467a78 in QSocketNotifier::event () 
from /opt/Qtopia/lib/libqte-mt.so.2
 48 0x403f628c in QApplication::notify () from
/opt/Qtopia/lib/libqte-mt.so.2
 49 0x403a3390 in QApplication::processNextEvent () 
from /opt/Qtopia/lib/libqte-mt.so.2
 50 0x403f3944 in QApplication::enter_loop () 
from /opt/Qtopia/lib/libqte-mt.so.2
 51 0x40399124 in QApplication::exec () from /opt/Qtopia/lib/libqte-mt.so.2
 52 0x0014b1bc in main ()



Am Mittwoch, 22. März 2006 22:29 schrieb yan seiner:
> I've worked my way through a number of issues with konq....
>
> But this one has me stumped.
>
> Konq runs javascript fine, except that once in a while it crashes.
>
> It crashes as follows:
>
>    70 root     R        11M    68 99.9 41.6 konqueror
>    71 root     S       5104    70  0.0 17.8 konqueror
>
> Once process goes into what seems to be an infinite loop, consuming 100%
> of CPU resources.  After some 20 or 30 seconds, during which nothing is
> logged, konqueror suddenly and quitely goes away.
>
> Nothing is in the log files, there is no kernel oops, nothing.
>
> It appears to be triggered by something in the javascript, but I have no
> idea what that might be.
>
> Is there any way to enable javascript debugging?
>
> Thanks,
>
> --Yan
> _______________________________________________
> konq-e mailing list
> konq-e at kde.org
> https://mail.kde.org/mailman/listinfo/konq-e

-- 
Eva Brucherseifer
General Manager

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 3969-961 | Fax: -736 | Mobile: +49 170 5533642
eva.brucherseifer at basyskom.de | www.basyskom.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kjs-recursion.diff
Type: application/octet-stream
Size: 1187 bytes
Desc: not available
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20060323/0c50b307/attachment.obj>


More information about the kfm-devel mailing list