Comment #5 on issue 3024 by [email protected]: TryCatch::Exception Crashing on Access after Checks.
http://code.google.com/p/v8/issues/detail?id=3024

Happens here.
Local<Value> executeFunction(Isolate* iso, const Persistent<Function>& fnc, Handle<Object> recv, int argc, Handle<Value> argv[])
        {
                Locker lck(iso);
                Isolate::Scope isoScope(iso);
                HandleScope scope(iso);

                TryCatch tCatch;

Local<Value> retVal = Handle<Function>::New(iso, fnc)->Call(recv, argc, argv);

                if(tCatch.HasCaught())
                {
                        reportException(iso, tCatch);
                        return tCatch.Exception();
                }

                return retVal;
        }

Doesn't happen here.

void ScriptManager::executeGlobalScript(const std::string &fileName)
{
        std::string* fileData = readScriptFile(fileName);

        if(fileData == nullptr)
                return;

        Locker lck(mGlobalIsolate);
        Isolate::Scope isoScope(mGlobalIsolate);
        HandleScope scope(mGlobalIsolate);

        Handle<Context> ctx = Local<Context>::New(mGlobalIsolate, 
mGlobalContext);

        ctx->Enter();

        Handle<Object> global = ctx->Global();

Local<Script> script = Script::Compile(String::New(fileData->c_str()), String::New(fileName.c_str()));

        TryCatch tCatch;
        Local<Value> result = script->Run();

        if(tCatch.HasCaught())
        {
                reportException(mGlobalIsolate, tCatch);
        }

        ctx->Exit();

        delete fileData;
}

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" 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/groups/opt_out.

Reply via email to