go: cmd/compile/internal/ssa: test TestNexting failing
What version of Go are you using (go version
)?
$ go version go version release-1_14-work.mailed linux/amd64
What operating system and processor architecture are you using?
Debian GNU/Linux rodete amd64
What did you do?
Ran test from the src
directory.
$ go/src> go test cmd
What did you expect to see?
Passing tests
What did you see instead?
--- FAIL: TestNexting (7.71s)
--- FAIL: TestNexting/dlv-dbg-hist (7.71s)
panic: There was an error writing 'b main.test
', write |1: broken pipe
[recovered]
panic: There was an error writing 'b main.test
', write |1: broken pipe
goroutine 249 [running]:
testing.tRunner.func1.1(0xc84b60, 0xc0004aa3b0)
/home/chuck/Code/go/src/testing/testing.go:942 +0x3d0
testing.tRunner.func1(0xc00051d680)
/home/chuck/Code/go/src/testing/testing.go:945 +0x3f9
panic(0xc84b60, 0xc0004aa3b0)
/home/chuck/Code/go/src/runtime/panic.go:967 +0x15d
cmd/compile/internal/ssa_test.(*ioState).writeReadExpect(0xc0002f7030, 0xcf606d, 0xc, 0xcf42fc, 0xa, 0x0, 0x0, 0xc000318000, 0x87)
/home/chuck/Code/go/src/cmd/compile/internal/ssa/debug_test.go:861 +0x299
cmd/compile/internal/ssa_test.(*delveState).start(0xc00002a1e0)
/home/chuck/Code/go/src/cmd/compile/internal/ssa/debug_test.go:562 +0x216
cmd/compile/internal/ssa_test.runDbgr(0xed5180, 0xc00002a1e0, 0x3e8, 0x2a)
/home/chuck/Code/go/src/cmd/compile/internal/ssa/debug_test.go:279 +0x35
cmd/compile/internal/ssa_test.testNexting(0xc00051d680, 0xcec462, 0x4, 0xc0000974d0, 0x7, 0xcec5f0, 0x5, 0x3e8, 0x1423490, 0x0, ...)
/home/chuck/Code/go/src/cmd/compile/internal/ssa/debug_test.go:246 +0x5dd
cmd/compile/internal/ssa_test.subTest.func1(0xc00051d680)
/home/chuck/Code/go/src/cmd/compile/internal/ssa/debug_test.go:180 +0xae
testing.tRunner(0xc00051d680, 0xc000076690)
/home/chuck/Code/go/src/testing/testing.go:993 +0xdc
created by testing.(*T).Run
/home/chuck/Code/go/src/testing/testing.go:1044 +0x357
FAIL cmd/compile/internal/ssa 133.862s
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 1
- Comments: 15 (15 by maintainers)
How many (if any) of the builders have
dlv
installed?Looking at the test body, it appears that we skip the test entirely otherwise (rather that, say, falling back to GDB). Is that intentional?
Given that Delve is a Go program, perhaps the test should instead download and build (a specific version of) the
dlv
binary locally iftestenv.Builder()
is non-empty andtesting.Short()
is false.https://github.com/golang/go/blob/0efbd1015774a2d894138519f1efcf7704bb2d95/src/cmd/compile/internal/ssa/debug_test.go#L114 https://github.com/golang/go/blob/0efbd1015774a2d894138519f1efcf7704bb2d95/src/cmd/compile/internal/ssa/debug_test.go#L130-L136
Delve says it doesn’t support 386:
and then it panics all over the place.
Still haven’t gotten gdb to work consistently-properly on either Darwin or Linux; I have a fear that success depends not just on gdb version, but also on the version of Python that is compiled into it when gdb is built.
@bcmills I added dlv to the containers that run longtests, so it should be there.
Using gdb is a recipe for flaky awfulness, different versions behave differently, it can be sensitive to your Python installation, it’s not an option on Macs anymore (as in, I have been unable to build and install it correctly despite multiple tries and many searches for how-to recipes – I follow them, I do not end up debugging code as a non-root user).