{"record":{"id":"2b42a31d61fb1b7b","repo":"juicedata/juicefs","slug":"listing-failed-stop-syncing-waiting-for-pending","errorCode":null,"errorMessage":"listing failed, stop syncing, waiting for pending ones","messagePattern":"listing failed, stop syncing, waiting for pending ones","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/sync/sync.go","lineNumber":1472,"sourceCode":"\t\t}\n\t\tskip++\n\t\tskipBytes += obj.Size()\n\t\tif skip > 100 || time.Since(lastUpdate) > time.Millisecond*100 {\n\t\t\tlastUpdate = time.Now()\n\t\t\tflushProgress()\n\t\t}\n\t}\n\n\tsendTask := func(obj object.Object) {\n\t\tif checkpointMgr != nil {\n\t\t\tcheckpointMgr.AddPendingKey(prefix, obj)\n\t\t}\n\t\ttasks <- obj\n\t}\n\n\tfor obj := range srckeys {\n\t\tif obj == nil {\n\t\t\treturn fmt.Errorf(\"listing failed, stop syncing, waiting for pending ones\")\n\t\t}\n\n\t\tif !config.Dirs && obj.IsDir() && (!config.Links || !obj.IsSymlink()) {\n\t\t\tif checkpointMgr != nil {\n\t\t\t\tcheckpointMgr.UpdateLastListedKey(prefix, obj)\n\t\t\t}\n\t\t\tlogger.Debug(\"Ignore directory \", obj.Key())\n\t\t\tcontinue\n\t\t}\n\n\t\tif dstobj != nil && obj.Key() > dstobj.Key() {\n\t\t\tif handleExtraObject(tasks, dstobj, config, checkpointMgr, prefix) {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tdstobj = nil\n\t\t}\n\t\tif dstobj == nil {\n\t\t\tfor dstobj = range dstkeys {","sourceCodeStart":1454,"sourceCodeEnd":1490,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/sync/sync.go#L1454-L1490","documentation":"Returned by the sync producer consumer loop when a nil object arrives on the keys channel — the upstream listAll goroutine pushed nil because listing failed. Sync stops enqueuing new work, waits for pending copies, and reports this aggregate failure (checkpoint preserved for resume).","triggerScenarios":"Thrown at pkg/sync/sync.go:1472 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the source listing problem (credentials/network), then resume sync from the checkpoint","Re-run juicefs sync; completed objects are skipped"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c9a67b23e8e08ec23ec331aa6f1675e2319e921c","analyzedAt":"2026-09-06T17:55:48.476Z","contentChangedAt":"2026-09-06T17:55:48.476Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}