Javascript and konq crash

Yan Seiner yan at seiner.com
Thu Mar 23 16:20:04 CET 2006


Eva Brucherseifer wrote:

>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?
>  
>
Hi Eva:

Misery loves company....

The javascript works fine on an x86 platform using standard konq, but 
fails on an arm platform using konq/e...

My target is one of the http://www.embeddedarm.com ARM based boards - 
currently the TS-7200 but probably a TS-7300 for production.

I have not been able to get a backtrace, but the failure is similar to 
one I experienced with the flash plugin ( see 
http://bugs.kde.org/show_bug.cgi?id=123330 ).

I have two functionally similar but very different concepts for our 
interface.  One causes the segfault, the other doesn't....  I wrote the 
one that works, another developer wrote the one that crashes, so today I 
am going to try and figure out the differences....

If I can identify the part that causes the crash, I will post the 
offending code....

--Yan

>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
>>    
>>
>
>  
>



More information about the konq-e mailing list