PDA

View Full Version : Question on IE specific block of code in garbage collector



phaniraj426@gmail.com
30 Sep 2014, 5:52 AM
Hi,

We use ExtJS 3.2.0 with a bunch of plugins for our application. Overall, have not been able to upgrade to the latest and greatest versions yet. However we ran into an issue recently where the garbage collector kicks in and results in some of the items from Ext.elCache being lost (while other parts of our components are using/accessing them).

This resulted in a situation where sporadically we would end up with the following JS error.
Error: 'Ext.elCache[...].events' is null or not an object

Looking for the solutions we reached this archived discussion.
http://www.sencha.com/forum/archive/index.php/t-90331.htm

The exact changes that are being discussed on the above thread did not help. However we found that commenting an IE specific block in ext-all.js did help our cause. The block looks like the following (depicted here from ext-all-debug.js)

// Cleanup IE Object leaks
if (Ext.isIE) {
var t = {};
for (eid in EC) {
t[eid] = EC[eid];
}
EC = Ext.elCache = t;
}

The block appears inside the private method named garbageCollect().

Even though the change fixed our issue overall we are wondering if this has any major repercussions. We need to point out here that all our tests are on IE8 and above. Was this block written for a specific version of IE? (for e.g IE6 or 7), or does it apply for all versions of IE.

What we would like to know is if there are any other alternatives. From reading up on the forums we could understand that the issue does not exist on higher versions. If so, is there a recommended patch that can be applied (while still on version 3.2.0)?

Thank you in advance,
Phani