Updates:
        Status: WorkingAsIntended

Comment #4 on issue 1349 by [email protected]: v8 Interceptor can't be nesting.
http://code.google.com/p/v8/issues/detail?id=1349

Thanks for the files. The problem is that you are using this pattern:

{
  HandleScope scope;
  Handle<Object> V8Obj = ...;
  return V8Obj;
}

This means that you are returning a handle out of the scope to which it belongs. That is not safe because the object is no longer known by the garbage collector at that point. In debug mode we zap the handle in order to catch these problems which accounts for the assertion you are seeing.

You need to escape the handle to the outer handle scope (or remove the handle scope and rely on the one set up by V8 before calling callbacks). Escaping to the outer handle scope is done by:

return scope.Close(V8Obj);

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to