Hi.

There was a related topic a few month ago : "Regression in 1.8.x - checksum
mismatch when using svn via http/apache" (
http://mail-archives.apache.org/mod_mbox/subversion-dev/201309.mbox/%3cb28c281f.1ceb834.366d63.2...@analytik-jena.de%3E).
But it was quickly abandoned without final solution. It seems that
same
problem happens in my configuration but now I have a reproduceable test
case. Okay, let's start:

1. An issue:
- When checking out (or updating) a repository with a lot of small html and
PHP files (it's a Drupal software tree with a lot of vendor branches used
for keeping site configuration up to date) a Checksum mismatch message
appears for one of files:

A    vendor\drupal\current\modules\php\php.info
A    vendor\drupal\current\modules\php\php.install
A    vendor\drupal\current\modules\translation\translation.module
A    vendor\drupal\current\modules\translation\translation.test
svn: E200014: Checksum mismatch for
'D:\TEMP\_SVN\test1_1\vendor\drupal\current\modules\update\tests\aaa_update_test.tar.gz':
   expected:  02ede29e316cddf45ee6535ff02eae1d
     actual:  c349cea43c4af6f1192c8eb62a5b27ab

- It always appears for same file;
- It fails when http:// protocol used but succeedes when local (file:/// )
repo access method used (both on windows or FreeBSD). svn:// protocol is
not tested yet.
- Checkout FAILS for following clients: SVN 1.8.5 on FreeBSD AMD64 from
ports, TortoiseSVN 1.8.4, SlikSVN 1.8.5 (x64 and win32) for Windows,
CollabSVN 1.8.5 x64.
- Checkout succeedes when 1.7.x SVN client used with same server setup
(currently only SlikSVN 1.7.13-x64 tested).
- Messages (including checksum numbers) are same for all affected
configurations....
- Repository is checked using svnadmin and no issues found.
- Issue also happens with a fresh repository created with files that cause
this issue.

2. Server configuration:
- FreeBSD 9.2 Release AMD64, Generic kernel.
- Apache 2.2.26
- SVN 1.8.5
- Runs on VMWare vSphere 5.1 (one setup) and VMWare Workstation 10.0.01
(second test setup).
- Everything is built from latest ports with default port settings almost
everywhere (except compiling apache mod for svn).
- Default FreeBSD 9.2 compiler used (GCC 4.2.1 20070831 patched), no custom
compiler environment options in make.conf .
- No mod_deflate or other compression modules used.
- SVNCompressionLevel is set to 0 in Apache config. Issue happens with or
without this option.

3. I failed to make a reproduceable configuration after moving affected
repository to Apache 2.2 server on Windows. Maybe because I run Apache in
32 bit configuration. I wasn't able to setup 64-bit configuration, because
cannot find prebuilt SVN with 64 bit Apache modules. But I successfully
reproduced it on a freshly built VM with another FreeBSD 9.2 AMD64 and then
narrowed it down to a tiny reproduceable repository with only 1 file and 1
commit.

Here's archived repository wtih this issue :
https://www.dropbox.com/s/r84xksm93ksvipu/repo.tgz
And this is the file from Drupal distribution that screws it when committed
to repository:
https://www.dropbox.com/s/lz34u4r9n8tom2k/aaa_update_test.tar.gz
If this doesn't help I can provide developers with a whole FreeBSD VM dump
to play, though it will be a lot bigger: a few gigs.

4. It's hard to find who's to blame - can be anything from compiler/linker
issues to some OS quirks. But there's some thoughts:
- It seems to be an 1.8.x problem, at least from client side because 1.7.x
clients works and 1.8.x clients fails;
- Probably server-side and related to 64-bit builds on server;
- Probably an issue in DAV module or Apache bindings because local file://
checkouts works.
- Related to Zlib issues? Maybe something is wrong with Zlib of FreeBSD?
It's better to test with server configuration on another OSes.

Reply via email to