Issue #418 resolved

Pushing HTTP 500 error hook failed

thiungoh
created an issue

When pushing to SCM Manager on our Mercurial repository (or if I create a new repository), we get the following output:

pushing to http://<USERNAME>@<DOMAIN>/scm/hg/test_repository
using http://<DOMAIN>/scm/hg/test_repository
http auth: user <USERNAME>, password not set
sending capabilities command
<DOMAIN> certificate successfully verified
http authorization required
realm: SONIA :: SCM Manager
user: <USERNAME>
http auth: user <USERNAME>, password **************
<DOMAIN> certificate successfully verified
real URL is https://<DOMAIN>/scm/hg/test_repository
query 1; heads
sending batch command
http auth: user <USERNAME>, password **************
<DOMAIN> certificate successfully verified
searching for changes
all remote heads known locally
sending branchmap command
http auth: user <USERNAME>, password **************
<DOMAIN> certificate successfully verified
1 changesets found
list of changesets:
d9ceeb23da136b89cb81e749123d31189c850f71
bundling: 1/1 changesets (100.00%)
bundling: 1/1 manifests (100.00%)
bundling: baz 1/1 files (100.00%)
sending unbundle command
sending 294 bytes
sending: 0 kb
sending: 0 kb
http auth: user <USERNAME>, password **************
<DOMAIN> certificate successfully verified
sending: 0 kb
sending: 0 kb
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
remote: ERROR: <html>
remote: <head>
remote: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
remote: <title>Error 500 Server Error</title>
remote: </head>
remote: <body><h2>HTTP ERROR 500</h2>
remote: <p>Problem accessing /scm/hook/hg/changegroup. Reason:
remote: <pre>    Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.NumberFormatException: !hex 118
remote:     at org.eclipse.jetty.util.TypeUtil.convertHexDigit(TypeUtil.java:375)
remote:     at org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:555)
remote:     at org.eclipse.jetty.util.UrlEncoded.decodeTo(UrlEncoded.java:611)
remote:     at org.eclipse.jetty.server.Request.extractParameters(Request.java:298)
remote:     at org.eclipse.jetty.server.Request.getParameter(Request.java:708)
remote:     at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
remote:     at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
remote:     at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
remote:     at sonia.scm.web.HgHookCallbackServlet.getRepositoryName(HgHookCallbackServlet.java:405)
remote:     at sonia.scm.web.HgHookCallbackServlet.doPost(HgHookCallbackServlet.java:186)
remote:     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
remote:     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
remote:     at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
remote:     at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
remote:     at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at sonia.scm.crowd.CrowdSSOFilter.doFilter(CrowdSSOFilter.java:57)
remote:     at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at sonia.scm.filter.BaseUrlFilter.doFilter(BaseUrlFilter.java:117)
remote:     at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
remote:     at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
remote:     at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
remote:     at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
remote:     at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
remote:     at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
remote:     at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
remote:     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
remote:     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
remote:     at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
remote:     at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
remote:     at sonia.scm.boot.BootstrapFilter.doFilter(BootstrapFilter.java:104)
remote:     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
remote:     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
remote:     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
remote:     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556)
remote:     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
remote:     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
remote:     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
remote:     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
remote:     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
remote:     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
remote:     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
remote:     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
remote:     at org.eclipse.jetty.server.Server.handle(Server.java:369)
remote:     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
remote:     at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
remote:     at org.eclipse.jetty.ajp.Ajp13Connection.access$2900(Ajp13Connection.java:45)
remote:     at org.eclipse.jetty.ajp.Ajp13Connection$RequestHandler.headerComplete(Ajp13Connection.java:237)
remote:     at org.eclipse.jetty.ajp.Ajp13Parser.parseNext(Ajp13Parser.java:505)
remote:     at org.eclipse.jetty.ajp.Ajp13Parser.parseAvailable(Ajp13Parser.java:158)
remote:     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
remote:     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
remote:     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
remote:     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
remote:     at java.lang.Thread.run(Thread.java:722)
remote: </pre>
remote: <hr /><i><small>Powered by Jetty://</small></i><br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote: <br/>
remote:
remote: </body>
remote: </html>
remote: warning: changegroup.scm hook failed
checking for updated bookmarks
sending listkeys command
http auth: user <USERNAME>, password **************
<DOMAIN> certificate successfully verified

Comments (15)

  1. thiungoh reporter
    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 12.04.2 LTS
    Release:    12.04
    Codename:   precise
    $ java -version
    java version "1.6.0_27"
    OpenJDK Runtime Environment (IcedTea6 1.12.5) (6b27-1.12.5-0ubuntu0.12.04.1)
    OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
    $ 
    
  2. thiungoh reporter

    Yes, this is behind an AJP reverse proxy. I can try the Oracle JRE, but it will take time to try this (this is a production system - developers are using it).

  3. thiungoh reporter

    Every repository. Furthermore, I can replicate the issue by simply creating a new repository and commitng something to it, then pushing.

  4. thiungoh reporter

    I just checked again now (without changing anything) and the problem no longer happens. I will remain cautious the next few days; the problem appeared randomly and now disappeared randomly. I imagine it will appear again, sometime.

  5. thiungoh reporter

    Problem is randomly happening again. We had scheduled downtime and I switched to Oracle Java 1.7.0_25, and we're getting the same issue.

  6. Log in to comment