{"record":{"id":"05d2303c5047c4c3","repo":"hyperledger/fabric","slug":"getchaincodeaction-error-s-05d230","errorCode":null,"errorMessage":"GetChaincodeAction error %s","messagePattern":"GetChaincodeAction error (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/handlers/validation/builtin/v13/validation_logic.go","lineNumber":169,"sourceCode":"\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}\n\n// Validate validates the given envelope corresponding to a transaction with an endorsement\n// policy as given in its serialized form.\n// Note that in the case of dependencies in a block, such as tx_n modifying the endorsement policy\n// for key a and tx_n+1 modifying the value of key a, Validate(tx_n+1) will block until Validate(tx_n)","sourceCodeStart":151,"sourceCodeEnd":187,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/core/handlers/validation/builtin/v13/validation_logic.go#L151-L187","documentation":"Returned by v13 extractValidationArtifacts when protoutil.UnmarshalChaincodeAction fails on the payload extension bytes. The chaincode action cannot be decoded into the artifacts (rwset, response, endorsements) the validator needs.","triggerScenarios":"Thrown at core/handlers/validation/builtin/v13/validation_logic.go:169 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Regenerate valid endorsement bytes","Reject the malformed transaction"],"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"}