Repro: new ArrayBuffer(0x7FFFFFFF); Instant OOM. It may be wise to add a check for this to increase stability.
Chromium bug: http://code.google.com/p/chromium/issues/detail?id=42342 The Chromium bug contains a discussion that may be of interest when fixing this. Variations: new Uint32Array(0x3FFFFFFF) new Int32Array(0x3FFFFFFF) new Float32Array(0x3FFFFFFF) new Uint16Array(0x3FFFFFFF) new Int16Array(0x3FFFFFFF) new Uint8Array(0x3FFFFFFF) new Int8Array(0x3FFFFFFF) new ArrayBuffer(0x3FFFFFFF)
To be clear, this crash is only occurring on the Chromium port because of our OOM killer. WebKit behaves correctly; the tryFastMalloc primitive is used to initialize these array instances.