juicedata/juicefs · error
list %s: %s
Error message
list %s: %s
What it means
Returned by startSingleProducer in `juicefs sync` when listing the source prefix fails. It wraps the object store's list error (permissions, unreachable endpoint, invalid prefix) and stops the producer for that prefix.
Source
Thrown at pkg/sync/sync.go:1412
config.Limit--
}
return config.Limit == 0
}
func startSingleProducer(tasks chan<- object.Object, src, dst object.ObjectStorage, prefix string, config *Config, checkpointMgr *CheckpointManager) error {
start, end := config.Start, config.End
logger.Debugf("maxResults: %d, defaultPartSize: %d, maxBlock: %d", maxResults, defaultPartSize, maxBlock)
startAfter := start
includeStart := true
if lastKey := checkpointMgr.GetLastListedKey(prefix); lastKey != "" {
startAfter = lastKey
includeStart = false
}
srckeys, err := listAll(src, prefix, startAfter, end, !config.Links, includeStart)
if err != nil {
return fmt.Errorf("list %s: %s", src, err)
}
var dstkeys <-chan object.Object
if config.ForceUpdate && !config.DeleteDst {
t := make(chan object.Object)
close(t)
dstkeys = t
} else {
dstkeys, err = listAll(dst, prefix, startAfter, end, !config.Links, includeStart)
if err != nil {
return fmt.Errorf("list %s: %s", dst, err)
}
}
return produce(tasks, srckeys, dstkeys, config, checkpointMgr, prefix)
}
func produce(tasks chan<- object.Object, srckeys, dstkeys <-chan object.Object, config *Config, checkpointMgr *CheckpointManager, prefix string) (retErr error) {
srckeys = filter(srckeys, config.rules, config)View on GitHub (pinned to c9a67b23e8)
Solutions
- Verify source endpoint/credentials and list permission
- Fix the --start/--end prefix filters if they are invalid
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/sync/sync.go:1412 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/0b6e1a521f0d0d94.
Report an issue: GitHub.