juicedata/juicefs · error
failed to write system info file %s: %v
Error message
failed to write system info file %s: %v
What it means
The collected platform/architecture/system-info string could not be written to the system-info.log file created inside the debug output directory. Fires when the WriteString call fails, typically due to disk-full conditions, I/O errors, or the file having been closed or become unwritable mid-operation.
Source
Thrown at cmd/debug.go:460
defer cancel()
return exec.CommandContext(timeoutCtx, copyArgs[0], copyArgs[1:]...).Run()
}
}
func collectSysInfo(ctx *cli.Context, currDir string) error {
sysInfo := utils.GetSysInfo()
result := fmt.Sprintf(`Platform:
%s %s
%s`, runtime.GOOS, runtime.GOARCH, sysInfo)
sysPath := filepath.Join(currDir, "system-info.log")
sysFile, err := os.Create(sysPath)
if err != nil {
return fmt.Errorf("failed to create system info file %s: %v", sysPath, err)
}
defer closeFile(sysFile)
if _, err = sysFile.WriteString(result); err != nil {
return fmt.Errorf("failed to write system info file %s: %v", sysPath, err)
}
fmt.Printf("\n%s\n", result)
return nil
}
func collectSpecialFile(ctx *cli.Context, amp string, currDir string, requireRootPrivileges bool, wg *sync.WaitGroup) error {
prefixed := true
configName := ".jfs.config"
_ = utils.WithTimeout(context.TODO(), func(context.Context) error {
if !utils.Exists(filepath.Join(amp, configName)) {
configName = ".config"
prefixed = false
}
return nil
}, 3*time.Second)
if err := copyFile(filepath.Join(amp, configName), filepath.Join(currDir, "config.txt"), requireRootPrivileges); err != nil {
return fmt.Errorf("failed to get volume config %s: %v", configName, err)View on GitHub (pinned to c9a67b23e8)
Solutions
- Free space or choose another output directory, then re-run `juicefs debug`
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at cmd/debug.go:460 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/09b622c0d74b2872.
Report an issue: GitHub.