go-delve/delve · error

error reading libraries: string too long (%d)

Error message

error reading libraries: string too long (%d)

What it means

Error "error reading libraries: string too long (%d)" thrown in go-delve/delve.

Source

Thrown at pkg/proc/linutil/dynamic.go:125

	if err != nil {
		return nil, err
	}
	lm.ld = ptrs[2]
	lm.next = ptrs[3]
	lm.prev = ptrs[4]
	return &lm, nil
}

func readCString(p proc.Process, addr uint64) (string, error) {
	if addr == 0 {
		return "", nil
	}
	mem := p.Memory()
	buf := make([]byte, 1)
	r := []byte{}
	for {
		if len(r) > maxLibraryPathLength {
			return "", fmt.Errorf("error reading libraries: string too long (%d)", len(r))
		}
		_, err := mem.ReadMemory(buf, addr)
		if err != nil {
			return "", err
		}
		if buf[0] == 0 {
			break
		}
		r = append(r, buf[0])
		addr++
	}
	return string(r), nil
}

// ElfFindRBrk returns the address of the dynamic linker's r_brk notification
// function from the r_debug struct. The dynamic linker calls this function
// whenever shared objects are loaded or unloaded. Returns 0 if r_brk cannot
// be found.

View on GitHub (pinned to a23773e6c3)

When it happens

Trigger: Thrown at pkg/proc/linutil/dynamic.go:125 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/54481fdd0e652b01. Report an issue: GitHub.