juicedata/juicefs · error
mount point mismatch: %s %s
Error message
mount point mismatch: %s %s
What it means
Returned by checkPort when the pprof cmdline of the process on the discovered port does not contain the expected mount point argument. The debug tool connected to a pprof service, but it belongs to a different JuiceFS mount, so collecting diagnostics for the requested mount would be wrong.
Source
Thrown at cmd/debug.go:266
}
// check pprof service status
func checkPort(port int, amp string) error {
url := fmt.Sprintf("http://localhost:%d/debug/pprof/cmdline?debug=1", port)
resp, err := getRequest(url, 3*time.Second)
if err != nil {
return fmt.Errorf("error checking pprof alive: %v", err)
}
resp = bytes.ReplaceAll(resp, []byte{0}, []byte{' '})
fields := strings.Fields(string(resp))
flag := false
for _, field := range fields {
if amp == field {
flag = true
}
}
if !flag {
return fmt.Errorf("mount point mismatch: \n%s\n%s", resp, amp)
}
return nil
}
type metricItem struct {
name, url string
}
func reqAndSaveMetric(name string, metric metricItem, outDir string, timeout time.Duration) error {
resp, err := getRequest(metric.url, timeout)
if err != nil {
return fmt.Errorf("error getting metric: %v", err)
}
retPath := filepath.Join(outDir, fmt.Sprintf("juicefs.%s", metric.name))
retFile, err := os.Create(retPath)
if err != nil {
logger.Fatalf("error creating metric file %s: %v", retPath, err)
}View on GitHub (pinned to c9a67b23e8)
Solutions
- Verify the pid/mount-point pair passed to `juicefs debug` corresponds to the right process
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cmd/debug.go:266 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06).
Data as JSON: /api/errors/9780bda4ed35de8c.
Report an issue: GitHub.