tailscale/tailscale · error
Unknown profile
Error message
Unknown profile
What it means
HTTP 404 from the c2n pprof handler when pprof.Lookup returns nil for the requested profile name. No registered Go pprof profile matches the name given in the URL path (valid names include heap, goroutine, profile, etc.).
Source
Thrown at ipn/ipnlocal/c2n_pprof.go:29
"runtime"
"runtime/pprof"
"strconv"
)
func init() {
c2nLogHeap = func(w http.ResponseWriter, r *http.Request) {
// Support same optional gc parameter as net/http/pprof:
if gc, _ := strconv.Atoi(r.FormValue("gc")); gc > 0 {
runtime.GC()
}
pprof.WriteHeapProfile(w)
}
c2nPprof = func(w http.ResponseWriter, r *http.Request, profile string) {
w.Header().Set("X-Content-Type-Options", "nosniff")
p := pprof.Lookup(string(profile))
if p == nil {
http.Error(w, "Unknown profile", http.StatusNotFound)
return
}
gc, _ := strconv.Atoi(r.FormValue("gc"))
if profile == "heap" && gc > 0 {
runtime.GC()
}
debug, _ := strconv.Atoi(r.FormValue("debug"))
if debug != 0 {
w.Header().Set("Content-Type", "text/plain; charset=utf-8")
} else {
w.Header().Set("Content-Type", "application/octet-stream")
w.Header().Set("Content-Disposition", fmt.Sprintf(`attachment; filename="%s"`, profile))
}
p.WriteTo(w, debug)
}
}
View on GitHub (pinned to 6e0912f979)
Solutions
- Request a valid pprof profile name such as heap, goroutine, or allocs.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at ipn/ipnlocal/c2n_pprof.go:29 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tailscale/tailscale@6e0912f979 (2026-08-18).
Data as JSON: /api/errors/72c27ed298eca074.
Report an issue: GitHub.