Issue 614: Clone or fetch over HTTP leads to 503 error
Status:  Released
Owner: ----
Closed:  Mar 2012
Reported by knw...@gmail.com, Jun 29, 2010
Affected Version: Gerrit 2.1.3

What steps will reproduce the problem?
1. git clone http://git.iwu.fraunhofer.de/p/komma/manifest.git

What is the expected output? What do you see instead?

Instead of cloning/synchronizing the repository, git fails with the following error: 
error: RPC failed; result=22, HTTP code = 503

Gerrit's error log contains the following entry:

[2010-06-29 09:10:38,209] ERROR org.eclipse.jetty.util.log : EXCEPTION
com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot access scoped object. Either we are not currently inside an HTTP Servlet request, or you may have forgotten to apply com.goog
le.inject.servlet.GuiceFilter as a servlet filter for this request.
  while locating com.google.gerrit.server.CurrentUser

1 error
        at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
        at com.google.gerrit.pgm.http.jetty.ProjectQoSFilter.getExecutor(ProjectQoSFilter.java:147)
        at com.google.gerrit.pgm.http.jetty.ProjectQoSFilter.access$100(ProjectQoSFilter.java:68)
        at com.google.gerrit.pgm.http.jetty.ProjectQoSFilter$TaskThunk.onTimeout(ProjectQoSFilter.java:222)
        at org.eclipse.jetty.server.AsyncContinuation.expired(AsyncContinuation.java:401)
        at org.eclipse.jetty.server.AsyncContinuation$AsyncEventState.run(AsyncContinuation.java:893)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:437)
        at java.lang.Thread.run(Thread.java:636)
Caused by: com.google.inject.OutOfScopeException: Cannot access scoped object. Either we are not currently inside an HTTP Servlet request, or you may have forgotten to apply com.google.inject.servlet.
GuiceFilter as a servlet filter for this request.
        at com.google.inject.servlet.GuiceFilter.getContext(GuiceFilter.java:132)
        at com.google.inject.servlet.GuiceFilter.getRequest(GuiceFilter.java:118)
        at com.google.inject.servlet.ServletScopes$1$1.get(ServletScopes.java:48)
        at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
        at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
        at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:804)
        at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
        ... 7 more

Jun 29, 2010
#2 knw...@gmail.com
This happens with GIT version 1.7.0.4 (cygwin).
Gerrit is behind an Apache reverse proxy.
Jun 29, 2010
#3 sop@google.com
Interesting stack trace.  Jetty is trying to cancel the request
but it crashed doing so because we have a bug.  :-(

I can't explain why Jetty is canceling though.
Status: Accepted
Labels: Milestone-2.1.4
Jul 13, 2010
#4 sop@google.com
Fixed in change I76344befc1c248cbd03f34d629d3ea15d9ef8bbf
Status: Fixed
Labels: -Milestone-2.1.4 FixedIn-2.1.4
Mar 27, 2012
#5 sop@google.com
(No comment was entered for this change.)
Status: Released