probelabs/goreplay · error

no matching files

Error message

no matching files

What it means

input_file's initializer expands the input path — an S3 listing or a filepath.Glob pattern — and found zero matching files, so there is nothing to record or replay from; returning the error aborts startup rather than running with an empty input.

Source

Thrown at input_file.go:284

		}

		resp, err := svc.ListObjects(params)
		if err != nil {
			Debug(2, "[INPUT-FILE] Error while retrieving list of files from S3", i.path, err)
			return err
		}

		for _, c := range resp.Contents {
			matches = append(matches, "s3://"+bucket+"/"+(*c.Key))
		}
	} else if matches, err = filepath.Glob(i.path); err != nil {
		Debug(2, "[INPUT-FILE] Wrong file pattern", i.path, err)
		return
	}

	if len(matches) == 0 {
		Debug(2, "[INPUT-FILE] No files match pattern: ", i.path)
		return errors.New("no matching files")
	}

	i.readers = make([]*fileInputReader, len(matches))

	for idx, p := range matches {
		i.readers[idx] = newFileInputReader(p, i.readDepth, i.dryRun)
	}

	i.stats.Add("reader_count", int64(len(matches)))

	return nil
}

// PluginRead reads message from this plugin
func (i *FileInput) PluginRead() (*Message, error) {
	var msg Message
	select {
	case <-i.exit:

View on GitHub (pinned to 251e45abd2)

Solutions

  1. Verify the path/glob actually matches files (run ls or the glob in a shell)
  2. Check the S3 bucket/prefix spelling and credentials when using s3:// paths
  3. Point --input-file at a file produced by a previous capture, or capture first with --output-file
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at input_file.go:284 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of probelabs/goreplay@251e45abd2 (2026-09-02). Data as JSON: /api/errors/fe87133d39e4ff29. Report an issue: GitHub.