Thank you! Unfortunately, for everyone, it is getting clearer and clearer that this is an optimization issue. The issue does not reproduce with the --no-crankshaft flag.
The code is calling something like - jQuery.extend(/* deepCopy */ true, {string: 'something'}, {string, 'something', instance: someConstructedInstance}) (Where someConstructedInstance is a an instance of an object based on an enhanced Backbone View Model, so it is not a plain object) And sometimes (it used to occasionally appear, it now appears most often than not), jQuery.isPlainObject returns true for the value of instance. That jQuery function finishes with the following statements <https://github.com/jquery/jquery/blob/d71f6a53927ad02d728503385d15539b73d21ac8/src/core.js#L472-L475> - var key; for ( key in obj ) {} return key === undefined || core_hasOwn.call( obj, key ); >From my debugging, it sometimes fails the key === undefined <https://github.com/jquery/jquery/blob/d71f6a53927ad02d728503385d15539b73d21ac8/src/core.js#L475> check (if I add more logging code, it returns true - that does not make sense) and it sometimes fails the core_hasOwn.call( obj, key ) <https://github.com/jquery/jquery/blob/d71f6a53927ad02d728503385d15539b73d21ac8/src/core.js#L475> check (which returns true for a key that is not an own property). When this happen, Object.keys(obj).indexOf(key) returns -1. I verified that the key is indeed not an own property. (I am using jQuery 1.9.1 and cannot update it, but the code has basically gone through simplification, not real bug fixes) I think it may have started since Chrome 52, I am not sure. It evidently possibly became much, much worse in Chrome 53 (Windows 7, Intel Core i5, 32 bit). I should report it, but I cannot disclose the code (it is a several-megabyte package that includes - and uses in that stack - several libraries like Knockout, Backbone, Underscore and more). Can someone suggest how I can diagnose and debug this further (without a native code debugger) in order to help you understand the exact issue (without showing code :()? ☆*PhistucK* On Tuesday, September 20, 2016 at 3:54:19 PM UTC+3, Michael Hablich wrote: > --no-crankshaft should do the trick. The name is misleading, it will also > disable TurboFan. > > On Tuesday, September 20, 2016 at 1:51:51 PM UTC+2, PhistucK wrote: >> >> I have an issue where the code suddenly (since Chrome 53) gets caught up >> in a cyclic recursion until it exceeds the stack size limit. >> >> Since the code is the same, I want to try and rule out engine >> optimization issues. Is there a V8 flag for disabling all of the >> optimizations? >> >> >> ☆*PhistucK* >> > -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.