If that doesn't do it, again try to come up with a self contained example and post it. Like I said before often v8 errors mean nothing more than "you screwed up somewhere" so just the error message is rather meaningless--at least to me.
On Wed, Sep 6, 2017 at 12:00 PM Zac Hansen <xax...@gmail.com> wrote: > As far as I know they are only the ones you explicitly make to hold on to > things outside of the scope of JavaScript. Anything with the term > "global" or "persistent" is a likely culprit. > > Again these are all guesses. I would try taking a snapshot that works > creating a global handle and trying again to see that it causes the same > assertion before pursuing down this path to make sure I'm not just > completely wrong. > > On Wed, Sep 6, 2017 at 11:56 AM Francisco Moraes < > francisco.mor...@gmail.com> wrote: > >> What's the best way to find what the Global Handles actually are? I found >> that I can print the handles but it still doesn't help me find what they >> actually are. Once I know what they are, I can find the culprit and >> eliminate it. >> >> >> On Wednesday, September 6, 2017 at 2:32:49 PM UTC-4, Zac Hansen wrote: >> >>> Just a guess but how would he system know how to deal with objects held >>> by global handles when making a snapshot? You can't serialize the global >>> handles in such a way that they would be useful in any way? >>> >>> I'm guessing this is just a sanity check to make sure you aren't doing >>> something unintended. >>> >>> I could be completely wrong but I'd say just free up your globals and if >>> that changes the behavior then you weren't ready to make a snapshot anyhow. >>> >>> >>> On Wed, Sep 6, 2017 at 11:27 AM Francisco Moraes <francisc...@gmail.com> >>> wrote: >>> >>>> After fixing the issue about the handle scope, I can successfully >>>> create the snapshot for the test code, but when I tried something more >>>> complicated, I ran into this now: >>>> >>>> Check failed: 0 == isolate->global_handles()->global_handles_count() (0 >>>> vs. 4). >>>> >>>> >>>> On Wednesday, September 6, 2017 at 12:27:35 PM UTC-4, Zac Hansen wrote: >>>>> >>>>> >>>>> https://v8.paulfryzel.com/docs/master/classv8_1_1_snapshot_creator.html#a86b2023acdb88a9bd6eae2695f2b0a8a >>>>> >>>>> Created a snapshot data blob. This must not be called from within a >>>>> handle scope. >>>>> >>>>> >>>>> >>>>> >>>>> On Wednesday, September 6, 2017 at 7:20:33 AM UTC-7, Francisco Moraes >>>>> wrote: >>>>>> >>>>>> Here's a simple recreate that I managed to create: >>>>>> >>>>>> #include <string.h> >>>>>> >>>>>> #include "v8.h" >>>>>> #include "libplatform/libplatform.h" >>>>>> >>>>>> int main(int argv, char **argc) >>>>>> { >>>>>> const char *v8flags = ""; >>>>>> v8::Platform *platform = v8::platform::CreateDefaultPlatform(); >>>>>> v8::V8::SetFlagsFromString (v8flags, strlen (v8flags)); >>>>>> v8::V8::InitializePlatform(platform); >>>>>> v8::V8::Initialize(); >>>>>> >>>>>> v8::SnapshotCreator creator; >>>>>> v8::Isolate *isolate = creator.GetIsolate(); >>>>>> >>>>>> v8::HandleScope handle_scope(isolate); >>>>>> v8::Local<v8::Context> context = v8::Context::New(isolate); >>>>>> const char* source = "function initialize(obj) { return true; }"; >>>>>> v8::Context::Scope context_scope(context); >>>>>> v8::TryCatch try_catch(isolate); >>>>>> v8::Local<v8::String> source_string; >>>>>> v8::String::NewFromUtf8(isolate, source, >>>>>> v8::NewStringType::kNormal) >>>>>> .ToLocal(&source_string); >>>>>> v8::ScriptOrigin origin = >>>>>> v8::ScriptOrigin(v8::String::NewFromUtf8(isolate, "testscript")); >>>>>> v8::ScriptCompiler::Source sourcecode(source_string, origin); >>>>>> v8::Local<v8::Script> script; >>>>>> bool success = v8::ScriptCompiler::Compile(context, >>>>>> &sourcecode).ToLocal(&script); >>>>>> >>>>>> script->Run(context); >>>>>> >>>>>> creator.SetDefaultContext(context); >>>>>> v8::StartupData blob = >>>>>> creator.CreateBlob(v8::SnapshotCreator::FunctionCodeHandling::kClear); >>>>>> >>>>>> return 1; >>>>>> } >>>>>> >>>>>> The interesting thing is if I call v8::V8::CreateSnapshotDataBlob it >>>>>> works as it does all the above work for me, so something in trying to use >>>>>> the SnapshotCreator is causing me some issue as I will need to handle >>>>>> custom embedder fields, etc... >>>>>> >>>>>> On Tuesday, September 5, 2017 at 2:50:36 PM UTC-4, Zac Hansen wrote: >>>>>>> >>>>>>> That kind of error usually means you either haven't created a >>>>>>> context or aren't in a context or haven't created an appropriate handle. >>>>>>> Or... Something else :-/. Maybe a lock? V8 errors are very much a "you >>>>>>> screwed up somewhere" notification and often nothing more >>>>>>> >>>>>>> On Tue, Sep 5, 2017 at 9:42 AM Francisco Moraes < >>>>>>> francisc...@gmail.com> wrote: >>>>>>> >>>>>>>> I will give it a try sometime this week. I tried to remove our >>>>>>>> initialization JS file but that caused a failure further down the >>>>>>>> serialization as well, so still investigating. >>>>>>>> >>>>>>>> >>>>>>>> On Saturday, September 2, 2017 at 1:07:28 AM UTC-4, Zac Hansen >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Can you post a minimal complete example that reproduces your >>>>>>>>> problem? >>>>>>>>> >>>>>>>>> On Friday, September 1, 2017 at 8:57:51 AM UTC-7, Francisco Moraes >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> I am trying to create a snapshot that includes most of code but I >>>>>>>>>> ran into the following assertion: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> CHECK(isolate->handle_scope_implementer()->blocks()->is_empty()); >>>>>>>>>> >>>>>>>>>> Any clarifications about what would generate it that our JS code >>>>>>>>>> is doing and is not legal? I found that creating Unsafe Arrays is >>>>>>>>>> also not >>>>>>>>>> permitted but that is relatively easy to work around. >>>>>>>>>> >>>>>>>>>> Francisco >>>>>>>>>> >>>>>>>>> -- >>>>>>>> -- >>>>>>>> v8-users mailing list >>>>>>>> v8-u...@googlegroups.com >>>>>>>> http://groups.google.com/group/v8-users >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>> the Google Groups "v8-users" group. >>>>>>>> To unsubscribe from this topic, visit >>>>>>>> https://groups.google.com/d/topic/v8-users/kxtnaSSQL9c/unsubscribe. >>>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>>> v8-users+u...@googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>> On Tuesday, September 5, 2017 at 2:50:36 PM UTC-4, Zac Hansen wrote: >>>>>>> >>>>>>> That kind of error usually means you either haven't created a >>>>>>> context or aren't in a context or haven't created an appropriate handle. >>>>>>> Or... Something else :-/. Maybe a lock? V8 errors are very much a "you >>>>>>> screwed up somewhere" notification and often nothing more >>>>>>> >>>>>>> On Tue, Sep 5, 2017 at 9:42 AM Francisco Moraes < >>>>>>> francisc...@gmail.com> wrote: >>>>>>> >>>>>>>> I will give it a try sometime this week. I tried to remove our >>>>>>>> initialization JS file but that caused a failure further down the >>>>>>>> serialization as well, so still investigating. >>>>>>>> >>>>>>>> >>>>>>>> On Saturday, September 2, 2017 at 1:07:28 AM UTC-4, Zac Hansen >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Can you post a minimal complete example that reproduces your >>>>>>>>> problem? >>>>>>>>> >>>>>>>>> On Friday, September 1, 2017 at 8:57:51 AM UTC-7, Francisco Moraes >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> I am trying to create a snapshot that includes most of code but I >>>>>>>>>> ran into the following assertion: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> CHECK(isolate->handle_scope_implementer()->blocks()->is_empty()); >>>>>>>>>> >>>>>>>>>> Any clarifications about what would generate it that our JS code >>>>>>>>>> is doing and is not legal? I found that creating Unsafe Arrays is >>>>>>>>>> also not >>>>>>>>>> permitted but that is relatively easy to work around. >>>>>>>>>> >>>>>>>>>> Francisco >>>>>>>>>> >>>>>>>>> -- >>>>>>>> -- >>>>>>>> v8-users mailing list >>>>>>>> v8-u...@googlegroups.com >>>>>>>> http://groups.google.com/group/v8-users >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>> the Google Groups "v8-users" group. >>>>>>>> To unsubscribe from this topic, visit >>>>>>>> https://groups.google.com/d/topic/v8-users/kxtnaSSQL9c/unsubscribe. >>>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>>> v8-users+u...@googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>> On Tuesday, September 5, 2017 at 2:50:36 PM UTC-4, Zac Hansen wrote: >>>>>>> >>>>>>> That kind of error usually means you either haven't created a >>>>>>> context or aren't in a context or haven't created an appropriate handle. >>>>>>> Or... Something else :-/. Maybe a lock? V8 errors are very much a "you >>>>>>> screwed up somewhere" notification and often nothing more >>>>>>> >>>>>>> On Tue, Sep 5, 2017 at 9:42 AM Francisco Moraes < >>>>>>> francisc...@gmail.com> wrote: >>>>>>> >>>>>>>> I will give it a try sometime this week. I tried to remove our >>>>>>>> initialization JS file but that caused a failure further down the >>>>>>>> serialization as well, so still investigating. >>>>>>>> >>>>>>>> >>>>>>>> On Saturday, September 2, 2017 at 1:07:28 AM UTC-4, Zac Hansen >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Can you post a minimal complete example that reproduces your >>>>>>>>> problem? >>>>>>>>> >>>>>>>>> On Friday, September 1, 2017 at 8:57:51 AM UTC-7, Francisco Moraes >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> I am trying to create a snapshot that includes most of code but I >>>>>>>>>> ran into the following assertion: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> CHECK(isolate->handle_scope_implementer()->blocks()->is_empty()); >>>>>>>>>> >>>>>>>>>> Any clarifications about what would generate it that our JS code >>>>>>>>>> is doing and is not legal? I found that creating Unsafe Arrays is >>>>>>>>>> also not >>>>>>>>>> permitted but that is relatively easy to work around. >>>>>>>>>> >>>>>>>>>> Francisco >>>>>>>>>> >>>>>>>>> -- >>>>>>>> -- >>>>>>>> v8-users mailing list >>>>>>>> v8-u...@googlegroups.com >>>>>>>> http://groups.google.com/group/v8-users >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>> the Google Groups "v8-users" group. >>>>>>>> To unsubscribe from this topic, visit >>>>>>>> https://groups.google.com/d/topic/v8-users/kxtnaSSQL9c/unsubscribe. >>>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>>> v8-users+u...@googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> -- >>>> -- >>>> v8-users mailing list >>>> v8-u...@googlegroups.com >>>> http://groups.google.com/group/v8-users >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "v8-users" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/v8-users/kxtnaSSQL9c/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> v8-users+u...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> -- >> v8-users mailing list >> v8-users@googlegroups.com >> http://groups.google.com/group/v8-users >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "v8-users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/v8-users/kxtnaSSQL9c/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> v8-users+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > -- -- 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.