Status: New
Owner: ----

New issue 3207 by [email protected]: native context separation Fatal Error
http://code.google.com/p/v8/issues/detail?id=3207

I'm a Node.js user and I can consistently create a state in v8 that triggers an infinite series of garbage collections with a corresponding 100% CPU usage. I will summarize the situation here, but there is a lot more information that I have posted in a Joyent Node.js issue:

https://github.com/joyent/node/issues/7274

The problem happens in all of the Node.js 0.11 released versions, up to and including the latest version available via the GitHub master branch. I believe this code uses v8 version 3.22.24.

The one requirement is that the -harmony_generators (or the equivalent - harmony) flag be used. Without it, the code runs fine. It is not necessary for the code to use any Harmony features.

The real breakthrough came when I also used the - verify_native_context_separation v8 flag. This caused the printout of a v8 fatal error from the garbage collector, shortly before the infinite series of garbage collections started. I believe the garbage collections are a consequence, not the cause.

None of the programs that I have seen the fatal error on use any native C code modules. They are all 100% Javascript. If they have something in common, it is that the amount of code is relatively non-trivial.

If I had to point to a single NPM module as likely to trigger the fatal error, I would point to the lodash module. But frustratingly, loading that module by itself works just fine.

So the smallest program that will trigger the fatal error is just:

require("bookshelf");

One of the first things that the Bookshelf.js module does is load lodash.


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to