docker-registry-web
docker-registry-web copied to clipboard
Cannot get property 'Cmd' on null object. Stacktrace follows:
2021-06-21 03:21:47,347 [http-bio-8080-exec-6] ERROR errors.GrailsExceptionResolver - NullPointerException occurred when processing request: [GET] /repo/tag/country_archives%252Fapi/202106201241
Cannot get property 'Cmd' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'Cmd' on null object
at docker.registry.web.RepositoryController$_tag_closure10.doCall(RepositoryController.groovy:120)
at docker.registry.web.RepositoryController.tag(RepositoryController.groovy:118)
at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
getting the same here
getting the same here.
In my case, error raised when parsing docker image's tag detail from registry:v2's API.
registry | 172.19.0.4 - - [25/Jan/2023:09:15:22 +0000] "GET /v2/sample/manifests/1.0 HTTP/1.1" 200 2269 "" "Java/1.7.0_111"
registry-manager | 2023-01-25 09:15:23,252 [http-bio-8080-exec-4] ERROR errors.GrailsExceptionResolver - NullPointerException occurred when processing request: [GET] /repo/tag/sample/1.0
registry-manager | Cannot get property 'Cmd' on null object. Stacktrace follows:
registry-manager | java.lang.NullPointerException: Cannot get property 'Cmd' on null object
registry-manager | at docker.registry.web.RepositoryController$_tag_closure10.doCall(RepositoryController.groovy:120)
registry-manager | at docker.registry.web.RepositoryController.tag(RepositoryController.groovy:118)
registry-manager | at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
registry-manager | at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
registry-manager | at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
registry-manager | at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
registry-manager | at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59)
registry-manager | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
registry-manager | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
registry-manager | at java.lang.Thread.run(Thread.java:745)
Docker registry(v2)'s API respone is like below
$ curl https://localhost:5000/v2/sample/manifests/latest
{
"schemaVersion": 1,
"name": "sample",
"tag": "latest",
"architecture": "amd64",
"fsLayers": [
{
"blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
},
{
"blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
},
{
"blobSum": "sha256:6e3729cf69e0ce2de9e779575a1fec8b7fb5efdfa822829290ab6d5d1bc3e797"
}
],
"history": [
{
"v1Compatibility": "{\"architecture\":\"amd64\",\"config\":{\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"echo 'Hello, new world!'\"],\"ArgsEscaped\":true,\"OnBuild\":null},\"created\":\"2022-12-09T01:20:31.321639501Z\",\"id\":\"a27097f185bb1fa65ec5af3ae27a8a43971eee91c904efba7e77c91ffc1a814b\",\"os\":\"linux\",\"parent\":\"ac79fb3a270aca6e4ed6599796544bdcbcc79530ed477adc41e362a0a8077f3d\",\"throwaway\":true}"
},
{
"v1Compatibility": "{\"id\":\"ac79fb3a270aca6e4ed6599796544bdcbcc79530ed477adc41e362a0a8077f3d\",\"parent\":\"b83eec157318296d7e835ceb33a308706d324c70a3351e2a4d7c0c78b2f10083\",\"created\":\"2022-12-09T01:20:31.321639501Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) CMD [\\\"bash\\\"]\"]},\"throwaway\":true}"
},
{
"v1Compatibility": "{\"id\":\"b83eec157318296d7e835ceb33a308706d324c70a3351e2a4d7c0c78b2f10083\",\"created\":\"2022-12-09T01:20:30.834419054Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ADD file:481dd2da6de71525248eba186feeeafcc73cc956ade0a196a4e8b0c2424e74b9 in / \"]}}"
}
],
"signatures": [
{
"header": {
"jwk": {
"crv": "P-256",
"kid": "KAQW:ZOK2:7DP2:KDOA:RI6A:ARYC:RMAE:KSWJ:E2UZ:3TUE:PWDS:DCL3",
"kty": "EC",
"x": "Zy7Wi1OZpCcAHQ7JZNokQdK1DH9pBajXp1DipZxHn7g",
"y": "A1AOMPNaxagG6-NcOtyWmLEEDHmQIBvqjqlaPKGQ8xA"
},
"alg": "ES256"
},
"signature": "IPgk4PbUyl5NnMSIc_bbE7H38AtsEafWm80R8e9z6t0Bpz24w9C2MMabUYc5XV7xMWSRh0Wa0Aw-tEq_o03LTw",
"protected": "eyJmb3JtYXRMZW5ndGgiOjE2MjUsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAyMy0wMS0yNlQwMTo1MDo1MFoifQ"
}
]
}