This appears to be a problem due to running on a multiprocessor machine.
The errors are intermittent due to task scheduling. SVN attempts to
change a file to read-only, but the file does not exist yet because a
different thread (or process?) has not completed creating the file yet.
I hacked a simple change to the svn_is_set_file_read_only (io.c file)
where it checks to see if apr_file_attrs_set returns an error, it goes
to sleep for a second and then tries again. This is only a hack, but it
makes the regression tests all pass now for both file and http access
whereas before I would get random failures.
Is this something that needs to be fixed? SVN seems to function
correctly even though it reports the error. Are there other potential
problems when running on a multi-proc machine?
Thanks! Kevin
-----Original Message-----
From: Lee, Kevin [mailto:kdlee@qualcomm.com]
Sent: Tuesday, January 20, 2004 9:10 AM
To: users@subversion.tigris.org
Subject: test failure on .36
I compiled 0.36 from source on redhat 9. Everything seems to be working
fine, but when I run the tests (make check from the top), I get test
failures of the type:
CMD: svn "checkout" "--username" "jrandom" "--password" "rayjandom"
"file:///home/kdlee/workarea/subversion0.36.0/subversion/tests/clients/c
mdline/repositories/externals_tests-4"
"working_copies/externals_tests-4" "--config-dir"
"/home/kdlee/workarea/subversion-0.36.0/subversion/tests/clients/cmdline
/local_tmp/config" <TIME = 4.576458>
EXPECTED STDERR:
ACTUAL STDERR:
subversion/libsvn_subr/io.c:723: (apr_err=2)
svn: Can't set file 'working_copies/externals_tests-4/A/D/.svn/entries'
read-only: No such file or directory
EXCEPTION: SVNLineUnequal
FAIL: externals_tests.py 4: update change to an unmodified external
module
The weird thing is if I run the tests again, I get the same kind of
failure, but in a different test. It always has trouble setting one of
the entries files to read-only because it thinks it does not exist. But
each time it is a different test and file that fails.
Is it possible that I screwed something up when I compiled the code? I
just wanted to make sure that this is not a real problem.
Thanks! Kevin
Received on Thu Jan 22 23:48:48 2004