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

Reply via email to