{"record":{"id":"cbca0ef7298b15dc","repo":"ipfs/kubo","slug":"failed-to-check-pin-status-for-requestid-q-remot","errorCode":null,"errorMessage":"failed to check pin status for requestid=%q, remote service sent unexpected requestid=%q","messagePattern":"failed to check pin status for requestid=%q, remote service sent unexpected requestid=%q","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/commands/pin/remotepin.go","lineNumber":243,"sourceCode":"\t\t\t\treturn err\n\t\t\t}\n\t\t\tif err := api.Swarm().Connect(ctx, *p); err != nil {\n\t\t\t\tlog.Infof(\"error connecting to remote pin delegate %v : %w\", d, err)\n\t\t\t}\n\t\t}\n\n\t\t// Block unless --background=true is passed\n\t\tif !req.Options[pinBackgroundOptionName].(bool) {\n\t\t\tconst pinWaitTime = 500 * time.Millisecond\n\t\t\tvar timer *time.Timer\n\t\t\trequestID := ps.GetRequestId()\n\t\t\tfor {\n\t\t\t\tps, err = c.GetStatusByID(ctx, requestID)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn fmt.Errorf(\"failed to check pin status for requestid=%q due to error: %v\", requestID, err)\n\t\t\t\t}\n\t\t\t\tif ps.GetRequestId() != requestID {\n\t\t\t\t\treturn fmt.Errorf(\"failed to check pin status for requestid=%q, remote service sent unexpected requestid=%q\", requestID, ps.GetRequestId())\n\t\t\t\t}\n\t\t\t\ts := ps.GetStatus()\n\t\t\t\tif s == pinclient.StatusPinned {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif s == pinclient.StatusFailed {\n\t\t\t\t\treturn fmt.Errorf(\"remote service failed to pin requestid=%q\", requestID)\n\t\t\t\t}\n\t\t\t\tif timer == nil {\n\t\t\t\t\ttimer = time.NewTimer(pinWaitTime)\n\t\t\t\t} else {\n\t\t\t\t\ttimer.Reset(pinWaitTime)\n\t\t\t\t}\n\t\t\t\tselect {\n\t\t\t\tcase <-timer.C:\n\t\t\t\tcase <-ctx.Done():\n\t\t\t\t\ttimer.Stop()\n\t\t\t\t\treturn fmt.Errorf(\"waiting for pin interrupted, requestid=%q remains on remote service\", requestID)","sourceCodeStart":225,"sourceCodeEnd":261,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/commands/pin/remotepin.go#L225-L261","documentation":"While polling a remote pinning service ('ipfs pin remote add' without --background), GetStatusByID returned a PinStatus whose request id differs from the one being polled. The remote service is violating the pinning service API contract by answering about a different request.","triggerScenarios":"Thrown at core/commands/pin/remotepin.go:243 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the operation; a flaky or misbehaving service instance may return correct data on the next poll","Inspect the service with 'ipfs pin remote ls --service <name>' to see what request ids it currently reports","If it persists, the service is buggy or incompatible; report to its operator or switch services"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}