fs_fs.c:recover_body() needs to be taught that the youngest revision does not necessarily have a revprop file. The following repository demonstrates the bug:
% cat db/format 5 layout sharded 4 % cat db/current 3 % find db/rev* db/revprops db/revprops/revprops.db db/revs db/revs/0.pack db/revs/0.pack/manifest db/revs/0.pack/pack % svnadmin recover ./ Repository lock acquired. Please wait; recovering the repository may take some time... subversion/libsvn_repos/repos.c:1740: (apr_err=160004) subversion/libsvn_fs_fs/fs_fs.c:606: (apr_err=160004) subversion/libsvn_fs_fs/fs_fs.c:6780: (apr_err=160004) svnadmin: Revision 3 has a revs file but no revprops file % I created the repository as follows: % svnadmin create r % sed -i 2s/1000/4/ r/db/format % for i in 1 2 3; do svn mkdir file://`pwd`/r/$i -mr$i; done Found by: svnadmin_tests 13, when built with -DSVN_FS_FS_DEFAULT_MAX_FILES_PER_DIR=4 and -DPACK_AFTER_EVERY_COMMIT. Daniel