Upgrade from 3.3 to 3.9 causes code to segfault

40 views
Skip to first unread message

BrianG

unread,
Apr 10, 2012, 7:02:20 PM4/10/12
to v8-users
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..
} /*

Oleg Efimov

unread,
Apr 29, 2012, 4:16:32 PM4/29/12
to v8-u...@googlegroups.com
Have you fixed this issue, Brian? I'm also interesting on solution.

среда, 11 апреля 2012 г., 3:02:20 UTC+4 пользователь BrianG написал:
Reply all
Reply to author
Forward
0 new messages