Hi guys
I have an issue when attempting to embed a very simple V8 flow into my
application. Basically I have a wrapper class that holds a global Isolate
(Which I will use everywhere) and also holds the context (Since I want all
events to share any global variables). When I try entering the context I
create in my wrapper class in main, I get this error:
#
> # Fatal error in ../src/api.h, line 402
> # CHECK(that == __null || !(*reinterpret_cast<v8::internal::Context**>(
> const_cast<v8::Context*>(that)))->IsFailure()) failed
> #
> ==== C stack trace ===============================
> 1: V8_Fatal
> 2: v8::Utils::OpenHandle(v8::Context const*, bool)
> 3: v8::Context::Enter()
> 4: init(int, char**)
> 5: ??
> 6: ??
> 7: ??
Here's my wrapper class (JSEngine.cpp):
JSEngine::Engine()
{
printf("Script | DEBUG | Constructing engine\n");
V8::Initialize();
this->isolate = Isolate::GetCurrent();
HandleScope scope(this->isolate);
this->context = Context::New(this->isolate);
Persistent<Context> persistent_context(this->isolate, this->context);
printf("Script | DEBUG | Done constructing engine, context: %lu\n",
this->context);
}
All I wanted this to do is initalize the V8 engine and create a single
Isolate and Context.
Here's my Init (Which throws the error shown in the first quote block when
it hits the second line):
HandleScope handleScope(Server::asEngine->isolate);
printf("Set scope to isolate\n");
Server::asEngine->context->Enter();
printf("Set scope to context\n");
Handle<String> source = String::NewFromUtf8(Server::asEngine->isolate, "var
test = 5;");
Handle<Script> script = Script::Compile(source);
Handle<Value> result = script->Run();
I feel like I am doing something really dumb that it doesn't work as I
expect. All I essentially did was attempt to split up the most basic
example into a class so I could grasp the concept and idea of embedding V8.
Thank you ahead of time if you do post a reply.
--
--
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.