slackhq/nebula · error
problem while reading directory %s: %s
Error message
problem while reading directory %s: %s
What it means
Wrapping error from config.C.resolve: readDirNames failed while listing a directory during recursive config discovery — typically a permission error or the directory disappearing mid-scan. The directory path and OS error are both included; resolution stops immediately.
Source
Thrown at config/config.go:344
return v
}
// direct signifies if this is the config path directly specified by the user,
// versus a file/dir found by recursing into that path
func (c *C) resolve(path string, direct bool) error {
i, err := os.Stat(path)
if err != nil {
return nil
}
if !i.IsDir() {
c.addFile(path, direct)
return nil
}
paths, err := readDirNames(path)
if err != nil {
return fmt.Errorf("problem while reading directory %s: %s", path, err)
}
for _, p := range paths {
err := c.resolve(filepath.Join(path, p), false)
if err != nil {
return err
}
}
return nil
}
func (c *C) addFile(path string, direct bool) error {
ext := filepath.Ext(path)
if !direct && ext != ".yaml" && ext != ".yml" {
return nil
}View on GitHub (pinned to dd8f660c0a)
Solutions
- Check read permissions on the reported directory
- Remove/replace unreadable subdirectories from the config path
- Avoid pointing config at directories with unrelated restricted content
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at config/config.go:344 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of slackhq/nebula@dd8f660c0a (2026-09-03).
Data as JSON: /api/errors/8a6a725588e422b2.
Report an issue: GitHub.