{"record":{"id":"eba92164808593a4","repo":"juicedata/juicefs","slug":"mount-command-succeeded-but-the-mountpoint-s-did","errorCode":null,"errorMessage":"Mount command succeeded, but the mountpoint %s did not become ready in %d seconds, please check the juicefs logs for more information.","messagePattern":"Mount command succeeded, but the mountpoint (.+?) did not become ready in (.+?) seconds, please check the juicefs logs for more information\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/winfsp/winfs.go","lineNumber":1472,"sourceCode":"\t\twinfspLauncher := \"launchctl-x64.exe\"\n\t\tlogger.Debugf(\"WinFsp Bin Path: %s\", winFspBinPath)\n\t\tif winFspBinPath != \"\" {\n\t\t\twinfspLauncher = filepath.Join(winFspBinPath, winfspLauncher)\n\t\t}\n\n\t\t// the second param of start subcommand must be the same as the third param\n\t\t// or the Explorer will not be able to disconnect the volume.\n\t\tcmd := exec.Command(winfspLauncher, \"start\", winfspServiceName, alias, alias, mountpoint)\n\t\tcmd.Dir = winFspBinPath\n\t\tlogger.Debugf(\"Mounting command(using launchctl): %s\", cmd.String())\n\n\t\tout, err := cmd.CombinedOutput()\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"Failed to mount juicefs as system service: %s, output: %s\", err, string(out))\n\t\t}\n\n\t\tif !checkIfMountProcessReady(mountpoint, 25) {\n\t\t\treturn fmt.Errorf(\"Mount command succeeded, but the mountpoint %s did not become ready in %d seconds, please check the juicefs logs for more information.\", mountpoint, 25)\n\t\t}\n\t} else {\n\t\tlogger.Debugf(\"Trying to start juicefs service by 'net use' command.\")\n\t\tcmd := exec.Command(\"net\", \"use\", mountpoint, fmt.Sprintf(\"\\\\\\\\%s\\\\%s\", winfspServiceName, alias), \"/Y\")\n\t\tout, err := cmd.CombinedOutput()\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"Failed to start juicefs service by 'net use': %s, output: %s\", err, string(out))\n\t\t}\n\t}\n\n\tlogger.Info(\"Juicefs mount process started successfully.\")\n\n\treturn nil\n}\n","sourceCodeStart":1454,"sourceCodeEnd":1487,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/winfsp/winfs.go#L1454-L1487","documentation":"Thrown when the launchctl start command succeeded but the mountpoint did not become ready within the 25-second readiness window (checkIfMountProcessReady polling failed). The service was launched, but the actual juicefs mount process either crashed, is still initializing (e.g. slow metadata connection), or is failing silently. The message directs the user to the juicefs logs.","triggerScenarios":"checkIfMountProcessReady(mountpoint, 25) returns false after launchctl-x64.exe start — metadata engine unreachable, wrong credentials/URL, mountpoint busy, the launched service crashed on startup, or startup simply took longer than 25 s.","commonSituations":"Unreachable/slow Redis or SQL metadata server; wrong metadata password; firewall blocking the metadata port; slow cold start under heavy load; service running as LocalSystem lacking access to config/cert files; mountpoint already occupied by a stale mount.","solutions":["Check the juicefs log file (the --log path registered in the service's Stderr value) for the actual startup failure.","Verify the metadata engine is reachable from the machine (network, credentials, firewall) before mounting.","Check the mountpoint/drive letter is not held by a stale mount; clean it up and remount.","If startup is legitimately slow, retry the mount; investigate why it exceeds 25 s (DNS, TLS, cold caches)."],"exampleFix":"// before\n> juicefs mount redis://slow-host:6379 X:  // not ready in 25s\n// after: verify metadata first\n> redis-cli -h slow-host ping\n> juicefs status redis://slow-host:6379\n> juicefs mount redis://slow-host:6379 X:","handlingStrategy":"retry","validationCode":"// precheck metadata connectivity before mounting\nconn, err := net.DialTimeout(\"tcp\", \"meta-host:6379\", 5*time.Second)\nif err != nil { return fmt.Errorf(\"metadata unreachable: %w\", err) }\nconn.Close()","typeGuard":null,"tryCatchPattern":"if err := mount(...); strings.Contains(err.Error(), \"did not become ready in\") {\n    // inspect juicefs --log output; fix metadata/network; retry with more headroom\n}","preventionTips":["Verify the metadata engine is reachable and credentials are correct before mounting","Check the service's registered Stderr log for startup errors","Clear stale mounts occupying the target drive letter","Allow extra startup time on slow/cold networks and investigate consistently slow starts"],"tags":["windows","winfsp","mount","timeout"],"backgroundTag":"request-timeout","analyzedSha":"c9a67b23e8e08ec23ec331aa6f1675e2319e921c","analyzedAt":"2026-09-06T17:55:48.476Z","contentChangedAt":"2026-09-06T17:55:48.476Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}