I'm not aware of a bug. If you could file one with repro steps, that'd be great!
Neil Moore <[email protected]> schrieb am Mi., 22. Juni 2016, 15:48: > 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]> 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] >> >> >>> 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. >>> >> -- > -- > 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. > -- -- 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.
