Thanks Jakob! I definitely have a flaky problem and it hides it well! If I turn off the flag and override just the MonotonicallyIncreasingTime() function to return MonotonicallyIncreasingTime() * 1000 the problem vanishes. Looks like it has to do with CallDelayedOnForegroundThread being called and causing V8 to freeze up. When I override that function the CallDelayedOnForegroundThread never gets called thus the program runs. I got a lot of research/learning to do in order to understand and resolve this one.
Thanks, -B- On Sunday, September 24, 2017 at 11:05:50 PM UTC-5, Jakob Kummerow wrote: > > 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....@gmail.com > <javascript:>> 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-u...@googlegroups.com <javascript:> >> 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+u...@googlegroups.com <javascript:>. >> 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.