debug: toggling breakpoints hangs while focus is on an ephemeral goroutine · Issue #1648 · golang/vscode-go (original) (raw)
For asking questions, see:
Before filing an issue, please review our troubleshooting guides
Please answer these questions before submitting your issue. Thanks!
What version of Go, VS Code & VS Code Go extension are you using?
- Run
go version
to get version of Go from the VS Code integrated terminal.- go version go1.16.5 linux/amd64
- Run
gopls -v version
to get version of Gopls from the VS Code integrated terminal.- Build info
golang.org/x/tools/gopls v0.7.0
golang.org/x/tools/gopls@v0.7.0 h1:JQBHW81Gsyim6iDjUwGoPeSpXrSqwen3isPJLfDfaYU=
github.com/BurntSushi/toml@v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/google/go-cmp@v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/sergi/go-diff@v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
golang.org/x/mod@v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
golang.org/x/sys@v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE=
golang.org/x/tools@v0.1.3-0.20210608163600-9ed039809d4c h1:Pv9gNyJFYVdpUAVZYJ1BDSU4eGgXQ+0f3DIGAdolO5s=
golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
honnef.co/go/tools@v0.2.0 h1:ws8AfbgTX3oIczLPNPCu5166oBg9ST2vNs0rcht+mDE=
mvdan.cc/gofumpt@v0.1.1 h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA=
mvdan.cc/xurls/v2@v2.2.0 h1:NSZPykBXJFCetGZykLAxaL6SIpvbVy/UFEniIfHAa8A=
- Run
code -v
orcode-insiders -v
to get version of VS Code or VS Code Insiders.- 1.58.2
c3f126316369cd610563c75b1b1725e0679adfb3
x64
- 1.58.2
- Check your installed extensions to get the version of the VS Code Go extension
- N/A
- Run Ctrl+Shift+P (Cmd+Shift+P on Mac OS) >
Go: Locate Configured Go Tools
command.- Checking configured tools....
GOBIN: undefined
toolsGopath:
gopath: /home/swolf/go
GOROOT: /home/swolf/go-sdk
PATH: /home/swolf/go-sdk/bin:/home/swolf/go/bin:/home/swolf/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/swolf/protobuf/bin
gopkgs: /home/swolf/go/bin/gopkgs installed
go-outline: /home/swolf/go/bin/go-outline installed
gotests: /home/swolf/go/bin/gotests installed
gomodifytags: /home/swolf/go/bin/gomodifytags installed
impl: /home/swolf/go/bin/impl installed
goplay: /home/swolf/go/bin/goplay installed
dlv: /home/swolf/go/bin/dlv installed
dlv-dap: /home/swolf/go/bin/dlv-dap installed
staticcheck: /home/swolf/go/bin/staticcheck installed
gopls: /home/swolf/go/bin/gopls installed
go env
Workspace Folder (pb): /home/swolf/Projects/pb
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/swolf/.cache/go-build"
GOENV="/home/swolf/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/swolf/go/pkg/mod"
GONOPROXY="github.com/luckypointlabs,github.com/Arkadia-tech"
GONOSUMDB="github.com/luckypointlabs,github.com/Arkadia-tech"
GOOS="linux"
GOPATH="/home/swolf/go"
GOPRIVATE="github.com/luckypointlabs,github.com/Arkadia-tech"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/swolf/go-sdk"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/swolf/go-sdk/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.5"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/swolf/Projects/pb/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2546632551=/tmp/go-build -gno-record-gcc-switches"
Share the Go related settings you have added/edited
Nothing very interesting...
Describe the bug
When I set a breakpoint in a running session using dlv-dap, the process hangs (assuming it wasn't paused when I set the BP).
When I clear a BP in a paused session using dlv-dap, I thrown into src/runtime/sigqueue.go:168
Eitherway - unable to change BPs in an active debug session. I can change them if I exit the process first, and start a new session.
Steps to reproduce the behavior:
launch a go server
to set a BP on something you know will trigger in a moment / after an action
do that action to trigger that code
nothing will ever happen (the process is frozen)
Screenshots or recordings
If applicable, add screenshots or recordings to help explain your problem.