Hey,

I'm hoping someone with more experience than me can shed some light on my 
issue.

v8 is being run on a separate thread to the main thread, all interactions 
with v8 occur on this thread

The problem is that when an action (playing/pausing a film in android's 
MediaPlayer) occurs on the main thread, the app has a high chance of 
crashing either straight away or after a short period (can be as high as 
600ms).

The crash is always the same (with differing address(:

signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x45524854
Although occasionally SEGV_ACCERR might be SEGV_MAPERR.

Stack frame #00 pc 0061d3ec  /[...]/lib/arm/libnative_webgl.so 
(v8::internal::AstValueFactory::Internalize(v8::internal::Isolate*)+56)

SEGV_ACCERR and SEGV_MAPERR surely imply that the v8 thread is accessing 
data on another thread, but as far as my code is concerned, nothing 
interesting is happening when the crash occurs and if there are any calls 
to js land they're happening on the thread v8 was created with.

The code for AstValueFactory::Internalize is
void AstValueFactory::Internalize(Isolate* isolate) {
  if (isolate_) {
    // Everything is already internalized.
    return;
  }
  // Strings need to be internalized before values, because values refer to
  // strings.
  for (int i = 0; i < strings_.length(); ++i) {
    strings_[i]->Internalize(isolate);
  }
  for (int i = 0; i < values_.length(); ++i) {
    values_[i]->Internalize(isolate);
  }
  isolate_ = isolate;
}


Do you have any thoughts about what could cause this? If the media player 
action is corrupting memory in some way, is there some reason that it 
always crashes on this particular function?

I'm using v8 3.2.8 on Android (via NDK). (unfortunately upgrading to more 
recent v8 isn't an option).

v8::Locker is used before every handle_scope, should I be doing something 
else to ensure thread safety?

Been on this problem for a long time now, any insight someone might have 
will be useful.

Thanks,
George Corney

-- 
-- 
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.

Reply via email to