{"record":{"id":"07cce29aad47e9c4","repo":"thanos-io/thanos","slug":"unknown-error-while-processing-series-v","errorCode":null,"errorMessage":"unknown error while processing Series: %v","messagePattern":"unknown error while processing Series: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/store/recover.go","lineNumber":48,"sourceCode":"\nfunc (r *recoverableStoreServer) recover(srv storepb.Store_SeriesServer) {\n\te := recover()\n\tif e == nil {\n\t\treturn\n\t}\n\n\tswitch err := e.(type) {\n\tcase runtime.Error:\n\t\t// Print the stack trace but do not inhibit the running application.\n\t\tbuf := make([]byte, 64<<10)\n\t\tbuf = buf[:runtime.Stack(buf, false)]\n\n\t\tlevel.Error(r.logger).Log(\"msg\", \"runtime panic in TSDB Series server\", \"err\", err.Error(), \"stacktrace\", string(buf))\n\t\tif err := srv.Send(storepb.NewWarnSeriesResponse(err)); err != nil {\n\t\t\tlevel.Error(r.logger).Log(\"err\", err)\n\t\t}\n\tdefault:\n\t\tif err := srv.Send(storepb.NewWarnSeriesResponse(errors.New(fmt.Sprintf(\"unknown error while processing Series: %v\", e)))); err != nil {\n\t\t\tlevel.Error(r.logger).Log(\"err\", err)\n\t\t}\n\t}\n}\n","sourceCodeStart":30,"sourceCodeEnd":53,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/pkg/store/recover.go#L30-L53","documentation":"The recoverableStoreServer panic-recovery handler caught a panic in the Series RPC handler whose value is not a runtime.Error (e.g. a nil-pointer dereference wrapped value or an explicit panic from a bug). Instead of crashing the server it is downgraded to a warning sent to the client; the client sees a partial result with this warning.","triggerScenarios":"Thrown at pkg/store/recover.go:48 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Locate the panic via the server logs/stacktrace (the runtime.Error case logs a stack)","Report or fix the underlying bug in the Series serving path","Restart or drain the affected store-gateway if it repeatedly panics","Check the panic is not caused by corrupted block data (run bucket verify)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35b8b991177def87ed52dcf10f9b6d87f07282c8","analyzedAt":"2026-09-07T01:49:59.689Z","contentChangedAt":"2026-09-07T01:49:59.689Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}