go-delve/delve · error

can not pin address: %v

Error message

can not pin address: %v

What it means

Error "can not pin address: %v" thrown in go-delve/delve.

Source

Thrown at pkg/proc/eval.go:1308

		scope.convertAllocToString(stack)

	case *evalop.SetValue:
		lhv := stack.pop()
		rhv := stack.pop()
		stack.err = scope.setValue(lhv, rhv, astutil.ExprToString(op.Rhe))

	case *evalop.PushPinAddress:
		debugPinCount++
		fncall := stack.fncallPeek()
		addrToPin := fncall.addrsToPin[len(fncall.addrsToPin)-1]
		fncall.addrsToPin = fncall.addrsToPin[:len(fncall.addrsToPin)-1]
		typ, err := scope.BinInfo.findType("unsafe.Pointer")
		if ptyp, ok := typ.(*godwarf.PtrType); err == nil && ok {
			v := newVariable("", 0, typ, scope.BinInfo, scope.Mem)
			v.Children = []Variable{*(newVariable("", uint64(addrToPin), ptyp.Type, scope.BinInfo, scope.Mem))}
			stack.push(v)
		} else {
			stack.err = fmt.Errorf("can not pin address: %v", err)
		}

	case *evalop.SetDebugPinner:
		stack.debugPinner = stack.pop()

	case *evalop.PushDebugPinner:
		stack.push(stack.debugPinner)

	case *evalop.PushBreakpointHitCount:
		stack.push(newVariable(evalop.BreakpointHitCountVarNameQualified, fakeAddressUnresolv, godwarf.FakeSliceType(godwarf.FakeBasicType("uint", 64)), scope.BinInfo, scope.Mem))

	case *evalop.PushRuntimeType:
		typeAddr, _, _, err := dwarfToRuntimeType(scope.BinInfo, scope.Mem, op.Type)
		if err != nil {
			stack.err = err
			break
		}
		rttyp, err := scope.BinInfo.findType(scope.BinInfo.runtimeTypeTypename())

View on GitHub (pinned to a23773e6c3)

When it happens

Trigger: Thrown at pkg/proc/eval.go:1308 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of go-delve/delve@a23773e6c3 (2026-08-31). Data as JSON: /api/errors/5341e02160bff6e1. Report an issue: GitHub.