Hi all...
I recently ran into some trouble getting Subversion to work properly
on OS X 10.4 after I upgraded the box that was serving (via Apache)
my Subversion repository, and after bouncing it around on the users@
list, it turned out to be the result of a bug in APR that appeared
fairly recently when running on OS X 10.4. While the bug has been
fixed in the latest APR sources, that is unusable with any stable
version of Apache (unless you choose to run the 2.1.x line), and thus
isn't really much of an option for those who don't feel comfortable
serving their repos on bleeding-edge code.
As a result of my experience, Karl asked if I would be willing to
submit a FAQ entry on the issue as it isn't currently addressed, so
without further ado, here's what I've written:
Question:
I am getting occasional and seemingly inconsistent errors while
trying to check out over HTTP from a Subversion repository running on
Mac OS X 10.4 (Tiger). Why?
Answer:
Note: It is assumed that your repository is being served by Apache
2.0.x.
There is a bug in APR-0.9.6 that is present when it is running on
Tiger, and shows up when you attempt to check out a file larger than
64K in size. The resulting check out fails, often with different
error messages such as (the specifics of each message may differ
somewhat):
svn: Invalid diff stream: [tgt] insn 1 starts beyond the target view
position
svn: Unexpected end of svndiff input
svn: REPORT request failed on '/path/to/repository'
svn: REPORT of '/path/to/repository/!svn/vcc/default': Chunk
delimiter was invalid
and / or errors in your Apache error log like
[error] Provider encountered an error while streaming a REPORT
response. [500, #0]
[error] A failure occurred while driving the update report editor
[500, #190004]
To confirm the presence of this bug - assuming you have access to the
machine that the repository is being served from - try running a
check out using a file:// URL, which will access the filesystem
directly instead of going through Apache. If the resulting check out
completes successfully, then it is almost certain that this is the
problem.
Currently, the best solution is to rebuild Apache and Subversion from
their respective sources, setting the following environment variable
before running configure for Apache:
setenv ac_cv_func_poll no
If you built APR / APR-Util separately (ie. you did not use the ones
that come as part of the Apache tarball), you must set the
environment variable before running configure for APR, as this is
where the problem lies.
This goes without saying, but please nitpick away, and thanks for the
opportunity to make a very tiny contribution as well.
Cheers,
Bryan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jun 28 20:01:11 2005