Essentially, --predictable turns off anything in V8 that is known to cause
changes in behavior from one run to the next: multiple thread usage (it
restricts V8 to using *just one thread*, no background threads at all), the
random number generator in Math.random(), and anything else we could think
of (which I can't think of right now ;-) ). It is intended for debugging
flaky problems (by making them reproducible), but sometimes it has the side
effect of hiding flaky problems...

On Sun, Sep 24, 2017 at 8:52 PM, Brandon Jonson <brandon.e.jon...@gmail.com>
wrote:

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

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