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.

Reply via email to