I should have added that the debugger crashes when it reaches a break point 
after the p = &p instruction or steps over this instruction. It doesn't 
crash when there is no break point.

Le vendredi 23 juin 2023 à 10:38:32 UTC+2, christoph...@gmail.com a écrit :

> Here is the minimal example code causing delve 1.20.2 to crash with a 
> stack overflow
>
> func TestExample(t *testing.T)  {
>     type pptr *pptr
>     var p pptr
>     p = &p
>     t.Error("hello")
> }
>
> Here is the stack trace
>
> goroutine 6 [running]:
> runtime.deductAssistCredit(0x108?)
> /usr/local/go/src/runtime/malloc.go:1201 +0x7b fp=0xc021380360 
> sp=0xc021380358 pc=0x40f8db
> runtime.mallocgc(0x108, 0xa9d2e0, 0x1)
> /usr/local/go/src/runtime/malloc.go:932 +0xd0 fp=0xc0213803c8 
> sp=0xc021380360 pc=0x40f0d0
> runtime.newobject(0x7fa133558108?)
> /usr/local/go/src/runtime/malloc.go:1254 +0x27 fp=0xc0213803f0 
> sp=0xc0213803c8 pc=0x40f9e7
> github.com/go-delve/delve/pkg/proc.newVariable({0x0 
> <http://github.com/go-delve/delve/pkg/proc.newVariable(%7B0x0>, 0x0}, 
> 0xc000104e48, {0xb98be8?, 0xc000e7a6c0?}, 0xc0002fc2c0, {0xb93350?, 
> 0xc0002b8ac0})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:635 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:635> 
> +0x2d0 fp=0xc021380498 sp=0xc0213803f0 pc=0x7607f0
> github.com/go-delve/delve/pkg/proc.(*Variable).newVariable(...)
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:606 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:606>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadPtr(0xc01cfae120)
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1266 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1266> 
> +0x11b fp=0xc021380510 sp=0xc021380498 pc=0x764ddb
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfae120,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1303 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1303> 
> +0xad2 fp=0xc021380708 sp=0xc021380510 pc=0x765b72
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfade60,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1311 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1311> 
> +0xb45 fp=0xc021380900 sp=0xc021380708 pc=0x765be5
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfadc20,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1311 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1311> 
> +0xb45 fp=0xc021380af8 sp=0xc021380900 pc=0x765be5
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfad9e0,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1311 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1311> 
> +0xb45 fp=0xc021380cf0 sp=0xc021380af8 pc=0x765be5
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfad7a0,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1311 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1311> 
> +0xb45 fp=0xc021380ee8 sp=0xc021380cf0 pc=0x765be5
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfad560,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1311 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1311> 
> +0xb45 fp=0xc0213810e0 sp=0xc021380ee8 pc=0x765be5
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfad320,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> /home/meessen/go/pkg/mod/
> github.com/go-delve/de...@v1.20.2/pkg/proc/variables.go:1311 
> <http://github.com/go-delve/delve@v1.20.2/pkg/proc/variables.go:1311> 
> +0xb45 fp=0xc0213812d8 sp=0xc0213810e0 pc=0x765be5
>
> github.com/go-delve/delve/pkg/proc.(*Variable).loadValueInternal(0xc01cfad0e0,
>  
> 0x0, {0x1, 0x1, 0x200, 0x40, 0xffffffffffffffff, 0x1900})
> . . .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/e7072284-3e02-4d65-8c0f-34bcf5dc3f92n%40googlegroups.com.

Reply via email to