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

NPE in RubygemsContentFacetImpl while handling asset download count

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.4.0, 3.5.0
    • Fix Version/s: 3.6.0
    • Component/s: RubyGems
    • Labels:
      None
    • Story Points:
      0.5

      Description

      While doing upgrade testing in NEXUS-13735 I saw this NPE while running a Ruby bundle install command.

      2017-08-01 10:27:53,678-0700 WARN  [qtp1565762475-81] *UNKNOWN org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: GET /repository/rubygems-hosted/api/v1/dependencies              
      java.lang.NullPointerException: null                                                                                                                                                                               
              at org.sonatype.nexus.repository.rubygems.internal.RubygemsContentFacetImpl.getBundlerApiDependencies(RubygemsContentFacetImpl.java:269)                                                                           at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56)                                                                                                
              at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:54)                                                                                                                    at org.sonatype.nexus.repository.rubygems.internal.RubygemsContentHandler.handleGET(RubygemsContentHandler.java:104)                                                                                       
              at org.sonatype.nexus.repository.rubygems.internal.RubygemsContentHandler.handle(RubygemsContentHandler.java:63)                                                                                           
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at org.sonatype.nexus.repository.storage.UnitOfWorkHandler.handle(UnitOfWorkHandler.java:39)                                                                                                               
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                             at org.sonatype.nexus.repository.view.handlers.ContentHeadersHandler.handle(ContentHeadersHandler.java:44)                                                                                                 
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                             at org.sonatype.nexus.repository.view.handlers.ConditionalRequestHandler.handle(ConditionalRequestHandler.java:72)                                                                                         
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at org.sonatype.nexus.repository.http.PartialFetchHandler.handle(PartialFetchHandler.java:55)                                                                                                              
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at com.sonatype.nexus.plugins.healthcheck.downloads.AssetDownloadCountContributedHandler.handle(AssetDownloadCountContributedHandler.java:47)                                                              
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at com.sonatype.nexus.clm.internal.QuarantineContributedHandler.handle(QuarantineContributedHandler.java:62)                                                                                               
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at com.sonatype.nexus.usertoken.plugin.internal.UserTokenHandler.handle(UserTokenHandler.java:70)                                                                                                          
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at org.sonatype.nexus.repository.view.handlers.HandlerContributor.handle(HandlerContributor.java:67)                                                                                                       
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at org.sonatype.nexus.repository.view.handlers.ExceptionHandler.handle(ExceptionHandler.java:43)                                                                                                           
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at org.sonatype.nexus.repository.security.SecurityHandler.handle(SecurityHandler.java:52)                                                                                                                          at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                             at org.sonatype.nexus.repository.view.handlers.TimingHandler.handle(TimingHandler.java:46)                                                                                                                         at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)                                                                                                                                     
              at org.sonatype.nexus.repository.view.Context.start(Context.java:114)                                                                                                                                      
              at org.sonatype.nexus.repository.view.Router.dispatch(Router.java:63)                                                                                                                                      
              at org.sonatype.nexus.repository.view.ConfigurableViewFacet.dispatch(ConfigurableViewFacet.java:52)                                                                                                        
              at org.sonatype.nexus.repository.view.ConfigurableViewFacet.dispatch(ConfigurableViewFacet.java:43)                                                                                                        
              at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.dispatchAndSend(ViewServlet.java:198)                                                                                                     
              at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.doService(ViewServlet.java:160)                                                                                                           
              at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.service(ViewServlet.java:117)                                                                                                                     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)    

      Saw in 3.4, but also reproduced in 3.5. I was just following the instructions at https://docs.sonatype.com/display/Nexus/RubyGems+Testing+-+NX3. The final test is to download a custom asset from a hosted repository.

        Attachments

          Activity

            People

            Assignee:
            jtom Joe Tom
            Reporter:
            cpeters Collin Peters
            Last Updated By:
            Peter Lynch
            Team:
            Nexus - Formats
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Date of First Response:

                tigCommentSecurity.panel-title