You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Brian Buesker <bb...@qualcomm.com> on 2006/11/22 00:19:54 UTC
Committing Locked File fails over ra_dav
I have been doing some testing with SVN 1.4.2 with Apache 2.2.3 and Neon
0.26.1 (I tried 0.26.2 as well), and cannot seem to get locking working.
I can lock and unlock files fine, but I get the errors when attempting
to commit, as shown in this excerpt from running lock_tests.py:
PASS: lock_tests.py 1: lock a file and verify that it's locked
subversion/libsvn_client/commit.c:865: (apr_err=160037)
svn: Commit failed (details follow):
subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-2/A'
subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
FAIL: lock_tests.py 2: commit a file and keep lock
subversion/libsvn_client/commit.c:865: (apr_err=160037)
svn: Commit failed (details follow):
subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-3/A'
subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
FAIL: lock_tests.py 3: commit a file and release lock
subversion/libsvn_client/commit.c:865: (apr_err=160037)
svn: Commit failed (details follow):
subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-4/A'
subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
FAIL: lock_tests.py 4: commit a locked file with a prop change
PASS: lock_tests.py 5: lock a file and verify lock breaking behavior
PASS: lock_tests.py 6: lock a file and verify lock stealing behavior
PASS: lock_tests.py 7: examine the fields of a lockfile for correctness
PASS: lock_tests.py 8: verify behavior when a lock in a wc is defunct
PASS: lock_tests.py 9: verify svn:needs-lock read-only behavior
PASS: lock_tests.py 10: verify svn:needs-lock behavior with defunct lock
When looking at the apache error log, it shows the following:
[Tue Nov 21 16:09:13 2006] [error] [client 10.45.214.219] Could not
MERGE resource
"/svn-test-work/repositories/lock_tests-2/!svn/act/626333ce-b67c-4070-b9c2-aad4a1678cb4"
into "/svn-test-work/repositories/lock_tests-2/A". [409, #0]
[Tue Nov 21 16:09:13 2006] [error] [client 10.45.214.219] An error
occurred while committing the transaction. [409, #160037]
[Tue Nov 21 16:09:13 2006] [error] [client 10.45.214.219] Cannot verify
lock on path '/A/mu'; no matching lock-token available [409, #160037]
These results are with the basic apache configuration given in the
README for this directory. I am using a somewhat stripped down apache
configuration (for directives which I thought would be unrelated to
SVN). Is there another apache configuration setting that could be
causing these errors? Any other ideas on possible causes of the error?
Thanks,
Brian
$ svn --version
svn, version 1.4.2 (r22196)
compiled Nov 21 2006, 15:48:52
Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet
(http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
OS: RedHat Enterprise Linux 4 Update 4 (x86_64)
Apache 2.2.3
Neon 0.26.1
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Committing Locked File fails over ra_dav
Posted by Brian Buesker <bb...@qualcomm.com>.
Brian Buesker wrote:
> I have been doing some testing with SVN 1.4.2 with Apache 2.2.3 and
> Neon 0.26.1 (I tried 0.26.2 as well), and cannot seem to get locking
> working. I can lock and unlock files fine, but I get the errors when
> attempting to commit, as shown in this excerpt from running
> lock_tests.py:
>
> PASS: lock_tests.py 1: lock a file and verify that it's locked
> subversion/libsvn_client/commit.c:865: (apr_err=160037)
> svn: Commit failed (details follow):
> subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
> svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-2/A'
> subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
> svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
> FAIL: lock_tests.py 2: commit a file and keep lock
> subversion/libsvn_client/commit.c:865: (apr_err=160037)
> svn: Commit failed (details follow):
> subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
> svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-3/A'
> subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
> svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
> FAIL: lock_tests.py 3: commit a file and release lock
> subversion/libsvn_client/commit.c:865: (apr_err=160037)
> svn: Commit failed (details follow):
> subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
> svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-4/A'
> subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
> svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
> FAIL: lock_tests.py 4: commit a locked file with a prop change
> PASS: lock_tests.py 5: lock a file and verify lock breaking behavior
> PASS: lock_tests.py 6: lock a file and verify lock stealing behavior
> PASS: lock_tests.py 7: examine the fields of a lockfile for correctness
> PASS: lock_tests.py 8: verify behavior when a lock in a wc is defunct
> PASS: lock_tests.py 9: verify svn:needs-lock read-only behavior
> PASS: lock_tests.py 10: verify svn:needs-lock behavior with defunct lock
>
> When looking at the apache error log, it shows the following:
>
> [Tue Nov 21 16:09:13 2006] [error] [client 10.45.214.219] Could not
> MERGE resource
> "/svn-test-work/repositories/lock_tests-2/!svn/act/626333ce-b67c-4070-b9c2-aad4a1678cb4"
> into "/svn-test-work/repositories/lock_tests-2/A". [409, #0]
> [Tue Nov 21 16:09:13 2006] [error] [client 10.45.214.219] An error
> occurred while committing the transaction. [409, #160037]
> [Tue Nov 21 16:09:13 2006] [error] [client 10.45.214.219] Cannot
> verify lock on path '/A/mu'; no matching lock-token available [409,
> #160037]
I tried falling back to Apache 2.0.59, and with that version (plus the
bundled APR), all the lock tests pass. The apache configs I am using are
obviously slightly different between the two versions, but I have not
found any substantial differences which should be causing a failure like
this.
Do others have locking working with Apache 2.2.3 and APR 1.2.7 on Linux?
Thanks,
Brian
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Committing Locked File fails over ra_dav
Posted by Brian Buesker <bb...@qualcomm.com>.
Brian Buesker wrote:
> I apologize for resurrecting a very old thread, but I wanted to reply to
> this for the sake of the archives.
>
> Brian Buesker wrote:
>
>> I have been doing some testing with SVN 1.4.2 with Apache 2.2.3 and
>> Neon 0.26.1 (I tried 0.26.2 as well), and cannot seem to get locking
>> working. I can lock and unlock files fine, but I get the errors when
>> attempting to commit, as shown in this excerpt from running
>> lock_tests.py:
>>
>> PASS: lock_tests.py 1: lock a file and verify that it's locked
>> subversion/libsvn_client/commit.c:865: (apr_err=160037)
>> svn: Commit failed (details follow):
>> subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
>> svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-2/A'
>> subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
>> svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
>>
> I didn't debug this problem much back then, but I came back to it this
> week and dug into it a little more. I believe the problem is due to
> symbols being included in the httpd executable which should not have
> been. A couple of the apr_bucket_types seem to be defined in the BSS
> segment, which causes the APR_BUCKET_IS_EOS macro to fail even on an EOS
> bucket.
>
> % nm /opt/crad-infratools/sbin/httpd | grep apr_bucket_type
> 0000000000652100 B apr_bucket_type_eos
> 00000000006520c0 B apr_bucket_type_file
> 0000000000652140 B apr_bucket_type_flush
>
> When I look at the httpd that is delivered with RHEL5, it looks correct:
>
> % nm /usr/lib/debug/usr/sbin/httpd.debug | grep apr_bucket_type
> U apr_bucket_type_eos
> U apr_bucket_type_file
> U apr_bucket_type_flush
>
> Does anybody have an idea of what might be causing these additional
> symbols to get defined in my build? One difference between RHEL5 and my
> build is that RedHat builds APR and APR-UTIL separately, whereas I build
> them directly out of the httpd source. I would think this should work.
> Has anybody run into this and found a workaround?
>
Turns out that by building apache with --enable-pie, the symbols were not included in the BSS and thus committing a locked file over ra_dav worked just fine.
Brian
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Committing Locked File fails over ra_dav
Posted by Brian Buesker <bb...@qualcomm.com>.
I apologize for resurrecting a very old thread, but I wanted to reply to
this for the sake of the archives.
Brian Buesker wrote:
> I have been doing some testing with SVN 1.4.2 with Apache 2.2.3 and
> Neon 0.26.1 (I tried 0.26.2 as well), and cannot seem to get locking
> working. I can lock and unlock files fine, but I get the errors when
> attempting to commit, as shown in this excerpt from running
> lock_tests.py:
>
> PASS: lock_tests.py 1: lock a file and verify that it's locked
> subversion/libsvn_client/commit.c:865: (apr_err=160037)
> svn: Commit failed (details follow):
> subversion/libsvn_ra_dav/util.c:827: (apr_err=160037)
> svn: MERGE request failed on '/svn-test-work/repositories/lock_tests-2/A'
> subversion/libsvn_ra_dav/util.c:389: (apr_err=160037)
> svn: Cannot verify lock on path '/A/mu'; no matching lock-token available
I didn't debug this problem much back then, but I came back to it this
week and dug into it a little more. I believe the problem is due to
symbols being included in the httpd executable which should not have
been. A couple of the apr_bucket_types seem to be defined in the BSS
segment, which causes the APR_BUCKET_IS_EOS macro to fail even on an EOS
bucket.
% nm /opt/crad-infratools/sbin/httpd | grep apr_bucket_type
0000000000652100 B apr_bucket_type_eos
00000000006520c0 B apr_bucket_type_file
0000000000652140 B apr_bucket_type_flush
When I look at the httpd that is delivered with RHEL5, it looks correct:
% nm /usr/lib/debug/usr/sbin/httpd.debug | grep apr_bucket_type
U apr_bucket_type_eos
U apr_bucket_type_file
U apr_bucket_type_flush
Does anybody have an idea of what might be causing these additional
symbols to get defined in my build? One difference between RHEL5 and my
build is that RedHat builds APR and APR-UTIL separately, whereas I build
them directly out of the httpd source. I would think this should work.
Has anybody run into this and found a workaround?
Thanks,
Brian
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org