proc: telemetry report: index error in fncallPeek while resuming execution of a call injection
- Dominant language
- Go
- Stars
- 24.9k
- Forks
- 2.2k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 17
Description
```
#!stacks
"goPanicIndex" && "proc.(*evalStack).fncallPeek"
```
Issue created by [stacks](https://pkg.go.dev/golang.org/x/telemetry/cmd/stacks).
This stack `5cV75w` was [reported by telemetry](https://telemetry.go.dev/data/2025-08-03):
- `delve/bug`
- [`github.com/go-delve/delve/pkg/proc.(*evalStack).executeOp.func1:+3`](https://github.com/go-delve/delve/blob/v1.25.0/pkg/proc/eval.go#L1054)
- [`runtime.gopanic:+50`](https://cs.opensource.google/go/go/+/go1.24.5:src/runtime/panic.go;l=792)
- [`runtime.goPanicIndex:+2`](https://cs.opensource.google/go/go/+/go1.24.5:src/runtime/panic.go;l=115)
- `github.com/go-delve/delve/pkg/proc.(*evalStack).fncallPeek:=873`
- [`github.com/go-delve/delve/pkg/proc.(*EvalScope).evalCallInjectionSetTarget:+1`](https://github.com/go-delve/delve/blob/v1.25.0/pkg/proc/fncall.go#L983)
- [`github.com/go-delve/delve/pkg/proc.(*evalStack).executeOp:+151`](https://github.com/go-delve/delve/blob/v1.25.0/pkg/proc/eval.go#L1200)
- [`github.com/go-delve/delve/pkg/proc.(*evalStack).run:+4`](https://github.com/go-delve/delve/blob/v1.25.0/pkg/proc/eval.go#L973)
- [`github.com/go-delve/delve/pkg/proc.(*evalStack).resume:+56`](https://github.com/go-delve/delve/blob/v1.25.0/pkg/proc/eval.go#L966)
- [`github.com/go-delve/delve/pkg/proc.callInjectionProtocol:+36`](https://github.com/go-delve/delve/blob/v1.25.0/pkg/proc/fncall.go#L1180)
- [`github.com/go-delve/delve/pkg/proc.(*TargetGroup).Continue:+112`](https://github.com/go-delve/delve/blob/v1.25.0/pkg/proc/target_exec.go#L168)
- [`github.com/go-delve/delve/service/debugger.(*Debugger).Command:+38`](https://github.com/go-delve/delve/blob/v1.25.0/service/debugger/debugger.go#L1100)
- [`github.com/go-delve/delve/service/dap.(*Session).resumeOnce:+20`](https://github.com/go-delve/delve/blob/v1.25.0/service/dap/server.go#L3703)
- [`github.com/go-delve/delve/service/dap.(*Session).resumeOnceAndCheckStop:+1`](https://github.com/go-delve/delve/blob/v1.25.0/service/dap/server.go#L3851)
- [`github.com/go-delve/delve/service/dap.init.func1:+1`](https://github.com/go-delve/delve/blob/v1.25.0/service/dap/server.go#L3847)
- [`github.com/go-delve/delve/service/dap.(*Session).runUntilStop:+10`](https://github.com/go-delve/delve/blob/v1.25.0/service/dap/server.go#L3839)
- [`github.com/go-delve/delve/service/dap.(*Session).runUntilStopAndNotify:+1`](https://github.com/go-delve/delve/blob/v1.25.0/service/dap/server.go#L3714)
```
github.com/go-delve/delve/cmd/dlv@v1.25.0 go1.24.5 linux/amd64 (3)
```
Dups: QUnKEw ScKaUA yjGumQ fqHTcQ xVd7DA 4VuDqA LVx4pQ p0vuyw
Contributor guide
Research direction
Start with pkg/proc/eval.go at evalStack.fncallPeek and trace the resume path through evalStack.executeOp and evalStack.resume. Then inspect pkg/proc/fncall.go around EvalScope.evalCallInjectionSetTarget and callInjectionProtocol, using the reported telemetry stack as the failure scenario. Done means resuming a call injection no longer produces the index panic, with regression coverage for the case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100