views:

129

answers:

2

Hi everyone,

So, I've been trying to troubleshoot this bug where some big percentage of windows users who are on my ajax (jquery) web app are not able to play. I haven't been able to reproduce it on my end with a windows 7 IE8 running in a parallels vm. The main problem seems to be in the javascript somewhere because what users are complaining about is an ajax button isn't working. They click it and nothing happens, so either the event isn't firing, or my ajax call is failing, and possibly the return from the ajax could be failing.

After trying some ideas, a friend suggested I check out damnit! https://damnit.jupiterit.com/ which will catch exceptions in javascript and email them to you. This is a pretty awesome tool! So, now i have a little more data, but, am stuck. Basically it seems like the majority of the exceptions seem to be complaining about a syntax error. I will paste the samples below.

message:
    Syntax error
number:
    -2146827286
description:
    Syntax error
Browser:
    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 1.0.3705; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)

What's interesting is that the syntax error is consistently occurring in browsers reporting MSIE 8.0 but with windows vista, xp, and below, so older OS with the latest IE.

Does anyone know of this error? Could this possibly be some weird slow computer/slow internet connection thing where may be my javascript files aren't fully loaded before I call the functions. I am using the jquery $(document).ready() to wait before I setup anything.

A: 

Whenever you get a large negative number error like that, convert it to hex first. Using Windows calculator, select View/Scientific, copy/paste that number into the calculator, and press Hex. When you do this you get 800A03EA (just take the last 8 digits). Then, search Google for that error number and see if any of the found pages help you.

Greg Hewgill
thanks! google search says may be this is a vbscript thing?could internet explorer be interpreting the javascript as vbscript? I do have it my code wrapped in... <script type = "text/javascript"></script> though...
ben
@ben: I suppose it's possible that IE could be misinterpreting the script language, but I'm not really sure why it would fail sometimes but not always.
Greg Hewgill
A: 

-2146827286 is an HRESULT exception code (more commonly seen in hex as 0x800A03EA) and would appear to be a syntax (compilation) error in your (server-side) script. You could attempt to execute the endpoint your AJAX call is executing outside the context of your client-side code to see if you can capture additional information (in your development/QA environment preferably).

CaptainTom
If this was a serverside issue, wouldn't the problem be browser agnostic? The only user agent reported for this error are internet explorer clients.
ben
oh and, my server-side is python + django
ben
here's a thought, could internet explorer be interpreting the javascript as vbscript?I do have it my code wrapped in...<script type = "text/javascript"></script>
ben
@ben:Like Greg indicated, certainly possible IE could be interpreting client script problems in this manner. Still worth ruling out server side script issues. You could also "unit test" your client side code and stand up an Ajax endpoint mock.
CaptainTom