• Richard Musiol's avatar
    misc/wasm: add workaround for missed timeout events · 47e42cda
    Richard Musiol authored
    TryBot is sometimes running into deadlocks on js/wasm. We haven't been
    able to reproduce them yet. This workaround is an experiment to resolve
    these deadlocks by retrying a missed timeout event.
    
    A timeout event is scheduled by Go to be woken by JavaScript after a
    certain amount of time. The checkTimeouts function then checks which
    notes to wake by comparing their deadline to nanotime. If this
    check fails erroneously then the note may stay asleep forever, causing
    a deadlock. This may or may not be the reason of the observed
    deadlocks.
    
    Updates #28975.
    
    Change-Id: I46b9d4069307142914f0e7b3acd4e65578319f0b
    Reviewed-on: https://go-review.googlesource.com/c/go/+/167119Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
    47e42cda
wasm_exec.js 13.5 KB