• Lynn Boger's avatar
    runtime: fix runtime-gdb.py when switching sp value · 048988a0
    Lynn Boger authored
    After a recent change to runtime-gdb_test.go the ppc64le builder
    has had intermittent failures. The failures occur when trying to
    invoke the goroutineCmd function to display the backtrace for
    a selected goroutine. There is nothing wrong with the testcase
    but it seems to intermittently leave goroutines in a state
    where an error can occur.
    
    The error message indicates that the problem occurs when trying
    to change the sp back to the original after displaying the
    stacktrace for the goroutine.
    
    gdb.error: Attempt to assign to an unmodifiable value.
    
    After some searching I found that this error message can happen
    if the sp register is changed when on a frame that is not the
    top-most frame. To fix the problem, frame 0 is selected before
    changing the value of sp. This fixes the problem in my
    reproducer environment, and hopefully will fix the problem on
    the builder.
    
    Updates #28679
    
    Change-Id: I329bc95b30f8c95acfb161b0d9cfdcbd917a1954
    Reviewed-on: https://go-review.googlesource.com/c/152540
    Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
    Reviewed-by: 's avatarAustin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    048988a0
runtime-gdb.py 14.4 KB