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

HTTP 500 and java.lang.ClassCastException with rubygem proxy

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 3.25.1, 3.28.1
    • Fix Version/s: None
    • Component/s: RubyGems
    • Labels:

      Description

      We have nexus repository configured as rubygems proxy.

       

      During a bundle install, we get the following exception. The command seems to still work regardless.

      2020-08-06 10:32:22,856+0000 WARN [qtp53266001-209] *UNKNOWN org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: GET /repository/rails-assets-proxy/api/v1/dependencies?gems=mini_racer%2Cnet-ldap%2Cnori%2Coauth2%2Cocticons%2Cocticons_helper%2Comniauth%2Comniauth-oauth2%2Cparallel%2Cparser%2Cpg%2Cpuma%2Cque%2Crails%2Crails-assets-tether%2Crainbow%2Crspec%2Crspec-core%2Crspec-expectations%2Crspec-mocks%2Crspec-support%2Crubocop%2Crubocop-rails%2Cruby-progressbar%2Cruby-saml%2Crubyntlm%2Crubyzip%2Csass-rails%2Cselenium-webdriver%2Cspring%2Cspring-watcher-listen%2Cturbolinks%2Cturbolinks-source%2Cuglifier%2Cunicode-display_width%2Cvault%2Cweb-console%2Cwinrm%2Cxmlrpc%2Czabbixapi 
      java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.util.List 
       at org.sonatype.nexus.repository.rubygems.marshal.BundlerGem.lambda$0(BundlerGem.java:172) 
       at java.util.HashMap.computeIfPresent(HashMap.java:1156) 
       at org.sonatype.nexus.repository.rubygems.marshal.BundlerGem.marshalLoad(BundlerGem.java:171) 
       at org.sonatype.nexus.repository.rubygems.marshal.BundlerGems.marshalLoad(BundlerGems.java:107) 
       at org.sonatype.nexus.repository.rubygems.marshal.MarshalLoad.fromBytesAs(MarshalLoad.java:76) 
       at org.sonatype.nexus.repository.rubygems.marshal.Marshal.loadAs(Marshal.java:84) 
       at org.sonatype.nexus.repository.rubygems.internal.RubygemsProxyFacet.handleBundlerDependencies(RubygemsProxyFacet.java:225) 
       at org.sonatype.nexus.repository.rubygems.internal.RubygemsProxyFacet.doStore(RubygemsProxyFacet.java:207) 
       at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:57) 
       at org.sonatype.nexus.transaction.TransactionInterceptor.proceedWithTransaction(TransactionInterceptor.java:66) 
       at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:55) 
       at org.sonatype.nexus.repository.rubygems.internal.RubygemsProxyFacet.store(RubygemsProxyFacet.java:184) 
       at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.doGet(ProxyFacetSupport.java:271) 
       at org.sonatype.nexus.repository.rubygems.internal.RubygemsProxyFacet.doGet(RubygemsProxyFacet.java:171) 
       at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.lambda$1(ProxyFacetSupport.java:245) 
       at org.sonatype.nexus.common.io.CooperatingFuture.performCall(CooperatingFuture.java:122) 
       at org.sonatype.nexus.common.io.CooperatingFuture.call(CooperatingFuture.java:64) 
       at org.sonatype.nexus.common.io.ScopedCooperationFactorySupport$ScopedCooperation.cooperate(ScopedCooperationFactorySupport.java:99) 
       at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.get(ProxyFacetSupport.java:236) 
       at org.sonatype.nexus.repository.proxy.ProxyHandler.handle(ProxyHandler.java:52) 
       at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
       at org.sonatype.nexus.repository.storage.LastDownloadedHandler.handle(LastDownloadedHandler.java:59) 
       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:46) 
       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:59) 
       at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
       at org.sonatype.nexus.repository.cache.NegativeCacheHandler.handle(NegativeCacheHandler.java:56) 
       at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
       at com.sonatype.nexus.clm.internal.FirewallContributedHandler.handle(FirewallContributedHandler.java:98) 
       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:42) 
       at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
       at org.sonatype.nexus.repository.routing.internal.RoutingRuleHandler.handle(RoutingRuleHandler.java:52) 
       at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
       at org.sonatype.nexus.repository.security.SecurityHandler.handle(SecurityHandler.java:51) 
       at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
       at org.sonatype.nexus.repository.view.handlers.TimingHandler.handle(TimingHandler.java:58) 
       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:65) 
       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:213) 
       at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.doService(ViewServlet.java:175) 
       at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.service(ViewServlet.java:127) 
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
       at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290) 
       at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280) 
       at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184) 
       at com.google.inject.servlet.DynamicServletPipeline.service(DynamicServletPipeline.java:71) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) 
       at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) 
       at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
       at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) 
       at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 
       at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) 
       at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
       at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) 
       at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 
       at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) 
       at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
       at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) 
       at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 
       at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) 
       at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) 
       at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) 
       at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 
       at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) 
       at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) 
       at org.sonatype.nexus.security.SecurityFilter.executeChain(SecurityFilter.java:85) 
       at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) 
       at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) 
       at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) 
       at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) 
       at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) 
       at org.sonatype.nexus.security.SecurityFilter.doFilterInternal(SecurityFilter.java:101) 
       at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at org.sonatype.nexus.repository.httpbridge.internal.ExhaustRequestFilter.doFilter(ExhaustRequestFilter.java:80) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at com.sonatype.nexus.licensing.internal.LicensingRedirectFilter.doFilter(LicensingRedirectFilter.java:116) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:112) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at org.sonatype.nexus.internal.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:79) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at org.sonatype.nexus.internal.web.EnvironmentFilter.doFilter(EnvironmentFilter.java:101) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at org.sonatype.nexus.internal.web.HeaderPatternFilter.doFilter(HeaderPatternFilter.java:98) 
       at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
       at com.google.inject.servlet.DynamicFilterPipeline.dispatch(DynamicFilterPipeline.java:104) 
       at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133) 
       at org.sonatype.nexus.bootstrap.osgi.DelegatingFilter.doFilter(DelegatingFilter.java:73) 
       at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) 
       at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) 
       at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) 
       at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) 
       at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 
       at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) 
       at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700) 
       at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) 
       at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) 
       at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) 
       at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) 
       at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667) 
       at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) 
       at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) 
       at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) 
       at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 
       at com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:239) 
       at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) 
       at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 
       at org.eclipse.jetty.server.Server.handle(Server.java:505) 
       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) 
       at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) 
       at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) 
       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) 
       at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) 
       at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) 
       at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) 
       at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) 
       at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) 
       at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) 
       at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698) 
       at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804) 
       at java.lang.Thread.run(Thread.java:748)
      

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            TeroPihlaja Tero Pihlaja
            Last Updated By:
            Joe Tom Joe Tom
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Date of First Response:

                tigCommentSecurity.panel-title