• Austin Clements's avatar
    runtime: fix deadlock in TestCrashDumpsAllThreads · 7c22af83
    Austin Clements authored
    TestCrashDumpsAllThreads carefully sets the number of Ps to one
    greater than the number of non-preemptible loops it starts so that the
    main goroutine can continue to run (necessary because of #10958).
    However, if GC starts, it can take over that one spare P and lock up
    the system while waiting for the non-preemptible loops, causing the
    test to eventually time out. This deadlock is easily reproducible if
    you run the runtime test with GOGC=1.
    
    Fix this by forcing GOGC=off when running this test.
    
    Change-Id: Ifb22da5ce33f9a61700a326ea92fcf4b049721d1
    Reviewed-on: https://go-review.googlesource.com/19516
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    7c22af83
crash_unix_test.go 4.21 KB