{"record":{"id":"fe87133d39e4ff29","repo":"probelabs/goreplay","slug":"no-matching-files","errorCode":null,"errorMessage":"no matching files","messagePattern":"no matching files","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"input_file.go","lineNumber":284,"sourceCode":"\t\t}\n\n\t\tresp, err := svc.ListObjects(params)\n\t\tif err != nil {\n\t\t\tDebug(2, \"[INPUT-FILE] Error while retrieving list of files from S3\", i.path, err)\n\t\t\treturn err\n\t\t}\n\n\t\tfor _, c := range resp.Contents {\n\t\t\tmatches = append(matches, \"s3://\"+bucket+\"/\"+(*c.Key))\n\t\t}\n\t} else if matches, err = filepath.Glob(i.path); err != nil {\n\t\tDebug(2, \"[INPUT-FILE] Wrong file pattern\", i.path, err)\n\t\treturn\n\t}\n\n\tif len(matches) == 0 {\n\t\tDebug(2, \"[INPUT-FILE] No files match pattern: \", i.path)\n\t\treturn errors.New(\"no matching files\")\n\t}\n\n\ti.readers = make([]*fileInputReader, len(matches))\n\n\tfor idx, p := range matches {\n\t\ti.readers[idx] = newFileInputReader(p, i.readDepth, i.dryRun)\n\t}\n\n\ti.stats.Add(\"reader_count\", int64(len(matches)))\n\n\treturn nil\n}\n\n// PluginRead reads message from this plugin\nfunc (i *FileInput) PluginRead() (*Message, error) {\n\tvar msg Message\n\tselect {\n\tcase <-i.exit:","sourceCodeStart":266,"sourceCodeEnd":302,"githubUrl":"https://github.com/probelabs/goreplay/blob/251e45abd242886bb64ff2b2dc98789556b56330/input_file.go#L266-L302","documentation":"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.","triggerScenarios":"Thrown at input_file.go:284 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the path/glob actually matches files (run ls or the glob in a shell)","Check the S3 bucket/prefix spelling and credentials when using s3:// paths","Point --input-file at a file produced by a previous capture, or capture first with --output-file"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"251e45abd242886bb64ff2b2dc98789556b56330","analyzedAt":"2026-09-02T16:44:11.369Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T21:17:11.164Z"}