Have you fixed this issue, Brian? I'm also interesting on solution.
среда, 11 апреля 2012 г., 3:02:20 UTC+4 пользователь BrianG написал:
>
> Hello All,
>
> I'm trying to understand why the following code would break on an
> upgrade from v8 3.3 to 3.9. The code segfaults when creating a new
> handle_scope, if I remove the handle scope inside the while loop it
> will run but will quickly run out of memory. The segfault i'm
> receiving is:
>
> #0 0x00007fffecdc8942 in
> v8::internal::HandleScope::DeleteExtensions(v8::internal::Isolate*) ()
> from
> #1 0x00007fffecd43117 in render::engine::(anonymous
> namespace)::threadLoaded (data=<value optimized out>) at engine.cpp:
> 411
> #2 0x00000000004b857c in ink_thread_trampoline (data=<value optimized
> out>) at InkIOCoreAPI.cc:116
> #3 0x0000003b93a077e1 in start_thread () from /lib64/libpthread.so.0
> #4 0x0000003b936e68ed in clone () from /lib64/libc.so.6
>
> The code is as follows:
>
> v8::Isolate* isolate = v8::Isolate::New();
> v8::Isolate::Scope isolate_scope(isolate); // enter isolate
> v8::Locker locker(isolate);
>
> v8::HandleScope handle_scope;
> v8::Persistent<v8::Context> context = v8::Context::New();
> v8::Context::Scope context_scope(context); // enter base context
>
> // do some stuff
>
> while (true) {
> // Create a new context
> v8::HandleScope per_request_handle_scope;
> v8::Persistent<v8::Context> per_request_context =
> v8::Context::New();
> v8::Context::Scope
> per_request_context_scope(per_request_context); // enter context
>
> // do some stuff
>
> per_request_context.Dispose(); // As always, dispose of the
> context..
> } /*
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users