{"record":{"id":"9564a3880fa500a1","repo":"hyperledger/fabric","slug":"received-proposal-response-with-nil-response-9564a3","errorCode":null,"errorMessage":"received proposal response with nil response","messagePattern":"received proposal response with nil response","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/peer/lifecycle/chaincode/queryapproved.go","lineNumber":133,"sourceCode":"\t\treturn errors.WithMessage(err, \"failed to create proposal\")\n\t}\n\n\tsignedProposal, err := signProposal(proposal, a.Signer)\n\tif err != nil {\n\t\treturn errors.WithMessage(err, \"failed to create signed proposal\")\n\t}\n\n\tproposalResponse, err := a.EndorserClient.ProcessProposal(context.Background(), signedProposal)\n\tif err != nil {\n\t\treturn errors.WithMessage(err, \"failed to endorse proposal\")\n\t}\n\n\tif proposalResponse == nil {\n\t\treturn errors.New(\"received nil proposal response\")\n\t}\n\n\tif proposalResponse.Response == nil {\n\t\treturn errors.New(\"received proposal response with nil response\")\n\t}\n\n\tif proposalResponse.Response.Status != int32(cb.Status_SUCCESS) {\n\t\treturn errors.Errorf(\"query failed with status: %d - %s\", proposalResponse.Response.Status, proposalResponse.Response.Message)\n\t}\n\n\tif strings.ToLower(a.Input.OutputFormat) == \"json\" {\n\t\treturn a.printResponseAsJSON(proposalResponse)\n\t}\n\treturn a.printResponse(proposalResponse)\n}\n\nfunc (a *ApprovedQuerier) printResponseAsJSON(proposalResponse *pb.ProposalResponse) error {\n\tif a.Input.Name != \"\" {\n\t\treturn printResponseAsJSON(proposalResponse, &lb.QueryApprovedChaincodeDefinitionResult{}, a.Writer)\n\t}\n\treturn printResponseAsJSON(proposalResponse, &lb.QueryApprovedChaincodeDefinitionsResult{}, a.Writer)\n}","sourceCodeStart":115,"sourceCodeEnd":151,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/internal/peer/lifecycle/chaincode/queryapproved.go#L115-L151","documentation":"The endorser peer returned a ProposalResponse message but its inner Response field was nil, so there is no payload/status to inspect. This indicates a malformed or truncated response from the endorsing peer rather than a transport error (ProcessProposal itself succeeded).","triggerScenarios":"Thrown at internal/peer/lifecycle/chaincode/queryapproved.go:133 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check peer logs for the endorsing peer that produced the malformed response","Retry the query against a different endorsing peer or after the peer restarts","Verify peer and client Fabric versions are compatible"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2736b63f8fd5932511d56fe68b7039d15977f7f6","analyzedAt":"2026-09-04T08:52:36.465Z","contentChangedAt":"2026-09-04T08:52:36.465Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}