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

Re: BDB-4.4 and automatic database recovery

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2006-01-13 02:06:45 CET

Branko ╚ibej <brane@xbc.nu> writes:

> For the past several weeks, I've been adding support for BDB-4.4 and
> automatic recovery on the bdb-fixes branch. This work (sponsored by
> Sleepycat) is now 99% done. You can test it by switching the
> libsvn_fs_base directory to this branch -- all changes are localised
> there.

There seems to be a problem with the tracking of the DB_CONFIG file as
valgrind reports "invalid file descriptor" on lots of operations,
typically:

$ valgrind -q subversion/svnlook/.libs/lt-svnlook youngest repo
6
==23849== Warning: invalid file descriptor -1 in syscall close()

and gdb shows

Breakpoint 2, apr_file_close (file=0x8074fe0) at file_io/unix/open.c:187
187 {
(gdb) up
#1 0x403d7195 in cleanup_env (data=0x8074d90)
    at ../svn/subversion/libsvn_fs_base/bdb/env.c:202
202 apr_file_close(bdb->dbconfig_file);
(gdb) p bdb->dbconfig_file
$10 = (apr_file_t *) 0x8075a70
(gdb) p bdb->dbconfig_file[0].filedes
$11 = -1

with

(gdb) bt
#0 apr_file_close (file=0x8074fe0) at file_io/unix/open.c:187
#1 0x403d7195 in cleanup_env (data=0x8074d90)
    at ../svn/subversion/libsvn_fs_base/bdb/env.c:202
#2 0x401c6f7d in pool_clear_debug (pool=0x8074d38, file_line=Variable "file_line" is not available.
)
    at memory/unix/apr_pools.c:2027
#3 0x401c7231 in pool_destroy_debug (pool=0x8074d38, file_line=Variable "file_line" is not available.
)
    at memory/unix/apr_pools.c:1450
#4 0x403d7627 in bdb_close (bdb=0x8074d90)
    at ../svn/subversion/libsvn_fs_base/bdb/env.c:363
#5 0x403d76f4 in svn_fs_bdb__close (bdb_baton=0x8075b00)
    at ../svn/subversion/libsvn_fs_base/bdb/env.c:402
#6 0x403e01b8 in cleanup_fs (fs=0x80748f8)
    at ../svn/subversion/libsvn_fs_base/fs.c:191
#7 0x403e01e7 in cleanup_fs_apr (data=0x80748f8)
    at ../svn/subversion/libsvn_fs_base/fs.c:289
#8 0x401c6f7d in pool_clear_debug (pool=0x8053760, file_line=Variable "file_line" is not available.
)
    at memory/unix/apr_pools.c:2027
#9 0x401c7231 in pool_destroy_debug (pool=0x8053760, file_line=Variable "file_line" is not available.
)
    at memory/unix/apr_pools.c:1450
#10 0x0804f349 in main (argc=3, argv=0xbffffbd4)
    at ../svn/subversion/svnlook/main.c:2289

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jan 13 02:08:07 2006

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