Opened 3 years ago

Closed 2 years ago

#12156 closed defect (duplicate)

13 nested dojo.require calls can cause stack overflow on MSIE 7

Reported by: jhpriestley Owned by:
Priority: high Milestone: tbd
Component: Loader Version: 1.5
Keywords: Cc:
Blocked by: Blocking:

Description

If module A requires module B, and module B requires module C, all the way through to module N, then IE 7 will throw a fit. The issue is probably caused by the extremely low stack depth limit for certain calls in IE (cf http://cappuccino.org/discuss/2010/03/01/internet-explorer-global-variables-and-stack-overflows/).

To run the attached test case, untar the directory under dojo root, and point a browser at /recurse/test.html

Attachments (1)

recurse.tar.gz (698 bytes) - added by jhpriestley 3 years ago.

Download all attachments as: .zip

Change History (5)

Changed 3 years ago by jhpriestley

comment:1 Changed 3 years ago by neonstalwart

duplicate of #9922

comment:2 Changed 3 years ago by jhpriestley

Replacing the line

var value = d["eval"](contents);

with

var value = eval(contents);

in loader.js:116 seems to fix the problem. This suggests that the exceptional behavior is triggered by explicit use of the window object in dojo.eval (which uses dojo.global.eval if it exists).

comment:3 Changed 3 years ago by chrism

  • Owner anonymous deleted

comment:4 Changed 2 years ago by bill

  • Component changed from General to Loader
  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #9922.

Note: See TracTickets for help on using tickets.