Was any bug filed? This also describes what I'm seeing and I'd like to see any follow up discussion.
Thanks. On Wednesday, 11 May 2016 06:05:14 UTC+1, Jochen Eisinger wrote: > > Could you file a bug please, if possible with a complete reproduction case? > > Thanks > Jochen > > Joris Wijnant <[email protected] <javascript:>> schrieb am Mo., 9. Mai > 2016, 14:23: > >> Hi, >> >> I have the following callback definition. >> >> void Callback(const v8::FunctionCallbackInfo<v8::Value>& info) >> { >> string strLogLine = ""; >> v8::Isolate* pIsolate = info.GetIsolate(); >> >> >> for (int i = 0; i < info.Length(); i++) >> { >> strLogLine += " " + >> string(*(v8::String::Utf8Value(info[i]->ToString(pIsolate)))); >> } >> >> Log('i', strLogLine); >> } >> >> It worked fine, till today. >> The callback is still called, but it crashes. >> because the Utf8Value internally calls the Isolate::GetCurrent(), which >> returns NULL. (check failed: isolate != NULL) >> >> Can someone tell me in what cases the Isolate::GetCurrent() will return >> NULL, and more precisely inside a callback function? >> >> >> the function to execute javascript, which will trigger the callback >> >> >> v8::Local<v8::Value> CScriptContext::ExecuteScript(const ustring & >> strExpression, bool & bResult) >> { >> //Local variables >> v8::Local<v8::Value> Result; >> >> >> v8::Locker lock(m_pIsolate); // v8::Isolate * m_pIsolate >> >> v8::EscapableHandleScope handle_scope(m_pIsolate); >> >> v8::Local<v8::Context> Context = m_pContext->Get(m_pIsolate); // >> v8::Persistent<v8::Context> m_pContext >> >> v8::Context::Scope contextScope(Context); >> >> v8::Local<v8::String> source = >> v8::String::NewFromUtf8(m_pIsolate, strExpression.c_str()); >> v8::MaybeLocal<v8::Script> script = v8::Script::Compile(Context, source); >> >> if (!script.IsEmpty()) >> { >> v8::Local<v8::Script> v8LocalScript = script.ToLocalChecked(); >> Result = v8LocalScript->Run(); >> >> if (Result.IsEmpty()) { >> VoxLog(M, 'W', F, L, "[JS][ScriptContext][ExecuteScript] result of the >> executed script is empty"); >> bResult = false; >> } >> else >> { >> bResult = true; >> } >> } >> else >> { >> >> bResult = false; >> } >> return handle_scope.Escape(Result); >> } >> >> -- >> -- >> v8-users mailing list >> [email protected] <javascript:> >> 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 [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- -- v8-users mailing list [email protected] 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
