WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: internet explorer crashes when running jaws

for

From: Aaron Cannon
Date: Dec 10, 2008 5:15PM


I was not able to reproduce this on IE7 with Jaws 9.0 under Windows XP SP3 using the html you provided. The "a's" are appended to the address but the browser does not crash. Even if I increase the number of a's to well over a thousand, the browser still works fine.

Aaron

-----Original Message-----
From: <EMAIL REMOVED> [mailto: <EMAIL REMOVED> ] On Behalf Of Despain, Dallas
Sent: Wednesday, December 10, 2008 4:15 PM
To: WebAIM Discussion List
Subject: [WebAIM] internet explorer crashes when running jaws

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