Dev - Nexus
  1. Dev - Nexus
  2. NEXUS-5024

Problem reporting doesn't work through http proxy

    Details

    • Global Rank:
      25136

      Description

      Regression from 2.0.3:

      I can't submit problem reports when nexus is configured to connect through an http proxy server.

      This seems to be a regression caused by upgrading swizzle version.

      2012-04-19 12:19:02 ERROR [qtp22057969-56 ] - org.sonatype.nexus.rest.error.reporting.ErrorReportingPlexusResource - Unable to submit jira ticket.
      org.codehaus.plexus.swizzle.IssueSubmissionException: Login failed for server 'https://issues.sonatype.org' with username 'rseddon'
      	at org.codehaus.plexus.swizzle.JiraIssueSubmitter.connect(JiraIssueSubmitter.java:238) ~[sisu-problem-reporter-1.5.1.jar:na]
      	at org.codehaus.plexus.swizzle.JiraIssueSubmitter.submit(JiraIssueSubmitter.java:289) ~[sisu-problem-reporter-1.5.1.jar:na]
      	at org.sonatype.nexus.error.reporting.DefaultErrorReportingManager.submitIssue(DefaultErrorReportingManager.java:379) ~[nexus-app-2.0.4.jar:na]
      	at org.sonatype.nexus.error.reporting.DefaultErrorReportingManager.handleError(DefaultErrorReportingManager.java:297) ~[nexus-app-2.0.4.jar:na]
      	at org.sonatype.nexus.error.reporting.DefaultErrorReportingManager.handleError(DefaultErrorReportingManager.java:282) ~[nexus-app-2.0.4.jar:na]
      	at org.sonatype.nexus.rest.error.reporting.ErrorReportingPlexusResource.put(ErrorReportingPlexusResource.java:140) ~[nexus-rest-api-2.0.4.jar:na]
      	at org.sonatype.plexus.rest.resource.RestletResource.storeRepresentation(RestletResource.java:327) [plexus-restlet-bridge-1.18.jar:na]
      	at org.sonatype.nexus.rest.NexusRestletResource.storeRepresentation(NexusRestletResource.java:89) [nexus-rest-api-2.0.4.jar:na]
      	at org.restlet.resource.Resource.put(Resource.java:706) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.resource.Resource.handlePut(Resource.java:603) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Finder.handle(Finder.java:359) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Router.handle(Router.java:504) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Router.handle(Router.java:504) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.sonatype.plexus.rest.RetargetableRestlet.doHandle(RetargetableRestlet.java:39) [plexus-restlet-bridge-1.18.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130) [com.noelios.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) [com.noelios.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at com.noelios.restlet.application.ApplicationHelper.handle(ApplicationHelper.java:112) [com.noelios.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Application.handle(Application.java:341) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Router.handle(Router.java:504) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Router.handle(Router.java:504) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.doHandle(Filter.java:150) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Filter.handle(Filter.java:195) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124) [com.noelios.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Component.handle(Component.java:673) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at org.restlet.Server.handle(Server.java:331) [org.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68) [com.noelios.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147) [com.noelios.restlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881) [com.noelios.restlet.ext.servlet-1.1.6-SONATYPE-5348-V4.jar:na]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) [servlet-api-2.5.jar:2.5]
      	at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:278) [guice-servlet-3.1.1.jar:na]
      	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:268) [guice-servlet-3.1.1.jar:na]
      	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180) [guice-servlet-3.1.1.jar:na]
      	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93) [guice-servlet-3.1.1.jar:na]
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:84) [guice-servlet-3.1.1.jar:na]
      	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.1.jar:na]
      	at org.sonatype.nexus.web.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:88) [nexus-web-utils-2.0.4.jar:na]
      	at org.sonatype.nexus.web.NexusGuiceFilter$MultiFilterPipeline.dispatch(NexusGuiceFilter.java:58) [nexus-web-utils-2.0.4.jar:na]
      	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:126) [guice-servlet-3.1.1.jar:na]
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331) [jetty-servlet-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.1.0.jar:1.1.0]
      	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.1.0.jar:1.1.0]
      	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) [shiro-core-1.1.0.jar:1.1.0]
      	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) [shiro-web-1.1.0.jar:na]
      	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) [shiro-web-1.1.0.jar:na]
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331) [jetty-servlet-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477) [jetty-servlet-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) [jetty-security-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) [jetty-servlet-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.Server.handle(Server.java:349) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:894) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:948) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:857) [jetty-http-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) [jetty-http-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) [jetty-server-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609) [jetty-io-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45) [jetty-io-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599) [jetty-util-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534) [jetty-util-7.6.2.v20120308.jar:7.6.2.v20120308]
      	at java.lang.Thread.run(Unknown Source) [na:1.6.0_31]
      Caused by: org.apache.xmlrpc.client.XmlRpcClientException: Execution error during communication: java.net.ConnectException: null to https://issues.sonatype.org/rpc/xmlrpc
      	at org.apache.xmlrpc.client.XmlRpcAhcTransport.getInputStream(XmlRpcAhcTransport.java:186) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:152) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	at org.codehaus.swizzle.jira.Jira.call(Jira.java:473) ~[swizzle-jira-1.6.1.jar:1.6.1]
      	at org.codehaus.swizzle.jira.Jira.login(Jira.java:115) ~[swizzle-jira-1.6.1.jar:1.6.1]
      	at org.codehaus.plexus.swizzle.JiraIssueSubmitter.connect(JiraIssueSubmitter.java:234) ~[sisu-problem-reporter-1.5.1.jar:na]
      	... 98 common frames omitted
      Caused by: java.util.concurrent.ExecutionException: java.net.ConnectException: null to https://issues.sonatype.org/rpc/xmlrpc
      	at com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:293) ~[async-http-client-1.6.4.jar:na]
      	at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:99) ~[async-http-client-1.6.4.jar:na]
      	at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:381) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:148) ~[netty-3.2.4.Final.jar:na]
      	at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.doConnect(NettyAsyncHttpProvider.java:945) ~[async-http-client-1.6.4.jar:na]
      	at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.execute(NettyAsyncHttpProvider.java:776) ~[async-http-client-1.6.4.jar:na]
      	at com.ning.http.client.AsyncHttpClient.executeRequest(AsyncHttpClient.java:484) ~[async-http-client-1.6.4.jar:na]
      	at com.ning.http.client.SimpleAsyncHttpClient.execute(SimpleAsyncHttpClient.java:285) ~[async-http-client-1.6.4.jar:na]
      	at com.ning.http.client.SimpleAsyncHttpClient.post(SimpleAsyncHttpClient.java:112) ~[async-http-client-1.6.4.jar:na]
      	at org.apache.xmlrpc.client.XmlRpcAhcTransport.getInputStream(XmlRpcAhcTransport.java:176) ~[sisu-xmlrpc-client-1.2.0.jar:na]
      	... 107 common frames omitted
      Caused by: java.net.ConnectException: null to https://issues.sonatype.org/rpc/xmlrpc
      	at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:95) ~[async-http-client-1.6.4.jar:na]
      	... 115 common frames omitted
      Caused by: java.nio.channels.UnresolvedAddressException: null
      	at sun.nio.ch.Net.checkAddress(Unknown Source) ~[na:1.6.0_31]
      	at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) ~[na:1.6.0_31]
      	at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:140) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:103) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:415) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:60) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.handler.codec.http.HttpClientCodec.handleDownstream(HttpClientCodec.java:82) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleDownstream(ChunkedWriteHandler.java:114) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.channel.Channels.connect(Channels.java:541) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:218) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:227) ~[netty-3.2.4.Final.jar:na]
      	at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:188) ~[netty-3.2.4.Final.jar:na]
      	at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.doConnect(NettyAsyncHttpProvider.java:902) ~[async-http-client-1.6.4.jar:na]
      	... 112 common frames omitted
      

        Issue Links

          Activity

          Hide
          Brian Fox added a comment -

          Problems with the APR happen often enough that we really need to think about having ITs for this...

          Show
          Brian Fox added a comment - Problems with the APR happen often enough that we really need to think about having ITs for this...
          Hide
          bhanzelmann added a comment -

          That this ever worked was a side effect of the p2 plugin. p2 runtime sets the well-known http.proxy* system properties, which got picked up by the xmlrpc transport. A change in that transport (newest swizzle uses async-http-client, which does not use those properties by default) broke proxy settings even when p2 plugin was present.

          Show
          bhanzelmann added a comment - That this ever worked was a side effect of the p2 plugin. p2 runtime sets the well-known http.proxy* system properties, which got picked up by the xmlrpc transport. A change in that transport (newest swizzle uses async-http-client, which does not use those properties by default) broke proxy settings even when p2 plugin was present.
          Hide
          bhanzelmann added a comment -
          Show
          bhanzelmann added a comment - https://github.com/sonatype/nexus/pull/377
          Hide
          Peter Lynch added a comment -

          pull 377 has some nice unit tests, possible to add an IT for problem reporting that verifies only proxy is used?

          Show
          Peter Lynch added a comment - pull 377 has some nice unit tests, possible to add an IT for problem reporting that verifies only proxy is used?
          Hide
          Rich Seddon added a comment -

          Verified fixed (tested on a completly isolated network).

          Show
          Rich Seddon added a comment - Verified fixed (tested on a completly isolated network).

            People

            • Assignee:
              Rich Seddon
              Reporter:
              Rich Seddon
              Last Updated By:
              Rich Seddon
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Date of First Response: