Since Chrome 51 we've got these errors in couple of places in our code.
https://twitter.com/reinmarpl/status/737926748453670912
Apparently, there's something wrong with the new V8. We need a quick workaround to be able to continue working and we need to report this to the V8 team.
As for the workaround (6a0e21f5) I've got two comments:
I've added more changes according to your suggestions.
It looks like delegating from one generator to iterable object throws in chrome v51:
'use strict';
const keys = getAttributeKeys();
for (let key of keys) {
if (key === 'three') {
break;
}
console.log(key);
}
function* getAttributeKeys() {
yield* ['one', 'two', 'three'];
}
Delegating to another generator instead of array works ok.
I reported this to v8 bug tracker https://bugs.chromium.org/p/v8/issues/detail?id=5057.
Looks like the bug was fixed by V8 team: https://bugs.chromium.org/p/v8/issues/detail?id=5057#c18
We'll be able to revert our changes soon.
Chrome 51 is out, so it may be worth to try reverting all the changes that we've made.
Sorry, I can still reproduce the issue on the fiddle, so I guess Chrome 51 doesn't use that fixed V8 version yet.
Let's revert those changes :D
Most helpful comment
I reported this to v8 bug tracker https://bugs.chromium.org/p/v8/issues/detail?id=5057.