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 > <javascript:>> 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 <javascript:> >> 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 <javascript:>. >> 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 > <javascript:>> 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 <javascript:> >> 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 <javascript:>. >> 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 > <javascript:>> 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 <javascript:> >> 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 <javascript:>. >> 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.