WebAIM - Web Accessibility In Mind

E-mail List Archives

internet explorer crashes when running jaws

for

From: Despain, Dallas
Date: Dec 10, 2008 3:15PM


Within the context of a large ajaxy web project, I found that our web pages were causing Internet Explorer 7 to crash when using our web pages with Jaws 9.0 (couldn't reproduce with Jaws 6.1 and there is no problem when JAWS is not ther.). I have tracked down the line of javascript that
causes the problem, and narrowed it down to a very simple test case:

top.location = "#" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

this line can be triggered by any event such as onload or onclick. Jaws keeps running, but Internet Explorer dies . I think it's a memory problem, so the length of the string you're adding (in my case "aaa...") will vary. On my machine, it seems to be a problem if the total length of the url gets over about 425

Has anyone ever seen this before?

Thanks,
Dalls

p.s.

more info below:

Once as I was testing, Visual Studio happened to capture the Internet Explorer error:

"A buffer overrun has occurred in iexplore.exe which has corrupted the program's internal state. Press Break to debug the program or Continue to terminate the program.

For more details please see Help topic 'How to debug Buffer Overrun Issues'."

I've also tried other methods of modifying the location object such as:
//top.location.hash = toAdd;
//top.location = top.location.href + "#" + toAdd;
//top.location = top.location.href + "#" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
//top.location.assign(top.location.href + "#" + toAdd);
//top.location = "#" + toAdd;

Here's the entire html file I'm using as my test case:

<html>
<head>
<script type="text/javascript">
function myFunction(evt)
{
top.location = top.location.href + "#" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa }
</script>
</head>
<body onload="myFunction()">
<p>
I am a test
</p>
</body>
</html>

Dallas Despain | RightNow Technologies | Developer | 406-556-3454 | Salt Lake City, UT