{"record":{"id":"df1e50c97cde8115","repo":"hyperledger/fabric","slug":"nil-presppayload-extension-df1e50","errorCode":null,"errorMessage":"nil pRespPayload.Extension","messagePattern":"nil pRespPayload\\.Extension","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/handlers/validation/builtin/v13/validation_logic.go","lineNumber":164,"sourceCode":"\ttx, err := protoutil.UnmarshalTransaction(payl.Data)\n\tif err != nil {\n\t\tlogger.Errorf(\"VSCC error: GetTransaction failed, err %s\", err)\n\t\treturn nil, err\n\t}\n\n\tcap, err := protoutil.UnmarshalChaincodeActionPayload(tx.Actions[actionPosition].Payload)\n\tif err != nil {\n\t\tlogger.Errorf(\"VSCC error: GetChaincodeActionPayload failed, err %s\", err)\n\t\treturn nil, err\n\t}\n\n\tpRespPayload, err := protoutil.UnmarshalProposalResponsePayload(cap.Action.ProposalResponsePayload)\n\tif err != nil {\n\t\terr = fmt.Errorf(\"GetProposalResponsePayload error %s\", err)\n\t\treturn nil, err\n\t}\n\tif pRespPayload.Extension == nil {\n\t\terr = fmt.Errorf(\"nil pRespPayload.Extension\")\n\t\treturn nil, err\n\t}\n\trespPayload, err := protoutil.UnmarshalChaincodeAction(pRespPayload.Extension)\n\tif err != nil {\n\t\terr = fmt.Errorf(\"GetChaincodeAction error %s\", err)\n\t\treturn nil, err\n\t}\n\n\treturn &validationArtifacts{\n\t\trwset:        respPayload.Results,\n\t\tprp:          cap.Action.ProposalResponsePayload,\n\t\tendorsements: cap.Action.Endorsements,\n\t\tchdr:         chdr,\n\t\tenv:          env,\n\t\tpayl:         payl,\n\t\tcap:          cap,\n\t}, nil\n}","sourceCodeStart":146,"sourceCodeEnd":182,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/core/handlers/validation/builtin/v13/validation_logic.go#L146-L182","documentation":"Returned by v13 extractValidationArtifacts when the decoded proposal response payload has no Extension bytes — the chaincode action is absent, so there is nothing from which to extract the rwset and endorsement checks.","triggerScenarios":"Thrown at core/handlers/validation/builtin/v13/validation_logic.go:164 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the endorsement populates the payload extension","Reject the incomplete endorsement"],"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"}