johanns / crypto-js

Automatically exported from code.google.com/p/crypto-js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rangeerror when using web workers

GoogleCodeExporter opened this issue · comments

On some versions of chrome [1] and when using web workers there is a very small 
limit to the argment length supported by the Function.apply method. Too many 
arguments raise a "RangeError: Maximum call stack size exceeded" exception. 
CryptoJS guards against this passing too many arguments [2] but we found that 
in one chrome build (Fedora Linux 64bit) the limit in web workers was smaller, 
at 31774, and not 65536 as is currently checked by CryptoJS. 

At present we are forced to patch CryptoJS to use a smaller limit (31774) 
because we need to support Linux users. I am not sure what the cause of the 
limit is, I've mentioned the issue to the chromium team (see below) but in the 
meantime it would be nice if we could get a fix in CryptoJS somehow.

1. https://code.google.com/p/chromium/issues/detail?id=252492#c5
2. http://code.google.com/p/crypto-js/issues/detail?id=37, 
http://code.google.com/p/crypto-js/source/browse/branches/3.x/src/core.js?spec=s
vn499&r=499#203

Original issue reported on code.google.com by koukopoulos on 2 Dec 2013 at 11:12

here's a fiddle that shows different limits in web workers for some versions of 
chrome: http://jsfiddle.net/3wrju/17/

Original comment by koukopoulos on 11 Dec 2013 at 9:12