Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-30811

Staging move failing for multi-arch docker image due to NPE

    Details

    • Type: Bug
    • Status: New
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 3.31.1, 3.37.3, 3.38.1, 3.41.0
    • Fix Version/s: None
    • Component/s: Docker, Staging
    • Labels:
    • Story Points:
      5
    • Notability:
      3

      Description

      Attempting to perform a staging move for a multi-arch docker image fails with the following NPE:

      2022-01-04 13:37:42,275+0000 WARN  [qtp2128617822-108] admin org.sonatype.nexus.siesta.internal.UnexpectedExceptionMapper - (ID 4dfa1758-df4f-49f2-9a13-0b9337e1be48) Unexpected exception: java.lang.NullPointerException

      java.lang.NullPointerException: null

       at org.sonatype.nexus.repository.docker.internal.orient.DockerComponentDirector.maybeCopyAssets(DockerComponentDirector.java:154)

       at org.sonatype.nexus.repository.docker.internal.orient.DockerComponentDirector.beforeMove(DockerComponentDirector.java:109)

       at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:58)

       at org.sonatype.nexus.transaction.TransactionInterceptor.proceedWithTransaction(TransactionInterceptor.java:66)

       at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:55)

       at com.sonatype.nexus.staging.internal.orient.OrientStagingComponentManager.move(OrientStagingComponentManager.java:88)

       at com.sonatype.nexus.staging.internal.orient.OrientStagingService.doMove(OrientStagingService.java:413)

       at com.sonatype.nexus.staging.internal.orient.OrientStagingService.move(OrientStagingService.java:196)

       at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)

       at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:272)

       at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:54)

       at com.sonatype.nexus.staging.internal.StagingResource.move(StagingResource.java:89)

       at org.apache.shiro.guice.aop.AopAllianceMethodInvocationAdapter.proceed(AopAllianceMethodInvocationAdapter.java:49)

       at org.apache.shiro.authz.aop.AuthorizingAnnotationMethodInterceptor.invoke(AuthorizingAnnotationMethodInterceptor.java:68)

       at org.apache.shiro.guice.aop.AopAllianceMethodInterceptorAdapter.invoke(AopAllianceMethodInterceptorAdapter.java:36)

       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

       at java.lang.reflect.Method.invoke(Method.java:497)

      To reproduce:

      1. Create and push a multi-arch image to a docker repo.
      2. Tag this image (service/rest/v1/tags/associate) and then attempt to move it to another docker repo (service/rest/v1/staging/move)
      3. *Look at community post from below for more info

      Expected Result:

      1. Move docker image to another docker repo - if possible
      2. If not possible, fail with a better error message

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              hardeepn Hardeep Nagra
              Last Updated By:
              Joe Tom Joe Tom
              Team:
              NXRM - Mad Max
              Votes:
              8 Vote for this issue
              Watchers:
              18 Start watching this issue

                Dates

                Created:
                Updated:
                Date of First Response:

                  tigCommentSecurity.panel-title