[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kfm-devel
Subject:    konqueror crash
From:       manu manu sauvage <manu42 () free ! fr>
Date:       2001-09-10 19:38:25
[Download RAW message or body]

Some friend of mine, which is learning javascript with some obscure tutorial 
taken from nowhere . One of the examples of this tutorial makes konqueror 
crash. I isolated and attached the code responsible for the crash, and I 
think I have a reliable way to make it crash whenever I want it to ; 

The piece of javascript code creates a button that, once clicked, should cause
the text that follows to disappear / re-appear. First problem : the button is 
incorrectly rendered, which makes it hard to click on. The button is 
correctly rendered under Mozilla, if you're interested.
Second problem, which is the one that make konq crash, is the following : 
1. select the text below the button
2. click on the button to make the text disappear
3. click once again to make the text reappear.
4. krash.

if you don't select the text, all goes ~well~, i.e. konq does not crash.

Maybe it is related to the js code ; maybe it's a different problem, 
something like a reference to a text object that has been freed. I 
did not check my quick suppositions at all, I have no debugging info other 
than the one I pasted below, and no time to fill in a good bug report by the 
week that comes (really sorry for that, but filling a bug report with lynx or 
telnet is barely impossible :( ). I'm really sorry for the noise, but I 
thought you'd be interested.

FYI, I'm running current debian/unstable packages, tagged 2.2.0-final, but 
synced on 2001/08/22 with the upstream.


DEBUGGING INFO :
(no debugging symbols found)...(no debugging symbols found)...
...
(no debugging symbols found)...0x40e78529 in wait4 () from /lib/libc.so.6
#0  0x40e78529 in wait4 () from /lib/libc.so.6
#1  0x40eef0b8 in __check_rhosts_file () from /lib/libc.so.6
#2  0x40688c35 in KCrash::defaultCrashHandler () from /usr/lib/libkdecore.so.3
#3  0x40e017b8 in sigaction () from /lib/libc.so.6
#4  0x411a2b77 in DOM::DocumentImpl::clearSelection ()
   from /usr/lib/libkhtml.so.3
#5  0x4118bef5 in KHTMLPart::khtmlMousePressEvent ()
   from /usr/lib/libkhtml.so.3
#6  0x4118bc30 in KHTMLPart::event () from /usr/lib/libkhtml.so.3
#7  0x408bf876 in QApplication::notify () from /usr/lib/libqt.so.2
#8  0x405f8734 in KApplication::notify () from /usr/lib/libkdecore.so.3
#9  0x41166b7f in KHTMLView::viewportMousePressEvent ()
   from /usr/lib/libkhtml.so.3
#10 0x409e2ead in QScrollView::eventFilter () from /usr/lib/libqt.so.2
#11 0x4090e478 in QObject::activate_filters () from /usr/lib/libqt.so.2
#12 0x40954edf in QWidget::event () from /usr/lib/libqt.so.2
#13 0x408bf876 in QApplication::notify () from /usr/lib/libqt.so.2
#14 0x405f8734 in KApplication::notify () from /usr/lib/libkdecore.so.3
#15 0x40890b30 in QETWidget::translateMouseEvent () from /usr/lib/libqt.so.2
#16 0x4088e442 in QApplication::x11ProcessEvent () from /usr/lib/libqt.so.2
#17 0x4088d46a in QApplication::processNextEvent () from /usr/lib/libqt.so.2
#18 0x408c15c4 in QApplication::enter_loop () from /usr/lib/libqt.so.2
#19 0x4088d3e7 in QApplication::exec () from /usr/lib/libqt.so.2
#20 0x40051075 in main () from /usr/lib/konqueror.so
#21 0x40df164f in __libc_start_main () from /lib/libc.so.6


-- 
manu manu sauvage

"la vie n'est pas un combat mais une passion à défendre"
(Mass Hysteria)

["test.html" (text/html)]

<html>
<head>
<script>
function onOffToggle(theElement)
{
	if(theElement.style.display == "none"){
		theElement.style.display = "";
	}else{
		theElement.style.display = "none";
	}
}

function onEnterHighlight(theElement){
	theElement.style.color = 'red';
}

function onExitHighlight(theElement){
	theElement.style.color = 'black';
}
</script>
</head>
<body>

<p>
	<button style="cursor: hand"
		onclick="onOffToggle(document.all.toggledLine);"
		onmouseover="onEnterHighlight(this);"
		onmouseout="onExitHighlight(this);">
	</button>
</p>

<span style="color: blue" 
	id=toggledLine>
	This text should disappear.
</span>

</body>
</html>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic