You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by André Malo <nd...@perlig.de> on 2005/05/14 15:39:24 UTC

assertion when locking files in different paths on RC4

Hi,

nd@parker trunk $ svn lock CHANGES src/lib/svnmailer/*.py
'src/lib/svnmailer/stream.py' locked by user 'nd'.
'src/lib/svnmailer/util.py' locked by user 'nd'.
'src/lib/svnmailer/differ.py' locked by user 'nd'.
'src/lib/svnmailer/subversion.py' locked by user 'nd'.
'src/lib/svnmailer/settings.py' locked by user 'nd'.
'src/lib/svnmailer/browser.py' locked by user 'nd'.
'CHANGES' locked by user 'nd'.
'src/lib/svnmailer/main.py' locked by user 'nd'.
'src/lib/svnmailer/struct.py' locked by user 'nd'.
'src/lib/svnmailer/config.py' locked by user 'nd'.
'src/lib/svnmailer/cli.py' locked by user 'nd'.
'src/lib/svnmailer/struct_accessors.py' locked by user 'nd'.
svn: subversion/libsvn_wc/lock.c:1040: do_close: Assertion `! 
adm_access->set_owner || apr_hash_count (adm_access->set) == 0' failed.

If I leave out CHANGES, it just works.
The repos is local/bdb.
It's freshly created with imported content (no further changes).
Do you need any further information?

nd
-- 
"Eine Eieruhr", erklärt ihr Hermann, "besteht aus einem Ei. Du nimmst
das Ei und kochst es. Wenn es hart ist, sind fünf Minuten um. Dann weißt
du, daß die Zeit vergangen ist."
                             -- Hannes Hüttner in "Das Blaue vom Himmel"

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: assertion when locking files in different paths on RC4

Posted by Julian Foad <ju...@btopenworld.com>.
Ben Collins-Sussman wrote:
> On May 14, 2005, at 10:39 AM, André Malo wrote:
>> svn: subversion/libsvn_wc/lock.c:1040: do_close: Assertion `!
>> adm_access->set_owner || apr_hash_count (adm_access->set) == 0'  failed.
> 
> Wha...?  Isn't this the same assertion we just saw in another email  
> yesterday?  As was pointed out, it's coming from very old adm_access  code.
> 
> Something's fishy here, perhaps in the way svn_client_lock() is  dealing 
> with adm_access and multiple targets.

Ping!  Any news on this?

- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: assertion when locking files in different paths on RC4

Posted by "Brian W. Fitzpatrick" <fi...@collab.net>.
On May 14, 2005, at 3:53 PM, Philip Martin wrote:

> Ben Collins-Sussman <su...@collab.net> writes:
>
>> Nice analysis, Philip.  Can you file this as a 1.2.1 bug, and assign
>> it to fitz?  I think this was his code.  :-)
>
> I committed the simple fix in r14736.  There's a performance hit
> compared to the old code, but it's hard to do better with the current
> access baton code and lock/unlock are still no worse than other
> operations that lock the tree.

Thanks for getting this.  My intention with the 0 depth lock was to 
avoid the performance hit of locking the whole tree, but I didn't know 
that the adm_access design didn't really support that. :(

-Fitz


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: assertion when locking files in different paths on RC4

Posted by Philip Martin <ph...@codematters.co.uk>.
Ben Collins-Sussman <su...@collab.net> writes:

> Nice analysis, Philip.  Can you file this as a 1.2.1 bug, and assign
> it to fitz?  I think this was his code.  :-)

I committed the simple fix in r14736.  There's a performance hit
compared to the old code, but it's hard to do better with the current
access baton code and lock/unlock are still no worse than other
operations that lock the tree.

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: assertion when locking files in different paths on RC4

Posted by Ben Collins-Sussman <su...@collab.net>.
On May 14, 2005, at 2:05 PM, Philip Martin wrote:
>
> Yes, svn_client_lock opens access batons in a way that is not
> guaranteed to work.  The problem is that it opens a common parent with
> depth 0 and then each target with depth 0, which means there is the
> potential for intermediate directories without a lock, something the
> wc locking code has never supported.
>
> A simple fix would be to open the common parent with depth -1 and lock
> all sub-directories.
>

Nice analysis, Philip.  Can you file this as a 1.2.1 bug, and assign  
it to fitz?  I think this was his code.  :-)

This doesn't need to hold up svn 1.2.0; it's easily worked around via  
multiple single-target calls to svn_client_lock().  (And the network  
layers *still* do separate requests for each lock either way!)



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: assertion when locking files in different paths on RC4

Posted by Ben Collins-Sussman <su...@collab.net>.
On May 14, 2005, at 10:39 AM, André Malo wrote:


> svn: subversion/libsvn_wc/lock.c:1040: do_close: Assertion `!
> adm_access->set_owner || apr_hash_count (adm_access->set) == 0'  
> failed.
>

Wha...?  Isn't this the same assertion we just saw in another email  
yesterday?  As was pointed out, it's coming from very old adm_access  
code.

Something's fishy here, perhaps in the way svn_client_lock() is  
dealing with adm_access and multiple targets.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org