[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Locking assert core dump

From: Blair Zajac <blair_at_orcaware.com>
Date: 2005-07-04 22:46:21 CEST

Hello,

I'm getting the following assert using both Debian etch's Subversion
1.2.0 and Fink's svn 1.2.0 clients when locking every file in the
repository. This stack trace is the only stack trace I was able to get
on a RHEL 3 box doing unlocks on every file in the repository.

#0 0x00ea7cdf in raise () from /lib/tls/libc.so.6
(gdb) bt
#0 0x00ea7cdf in raise () from /lib/tls/libc.so.6
#1 0x00ea94e5 in abort () from /lib/tls/libc.so.6
#2 0x00ea1609 in __assert_fail () from /lib/tls/libc.so.6
#3 0x009621e8 in do_close (adm_access=0x91da8a0, preserve_lock=0)
     at subversion/libsvn_wc/lock.c:1014
#4 0x00962209 in svn_wc_adm_close (adm_access=0x0)
     at subversion/libsvn_wc/lock.c:1049
#5 0x00bd6073 in svn_client_unlock (targets=0x0, break_lock=1,
ctx=0x915c138,
     pool=0x915b980) at subversion/libsvn_client/locking_commands.c:426
#6 0x08055206 in svn_cl__unlock (os=0x0, baton=0x0, pool=0x915b980)
     at subversion/clients/cmdline/unlock-cmd.c:56
#7 0x08050817 in main (argc=-1073777764, argv=0x0)
     at subversion/clients/cmdline/main.c:1449
#8 0x00e9578a in __libc_start_main () from /lib/tls/libc.so.6
#9 0x0804bab1 in _start ()

(gdb) p *adm_access
$2 = {path = 0x91da8c8 "/home/blair/test/wc/trunk",
   type = svn_wc__adm_access_closed, lock_exists = 0, set_owner = 1,
   wc_format = 4, set = 0x91e2db0, entries = 0x91daa58,
   entries_hidden = 0x91daa58, pool = 0x915b980}

(gdb) p adm_access->set_owner
$7 = 1

(gdb) p adm_access->set
$8 = (apr_hash_t *) 0x91e2db0

I've seen this core dump with two different repositories.

Here's how I recommend reproducing it using a copy of your repository
because you probably don't want to lock every file in the live one:

$ cd /where/your/live/repos/is
$ svnadmin dump repos > /tmp/repos.dump
$ cd /tmp
$ svnadmin create repos
$ svnadmin load repos < repos.dump
$ svn co file://`pwd`/repos wc
$ cd wc
$ find -name .svn -prune -o \( -type f -print0 \) \
   | xargs -0 -n 45 svn lock -m 'test'

And you'll get the coredump after a while (hopefully). If you don't, I
can supply a dump of my repository to test with.

Unfortunately, I don't have access to the RHEL 3 box any more and
neither Debian or Fink's svn have debugging symbols.

I don't believe this is related to the maximum of 50 command line
arguments fixed in revision 15251.

Regards,
Blair

-- 
Blair Zajac, Ph.D.
<blair@orcaware.com>
Subversion and Orca training and consulting
http://www.orcaware.com/svn/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 4 22:47:08 2005

This is an archived mail posted to the Subversion Dev mailing list.