svn update fails on large xml file

Issue #758 open
Lukas Ramach created an issue

Hi, I have the problem that svn update fails for a large xml file. I am using scm-manager 1.44 and svn client 1.9.0 but also tested this with 1.8.7. If i do not use gzip i get this issue on client side (nothing in the server logs):

svn: E175009: The XML response contains invalid XML
svn: E130003: Malformed XML: no element found

If I enable gzip I get massive exceptions.

2015-08-12 15:05:23.383 [EventBus-0] INFO  sonia.scm.repository.DefaultRepositoryManager - modify repository products/adonisnp of type svn
2015-08-12 15:08:47.650 [qtp541465094-60] INFO  sonia.scm.plugin.DefaultPluginManager - fetch plugin informations from http://plugins.scm-manager.org/scm-plugin-backend/api/1.44/plugins?os=Windows+Server+2008+R2&arch=64&snapshot=false
2015-08-12 15:09:44.262 [qtp541465094-61] ERROR sonia.scm.util.IOUtil - Closed
java.io.IOException: Closed
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:140) ~[na:na]
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:107) ~[na:na]
    at java.util.zip.GZIPOutputStream.finish(Unknown Source) ~[na:1.8.0_40]
    at sonia.scm.filter.GZipResponseStream.close(GZipResponseStream.java:140) ~[scm-core-1.44.jar:na]
    at sonia.scm.util.IOUtil.close(IOUtil.java:128) ~[scm-core-1.44.jar:na]
    at sonia.scm.filter.GZipResponseWrapper.finishResponse(GZipResponseWrapper.java:99) [scm-core-1.44.jar:na]
    at sonia.scm.filter.GZipFilter.doFilter(GZipFilter.java:113) [scm-core-1.44.jar:na]
    at sonia.scm.web.SvnGZipFilter.doFilter(SvnGZipFilter.java:124) [scm-svn-plugin-1.44.jar:na]
    at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.44.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at sonia.scm.filter.MDCFilter.doFilter(MDCFilter.java:96) [classes/:na]
    at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.44.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at sonia.scm.web.filter.AutoLoginFilter.doFilter(AutoLoginFilter.java:85) [scm-core-1.44.jar:na]
    at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.44.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at sonia.scm.filter.BaseUrlFilter.doFilter(BaseUrlFilter.java:117) [classes/:na]
    at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:102) [scm-core-1.44.jar:na]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.3.jar:1.2.3]
    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.3.jar:1.2.3]
    at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) [shiro-core-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.3.jar:1.2.3]
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) [guice-servlet-3.0.jar:na]
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) [guice-servlet-3.0.jar:na]
    at sonia.scm.boot.BootstrapFilter.doFilter(BootstrapFilter.java:119) [classes/:na]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1288) [jetty-servlet-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) [jetty-servlet-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556) [jetty-security-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) [jetty-servlet-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.Server.handle(Server.java:369) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:944) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1005) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:957) [jetty-http-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) [jetty-http-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) [jetty-server-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) [jetty-io-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) [jetty-io-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) [jetty-util-7.6.16.v20140903.jar:7.6.16.v20140903]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) [jetty-util-7.6.16.v20140903.jar:7.6.16.v20140903]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_40]

Any Ideas hints how to fix that?

Regards Lukas

Comments (11)

  1. Lukas Ramach reporter

    Any chance we get some progress on this issue? Ath the moment this impacts our development massivly.

  2. Sebastian Sdorra repo owner

    Sorry, but i can't reproduce this issue. I've tested with scm-manager 1.46 and subversion 1.8.13 on mac os. I've modified and moved the file multiple times, without a problem.

  3. Nenad Sladojevic

    Any progress on this issue ?

    We are facing the exact same problem with scm-manager 1.46 (running on RHEL 7.3 64b) and with TortoiseSVN 1.8.4 (running on Windows 10).

    Do you need any additional information to reproduce the problem ?

  4. Sebastian Sdorra repo owner

    @sladojevic do you get the same issue, if you create a new repository and commit only the large xml to that repo? Could you please test, with the latest version of scm-manager?

  5. Nenad Sladojevic

    I am testing in 1.46 (for now) by creating new repository with only one large XML file. All is fine even with multiple changes/commits. Now I am trying to introduce even more changes/commits via Jenkins, to see if it will brake. Any suggestions on this approach ? (should I use new branch each time to change the XML and merge to trunk, which change to introduce)

    Issue is that this problem is happening on regular basis, on different repositories after some 2-3 months. Large XML files are main suspects in each case.

  6. Nenad Sladojevic

    @sdorra I was checking on the Tomcat logs and also found issues of type: at sonia.scm.web.SvnGZipFilter.doFilter(SvnGZipFilter.java:133) (do I need to attach the whole log ?)

    Anyway, would it help to enable/disable gzip, as mentioned in the first post by Lukas ?

  7. Log in to comment