-
Bug
-
Resolution: Unresolved
-
Undefined
-
rhel-10.1
-
None
-
delve-1.25.2-1.el10
-
No
-
Moderate
-
rhel-pt-go
-
None
-
False
-
False
-
-
None
-
None
-
Pass
-
Automated
-
Unspecified
-
Unspecified
-
Unspecified
-
None
With latest golang-1.25.0-1.el10, delve-1.24.1-2.el10 no longer prints local variables when issuing locals command (see (no locals) in the output below):
[root@vm ~]# rpm -qa golang delve delve-1.24.1-2.el10.x86_64 golang-1.25.0-1.el10.x86_64 [root@vm ~]# cat hello.go package main import "fmt" func hello_world() { fmt.Println("Hello World") } func main() { i := 10 hello_world() i-- } [root@vm ~]# cat init.txt break main.main continue next break hello_world continue next 4 locals continue exit [root@vm ~]# dlv debug hello.go --init ./init.txt --check-go-version=false WARNING: undefined behavior - version of Delve is too old for Go version go1.25.0 (maximum supported version 1.24) Type 'help' for list of commands. Breakpoint 1 set at 0x4b6d6a for main.main() ./hello.go:9 > [Breakpoint 1] main.main() ./hello.go:9 (hits goroutine(1):1 total:1) (PC: 0x4b6d6a) 4: 5: func hello_world() { 6: fmt.Println("Hello World") 7: } 8: => 9: func main() { 10: i := 10 11: hello_world() 12: i-- 13: } > main.main() ./hello.go:10 (PC: 0x4b6d6e) 5: func hello_world() { 6: fmt.Println("Hello World") 7: } 8: 9: func main() { => 10: i := 10 11: hello_world() 12: i-- 13: } Breakpoint 2 set at 0x4b6cea for main.hello_world() ./hello.go:5 > [Breakpoint 2] main.hello_world() ./hello.go:5 (hits goroutine(1):1 total:1) (PC: 0x4b6cea) 1: package main 2: 3: import "fmt" 4: => 5: func hello_world() { 6: fmt.Println("Hello World") 7: } 8: 9: func main() { 10: i := 10 Hello World > main.main() ./hello.go:13 (PC: 0x4b6d7f) 8: 9: func main() { 10: i := 10 11: hello_world() 12: i-- => 13: } (no locals) ./init.txt:8: Process 21923 has exited with status 0
This is probably due to the new dwarf5 format defined as default on go1.25, since it works as expected when using GOEXPERIMENT=nodwarf5 (locals returns i = 9):
[root@vm ~]# GOEXPERIMENT=nodwarf5 dlv debug hello.go --init ./init.txt --check-go-version=false WARNING: undefined behavior - version of Delve is too old for Go version go1.25.0 (maximum supported version 1.24) Type 'help' for list of commands. Breakpoint 1 set at 0x4b6d6a for main.main() ./hello.go:9 > [Breakpoint 1] main.main() ./hello.go:9 (hits goroutine(1):1 total:1) (PC: 0x4b6d6a) 4: 5: func hello_world() { 6: fmt.Println("Hello World") 7: } 8: => 9: func main() { 10: i := 10 11: hello_world() 12: i-- 13: } > main.main() ./hello.go:10 (PC: 0x4b6d6e) 5: func hello_world() { 6: fmt.Println("Hello World") 7: } 8: 9: func main() { => 10: i := 10 11: hello_world() 12: i-- 13: } Breakpoint 2 set at 0x4b6cea for main.hello_world() ./hello.go:5 > [Breakpoint 2] main.hello_world() ./hello.go:5 (hits goroutine(1):1 total:1) (PC: 0x4b6cea) 1: package main 2: 3: import "fmt" 4: => 5: func hello_world() { 6: fmt.Println("Hello World") 7: } 8: 9: func main() { 10: i := 10 Hello World > main.main() ./hello.go:13 (PC: 0x4b6d7f) 8: 9: func main() { 10: i := 10 11: hello_world() 12: i-- => 13: } i = 9 ./init.txt:8: Process 22406 has exited with status 0
- links to
-
RHBA-2025:154274 delve update