csnover / TraceKit

Attempts to create stack traces for unhandled JavaScript exceptions in all major browsers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Object doesn't support property or method at return _oldSetTimeout.apply(this, arguments)

aim12340 opened this issue · comments

i'm getting quite a few errors like this.

Object doesn't support this property or method
at line
return _oldSetTimeout.apply(this, arguments);

I dont use setTimeout on my site. It seems some services are injecting JS onto my web pages as immediatley before this error i get another error. For example:
Object doesn't support this property or method
at
https://www.superfish.com/ws/sf_conduit.jsp line 484
which is:
setTimeout( (function(u){return function(){cBack( u )}})(prm), 300 );
i can send the enitre JS file if needed.

I wonder if this JS might be using setTimeout in a way your code doesn't expect? Thats my best guess at the moment.

immediatley before this i also get an error like this:
Could not load 'dojo.io.script'; last tried 'https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo/io/script.js'
in
https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo/dojo.xd.js
but i'd guess this is unrelated, mabe even somethign dojo is supposed to do.

These all come from the same IP, all at the same time (down to the second), with a user agent that seems to be IE8:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; YPC 3.2.0; GTB6.6; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Seekmo 10.3.79.0; yie8)

I could remove your W function, but as injecting JS code seems to be really quite common i'd rather keep W so i know when code injection causes problems with my site.

Any ideas what superfish.com's setTimeout could be causing problems?

I just committed 9b7483a which should hopefully resolve this problem. If not, comment back.

Thanks for the fast update.

Well, i havn't seen that error again, but am still getting similar errors. Typicaly a run of 4 errors like this:

Object doesn't support this property or method
at return _oldSetTimeout.apply(this, args);

Object doesn't support this property or method
at unknown line (IE8 gives wrong line #), presumably at return _oldSetTimeout.apply(this, args);

same error as above again.

Object doesn't support this property or method
at return _oldSetTimeout.apply(this, args);

Sadly, no clue as to what service is injecting any code so that's as much as i can tell you. Hope it's some help.

I receive the same error in IE7 & IE8. I've even removed all scripts from the page except jQuery and TraceKit, and I still get that same "object doesn't support this propert or method" error. Haven't tested IE9 or IE6 though.

Funny thing is, tracekit reports its own error :)

PS - Commented out the setTimeout/setInterval rewrites, and it works fine, so the problem is there.

Same problem here.. I put it on my site for 10 minutes and had the error reports rolling in from IE users. This is unusable without having this issue fixed..

(I looked at it for 20 minutes and couldn't figure out how to fix it, other than by commenting out the setTimeout protection, which is too bad)