-
Bug
-
Resolution: Done
-
Blocker
-
Pipelines 1.19.0
Description of problem:
Getting Error: template: record:4:12: executing "record" at <formatAge .Record.CreateTime .Time>: error calling formatAge: runtime error: invalid memory address or nil pointer dereference when using opc results records command with new CLI
Prerequisites (if any, like setup, operators/versions):
Steps to Reproduce
- Install 1.19 pipelines operator
- Download 1.19 CLI
- Create a new namespace and trigger a pipelinerun/taskrun
- Fetch the results list using the opc results list command
Actual results:
**
$ opc results result list --insecure --addr $RESULTS_API test-results Name Start Update test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da 2025-06-20 12:38:35 +0530 IST 2025-06-20 13:38:28 +0530 IST $ opc results records list --insecure --addr ${RESULTS_API} test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da Name Type Start Update test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/3507a6ad-ea2c-47cd-bd8c-e5d00b4ade10 tekton.dev/v1.TaskRun 2025-06-20 12:38:35 +0530 IST 2025-06-20 13:38:28 +0530 IST test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/ed537166-19b2-4fa2-b85e-66acf08178da tekton.dev/v1.PipelineRun 2025-06-20 12:38:35 +0530 IST 2025-06-20 13:38:28 +0530 IST $ opc results records get --insecure --addr ${RESULTS_API} test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/ed537166-19b2-4fa2-b85e-66acf08178da Name: test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/ed537166-19b2-4fa2-b85e-66acf08178da UID: db041ec2-6ede-4179-8689-65435202c70d Status: Error: template: record:4:12: executing "record" at <formatAge .Record.CreateTime .Time>: error calling formatAge: runtime error: invalid memory address or nil pointer dereference $ opc results records get --insecure --addr ${RESULTS_API} test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/3507a6ad-ea2c-47cd-bd8c-e5d00b4ade10 Name: test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/3507a6ad-ea2c-47cd-bd8c-e5d00b4ade10 UID: 4ae25e84-08f0-475b-a1dd-b23df54fffce Status: Error: template: record:4:12: executing "record" at <formatAge .Record.CreateTime .Time>: error calling formatAge: runtime error: invalid memory address or nil pointer dereference
Also noticed the below logs from results-api
**
2025/06/20 08:15:53 /go/src/github.com/tektoncd/results/pkg/api/server/v1alpha2/results.go:208 record not found [4.227ms] [rows:0] SELECT * FROM "results" WHERE "results"."parent" = 'test-results' AND "results"."name" = '49e49fcb-7deb-47ed-bae7-64f84c118621' ORDER BY "results"."id" LIMIT 1 {"level":"info","ts":1750407353.5471961,"caller":"zap/options.go:212","msg":"finished unary call with code NotFound","grpc.auth_disabled":true,"grpc.start_time":"2025-06-20T08:15:53Z","grpc.request.deadline":"2025-06-20T08:20:53Z","system":"grpc","span.kind":"server","grpc.service":"tekton.results.v1alpha2.Results","grpc.method":"GetResult","peer.address":"10.128.2.40:40626","grpc.user":"system:serviceaccount:openshift-pipelines:tekton-results-watcher","grpc.issuer":"https://kubernetes.default.svc","error":"rpc error: code = NotFound desc = record not found","grpc.code":"NotFound","grpc.time_duration_in_ms":4} {"level":"info","ts":1750407353.5522041,"caller":"zap/options.go:212","msg":"finished unary call with code OK","grpc.auth_disabled":true,"grpc.start_time":"2025-06-20T08:15:53Z","grpc.request.deadline":"2025-06-20T08:20:53Z","system":"grpc","span.kind":"server","grpc.service":"tekton.results.v1alpha2.Results","grpc.method":"CreateResult","peer.address":"10.128.2.40:40626","grpc.user":"system:serviceaccount:openshift-pipelines:tekton-results-watcher","grpc.issuer":"https://kubernetes.default.svc","grpc.code":"OK","grpc.time_duration_in_ms":3} {"level":"info","ts":1750407353.5561953,"caller":"zap/options.go:212","msg":"finished unary call with code OK","grpc.auth_disabled":true,"grpc.start_time":"2025-06-20T08:15:53Z","grpc.request.deadline":"2025-06-20T08:20:53Z","system":"grpc","span.kind":"server","grpc.service":"tekton.results.v1alpha2.Results","grpc.method":"GetResult","peer.address":"10.128.2.40:40626","grpc.user":"system:serviceaccount:openshift-pipelines:tekton-results-watcher","grpc.issuer":"https://kubernetes.default.svc","grpc.code":"OK","grpc.time_duration_in_ms":13}
Expected results:
Should fetch the data
Getting the data when using 1.18 CLI
**
./opc version OpenShift Pipelines Client: 1.18.0 Tekton CLI: 0.40.0 Pipelines as Code CLI: 0.33.0 Tekton Results CLI: 0.14.0 Manual Approval Gate CLI: 0.5.0 ./opc results records get --insecure --addr ${RESULTS_API} test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/ed537166-19b2-4fa2-b85e-66acf08178da { "name": "test-results/results/ed537166-19b2-4fa2-b85e-66acf08178da/records/ed537166-19b2-4fa2-b85e-66acf08178da", "id": "db041ec2-6ede-4179-8689-65435202c70d", "uid": "db041ec2-6ede-4179-8689-65435202c70d", "data": { "type": "tekton.dev/v1.PipelineRun", "value": "eyJraW5kIjogIlBpcGVsaW5lUnVuIiwgInNwZWMiOiB7InRpbWVvdXRzIjogeyJwaXBlbGluZSI6ICIxaDBtMHMifSwgInBpcGVsaW5lUmVmIjogeyJuYW1lIjogImhlbGxvLXBpcGVsaW5lIn0sICJ0YXNrUnVuVGVtcGxhdGUiOiB7InNlcnZpY2VBY2NvdW50TmFtZSI6ICJwaXBlbGluZSJ9fSwgInN0YXR1cyI6IHsic3RhcnRUaW1lIjogIjIwMjUtMDYtMjBUMDc6MDg6MjhaIiwgImNvbmRpdGlvbnMiOiBbeyJ0eXBlIjogIlN1Y2NlZWRlZCIsICJyZWFzb24iOiAiUGlwZWxpbmVSdW5UaW1lb3V0IiwgInN0YXR1cyI6ICJGYWxzZSIsICJtZXNzYWdlIjogIlBpcGVsaW5lUnVuIFwiaGVsbG8tcGlwZWxpbmUtcnVuXCIgZmFpbGVkIHRvIGZpbmlzaCB3aXRoaW4gXCIxaDBtMHNcIiIsICJsYXN0VHJhbnNpdGlvblRpbWUiOiAiMjAyNS0wNi0yMFQwODowODoyOFoifV0sICJwcm92ZW5hbmNlIjogeyJmZWF0dXJlRmxhZ3MiOiB7ImNvc2NoZWR1bGUiOiAid29ya3NwYWNlcyIsICJtYXhSZXN1bHRTaXplIjogNDA5NiwgImVuYWJsZUFQSUZpZWxkcyI6ICJiZXRhIiwgImF3YWl0U2lkZWNhclJlYWRpbmVzcyI6IHRydWUsICJyZXN1bHRFeHRyYWN0aW9uTWV0aG9kIjogInRlcm1pbmF0aW9uLW1lc3NhZ2UiLCAiZW5hYmxlUHJvdmVuYW5jZUluU3RhdHVzIjogdHJ1ZSwgImVuZm9yY2VOb25mYWxzaWZpYWJpbGl0eSI6ICJub25lIiwgInZlcmlmaWNhdGlvbk5vTWF0Y2hQb2xpY3kiOiAiaWdub3JlIiwgInJ1bm5pbmdJbkVudldpdGhJbmplY3RlZFNpZGVjYXJzIjogdHJ1ZX19LCAicGlwZWxpbmVTcGVjIjogeyJ0YXNrcyI6IFt7Im5hbWUiOiAiZWNoby10YXNrIiwgInRhc2tTcGVjIjogeyJzcGVjIjogbnVsbCwgInN0ZXBzIjogW3sibmFtZSI6ICJlY2hvIiwgImltYWdlIjogImJ1c3lib3giLCAic2NyaXB0IjogImVjaG8gXCJIZWxsbyBmcm9tIFRla3RvbiBQaXBlbGluZSFcIlxuIiwgImNvbXB1dGVSZXNvdXJjZXMiOiB7fX1dLCAibWV0YWRhdGEiOiB7fX19XX0sICJjb21wbGV0aW9uVGltZSI6ICIyMDI1LTA2LTIwVDA4OjA4OjI4WiIsICJjaGlsZFJlZmVyZW5jZXMiOiBbeyJraW5kIjogIlRhc2tSdW4iLCAibmFtZSI6ICJoZWxsby1waXBlbGluZS1ydW4tZWNoby10YXNrIiwgImFwaVZlcnNpb24iOiAidGVrdG9uLmRldi92MSIsICJwaXBlbGluZVRhc2tOYW1lIjogImVjaG8tdGFzayJ9XX0sICJtZXRhZGF0YSI6IHsidWlkIjogImVkNTM3MTY2LTE5YjItNGZhMi1iODVlLTY2YWNmMDgxNzhkYSIsICJuYW1lIjogImhlbGxvLXBpcGVsaW5lLXJ1biIsICJsYWJlbHMiOiB7InRla3Rvbi5kZXYvcGlwZWxpbmUiOiAiaGVsbG8tcGlwZWxpbmUifSwgIm5hbWVzcGFjZSI6ICJ0ZXN0LXJlc3VsdHMiLCAiZmluYWxpemVycyI6IFsicmVzdWx0cy50ZWt0b24uZGV2L3BpcGVsaW5lcnVuIiwgImNoYWlucy50ZWt0b24uZGV2L3BpcGVsaW5lcnVuIl0sICJnZW5lcmF0aW9uIjogMSwgImFubm90YXRpb25zIjogeyJjaGFpbnMudGVrdG9uLmRldi9zaWduZWQiOiAidHJ1ZSIsICJyZXN1bHRzLnRla3Rvbi5kZXYvcmVjb3JkIjogInRlc3QtcmVzdWx0cy9yZXN1bHRzL2VkNTM3MTY2LTE5YjItNGZhMi1iODVlLTY2YWNmMDgxNzhkYS9yZWNvcmRzL2VkNTM3MTY2LTE5YjItNGZhMi1iODVlLTY2YWNmMDgxNzhkYSIsICJyZXN1bHRzLnRla3Rvbi5kZXYvcmVzdWx0IjogInRlc3QtcmVzdWx0cy9yZXN1bHRzL2VkNTM3MTY2LTE5YjItNGZhMi1iODVlLTY2YWNmMDgxNzhkYSIsICJyZXN1bHRzLnRla3Rvbi5kZXYvc3RvcmVkIjogInRydWUifSwgIm1hbmFnZWRGaWVsZHMiOiBbeyJ0aW1lIjogIjIwMjUtMDYtMjBUMDc6MDg6MzVaIiwgIm1hbmFnZXIiOiAia3ViZWN0bC1jcmVhdGUiLCAiZmllbGRzVjEiOiB7ImY6c3BlYyI6IHsiLiI6IHt9LCAiZjpwaXBlbGluZVJlZiI6IHsiLiI6IHt9LCAiZjpuYW1lIjoge319fX0sICJvcGVyYXRpb24iOiAiVXBkYXRlIiwgImFwaVZlcnNpb24iOiAidGVrdG9uLmRldi92MWJldGExIiwgImZpZWxkc1R5cGUiOiAiRmllbGRzVjEifSwgeyJ0aW1lIjogIjIwMjUtMDYtMjBUMDg6MDg6MjBaIiwgIm1hbmFnZXIiOiAiY29udHJvbGxlciIsICJmaWVsZHNWMSI6IHsiZjpzdGF0dXMiOiB7ImY6c3RhcnRUaW1lIjoge30sICJmOmNvbmRpdGlvbnMiOiB7fSwgImY6cHJvdmVuYW5jZSI6IHsiLiI6IHt9LCAiZjpmZWF0dXJlRmxhZ3MiOiB7Ii4iOiB7fSwgImY6Y29zY2hlZHVsZSI6IHt9LCAiZjptYXhSZXN1bHRTaXplIjoge30sICJmOmVuYWJsZUFQSUZpZWxkcyI6IHt9LCAiZjphd2FpdFNpZGVjYXJSZWFkaW5lc3MiOiB7fSwgImY6cmVzdWx0RXh0cmFjdGlvbk1ldGhvZCI6IHt9LCAiZjplbmFibGVQcm92ZW5hbmNlSW5TdGF0dXMiOiB7fSwgImY6ZW5mb3JjZU5vbmZhbHNpZmlhYmlsaXR5Ijoge30sICJmOnZlcmlmaWNhdGlvbk5vTWF0Y2hQb2xpY3kiOiB7fSwgImY6cnVubmluZ0luRW52V2l0aEluamVjdGVkU2lkZWNhcnMiOiB7fX19LCAiZjpwaXBlbGluZVNwZWMiOiB7Ii4iOiB7fSwgImY6dGFza3MiOiB7fX0sICJmOmNvbXBsZXRpb25UaW1lIjoge30sICJmOmNoaWxkUmVmZXJlbmNlcyI6IHt9fX0sICJvcGVyYXRpb24iOiAiVXBkYXRlIiwgImFwaVZlcnNpb24iOiAidGVrdG9uLmRldi92MSIsICJmaWVsZHNUeXBlIjogIkZpZWxkc1YxIiwgInN1YnJlc291cmNlIjogInN0YXR1cyJ9LCB7InRpbWUiOiAiMjAyNS0wNi0yMFQwODowODoyMFoiLCAibWFuYWdlciI6ICJvcGVuc2hpZnQtcGlwZWxpbmVzLXJlc3VsdHMtd2F0Y2hlciIsICJmaWVsZHNWMSI6IHsiZjptZXRhZGF0YSI6IHsiZjpmaW5hbGl6ZXJzIjogeyIuIjoge30sICJ2OlwicmVzdWx0cy50ZWt0b24uZGV2L3BpcGVsaW5lcnVuXCIiOiB7fX0sICJmOmFubm90YXRpb25zIjogeyIuIjoge30sICJmOnJlc3VsdHMudGVrdG9uLmRldi9yZWNvcmQiOiB7fSwgImY6cmVzdWx0cy50ZWt0b24uZGV2L3Jlc3VsdCI6IHt9LCAiZjpyZXN1bHRzLnRla3Rvbi5kZXYvc3RvcmVkIjoge319fX0sICJvcGVyYXRpb24iOiAiVXBkYXRlIiwgImFwaVZlcnNpb24iOiAidGVrdG9uLmRldi92MSIsICJmaWVsZHNUeXBlIjogIkZpZWxkc1YxIn0sIHsidGltZSI6ICIyMDI1LTA2LTIwVDA4OjA4OjIxWiIsICJtYW5hZ2VyIjogImNvbnRyb2xsZXIiLCAiZmllbGRzVjEiOiB7ImY6bWV0YWRhdGEiOiB7ImY6bGFiZWxzIjogeyIuIjoge30sICJmOnRla3Rvbi5kZXYvcGlwZWxpbmUiOiB7fX0sICJmOmZpbmFsaXplcnMiOiB7InY6XCJjaGFpbnMudGVrdG9uLmRldi9waXBlbGluZXJ1blwiIjoge319LCAiZjphbm5vdGF0aW9ucyI6IHsiZjpjaGFpbnMudGVrdG9uLmRldi9zaWduZWQiOiB7fX19fSwgIm9wZXJhdGlvbiI6ICJVcGRhdGUiLCAiYXBpVmVyc2lvbiI6ICJ0ZWt0b24uZGV2L3YxIiwgImZpZWxkc1R5cGUiOiAiRmllbGRzVjEifV0sICJyZXNvdXJjZVZlcnNpb24iOiAiMTkxMDUzOCIsICJjcmVhdGlvblRpbWVzdGFtcCI6ICIyMDI1LTA2LTIwVDA3OjA4OjM1WiJ9LCAiYXBpVmVyc2lvbiI6ICJ0ZWt0b24uZGV2L3YxIn0=" }, "etag": "db041ec2-6ede-4179-8689-65435202c70d-1750406908543074756", "createdTime": "2025-06-20T07:08:35.755915Z", "createTime": "2025-06-20T07:08:35.755915Z", "updatedTime": "2025-06-20T08:08:28.543074Z", "updateTime": "2025-06-20T08:08:28.543074Z" }
Reproducibility (Always/Intermittent/Only Once):
Acceptance criteria:
Definition of Done: