I just reproduced the FS hangs locally using Philip magnifi-script
(dude, you are to be publically praised for that beaut). The hang in
the committing svn (the others are stuck updating) occurs here:
#0 0x401d217e in __select () from /lib/libc.so.6
[... Berkeley stuff ...]
#12 0x808c626 in svn_fs__get_txn (txn_skel=0xbffff640, fs=0x80f9140,
svn_txn=0x8107930 "385", trail=0x8134ee0)
at subversion/libsvn_fs/txn-table.c:225
#13 0x808c7d5 in svn_fs__get_txn_ids (root_id_p=0xbffff66c,
base_root_id_p=0xbffff668, fs=0x80f9140, svn_txn=0x8107930 "385",
trail=0x8134ee0) at subversion/libsvn_fs/txn-table.c:292
#14 0x808be8c in txn_body_txn_root (baton=0xbffff6c0, trail=0x8134ee0)
at subversion/libsvn_fs/tree.c:2758
#15 0x8088592 in svn_fs__retry_txn (fs=0x80f9140,
txn_body=0x808be34 <txn_body_txn_root>, baton=0xbffff6c0,
pool=0x81348c0) at subversion/libsvn_fs/trail.c:127
#16 0x808bf07 in svn_fs_txn_root (root_p=0xbffff6f4, txn=0x8109818,
pool=0x81348c0) at subversion/libsvn_fs/tree.c:2778
#17 0x808a727 in txn_body_merge (baton=0xbffff768, trail=0x81098e0)
at subversion/libsvn_fs/tree.c:1634
#18 0x8088592 in svn_fs__retry_txn (fs=0x80f9140,
txn_body=0x808a5a8 <txn_body_merge>, baton=0xbffff768, pool=0x8109700)
at subversion/libsvn_fs/trail.c:127
#19 0x808ab83 in svn_fs_commit_txn (conflict_p=0xbffff7d8,
new_rev=0xbffff7e0, txn=0x8109818) at subversion/libsvn_fs/tree.c:1826
[... libsvn_repos stuff and so on]
Not that we enter through the public FS API twice, once at
svn_fs_commit_txn, and once at svn_fs_txn_root.
Now, when I was working on turning off deltification of directory
entries in the filesystem code last week, I posted to the list my
patch and a request for help because with my patch in place, Berkeley
would hang in __select(). I determined that the hangs would disappear
if I didn't re-enter the public FS API (more specifically, if I didn't
try to create a Berkeley transaction from within a Berkeley
transaction), my hangs disappeared. The exact same bug (and solution)
hit me later last week when I was implementing the recursive tree
(un-)deltification.
I wonder...could the same thing be happening here?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:01 2006