Hello All! 

I have V8 embedded in a multi threaded app. The app uses locker/unlocker 
and all seems to work just fine in those regards (no locker errors or full 
on app crashes). I do have an edge case though I thought I'd get some input 
on. If I basically pound the isolate (utilizing locker of course) from 
multiple threads v8 will eventually FREEZE on a resolve and never respond. 
Below is the line it freezes on...

resolver->Resolve(String::NewFromUtf8(isolate, msg));

It doesn't crash the app...it just won't ever move on from that line of 
code, waiting for V8. It's as if V8 decided to just not respond anymore but 
I'm not seeing any indication of an error. Also if I change this to an 
actual function call it will do the same thing (so not necessarily Promise 
related).

The crazy thing is that when I add the --predictable flag that issue goes 
away. I understand they replaced set_max_available_threads, allowing the 
Platform to handle the work and that this --predictable flag basically 
forces the Platform to use one thread for background processes (I think). 
My assumption the freeze is occurring because of too many threads?  

Anyway I was hoping somebody a hell of a lot smarter than me could explain 
what this flag is changing and what fresh hell did I open myself up to by 
enabling it. 

Thank You! 

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
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 v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to