• Shenghou Ma's avatar
    runtime: re-enable TestNewProc0 on android/arm and fix heap corruption · 4d1ab2d8
    Shenghou Ma authored
    The problem is not actually specific to android/arm. Linux/ARM's
    runtime.clone set the stack pointer to child_stk-4 before calling
    the fn. And then when fn returns, it tries to write to 4(R13) to
    provide argument for runtime.exit, which is just beyond the allocated
    child stack, and thus it will corrupt the heap randomly or trigger
    segfault if that memory happens to be unmapped.
    
    While we're at here, shorten the test polling interval to 0.1s to
    speed up the test (it was only checking at 1s interval, which means
    the test takes at least 1s).
    
    Fixes #10548.
    
    Change-Id: I57cd63232022b113b6cd61e987b0684ebcce930a
    Reviewed-on: https://go-review.googlesource.com/9457Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
    4d1ab2d8
norace_linux_test.go 890 Bytes