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

bug in svnadmin verify -M argument processing

From: Stefan Sperling <stsp_at_elego.de>
Date: Wed, 15 Mar 2017 09:30:48 +0900

If the -M option sees something that does not look like a number,
we get a NULL cache but this isn't handled properly.

svnadmin verify should probably errror out which is easy to fix.
But this may suggest there is a problem somewhere inside the library, too.

$ svnadmin verify -M --keep-going repos
* Verifying metadata at revision 0 ...
Segmentation fault (core dumped)

(Note that cache=0x0)

#0 0x077a9229 in svn_cache__get (value_p=0xcf7e48ac, found=0xcf7e4844, cache=0x0, key=0xcf7e4830, result_pool=0x7e061f00)
    at subversion/libsvn_subr/cache.c:79
79 if (cache->pretend_empty)
(gdb) trace
trace command requires an argument
(gdb) bt
#0 0x077a9229 in svn_cache__get (value_p=0xcf7e48ac, found=0xcf7e4844, cache=0x0, key=0xcf7e4830, result_pool=0x7e061f00)
    at subversion/libsvn_subr/cache.c:79
#1 0x08ce65a7 in svn_fs_fs__get_revision_proplist (proplist_p=0xcf7e48ac, fs=0x789820c0, rev=0, refresh=0,
    result_pool=0x7e061f00, scratch_pool=0x7e061f00) at subversion/libsvn_fs_fs/revprops.c:680
#2 0x08cc4ebc in svn_fs_fs__revision_prop (value_p=0xcf7e4920, fs=0x789820c0, rev=0, propname=0x28cc3a55 "svn:date",
    refresh=0, result_pool=0x7e061f00, scratch_pool=0x7e061f00) at subversion/libsvn_fs_fs/fs_fs.c:2065
#3 0x08d0ab36 in verify_revprops (fs=0x789820c0, start=0, end=1, cancel_func=0x77ae77f <check_cancel>, cancel_baton=0x0,
    pool=0x7e061900) at subversion/libsvn_fs_fs/verify.c:738
#4 0x08d0ae59 in verify_f7_metadata_consistency (fs=0x789820c0, start=0, end=2,
    notify_func=0xedf30b8 <verify_fs_notify_func>, notify_baton=0x7ea21a10, cancel_func=0x77ae77f <check_cancel>,
    cancel_baton=0x0, pool=0x7cd3ef80) at subversion/libsvn_fs_fs/verify.c:819
#5 0x08d0b0b7 in svn_fs_fs__verify (fs=0x789820c0, start=0, end=2, notify_func=0xedf30b8 <verify_fs_notify_func>,
    notify_baton=0x7ea21a10, cancel_func=0x77ae77f <check_cancel>, cancel_baton=0x0, pool=0x7cd3ef80)
    at subversion/libsvn_fs_fs/verify.c:882
#6 0x08cbff5c in fs_verify (fs=0x789820c0, path=0x817ab580 "repos/db", start=0, end=2,
    notify_func=0xedf30b8 <verify_fs_notify_func>, notify_baton=0x7ea21a10, cancel_func=0x77ae77f <check_cancel>,
    cancel_baton=0x0, common_pool_lock=0x817ab2a0, pool=0x7cd3ef80, common_pool=0x815bfa80)
    at subversion/libsvn_fs_fs/fs.c:462
#7 0x06989ac8 in svn_fs_verify (path=0x817ab580 "repos/db", fs_config=0x7eea0800, start=0, end=2,
    notify_func=0xedf30b8 <verify_fs_notify_func>, notify_baton=0x7ea21a10, cancel_func=0x77ae77f <check_cancel>,
    cancel_baton=0x0, pool=0x7cd3ef80) at subversion/libsvn_fs/fs-loader.c:615
#8 0x0edf346d in svn_repos_verify_fs3 (repos=0x7dc1f980, start_rev=0, end_rev=2, check_normalization=0, metadata_only=0,
    notify_func=0x14ce913a <repos_notify_handler>, notify_baton=0x7dc1f940,
    verify_callback=0x14ce8f4e <repos_verify_callback>, verify_baton=0xcf7e4bb4, cancel_func=0x77ae77f <check_cancel>,
    cancel_baton=0x0, pool=0x7cd3ef80) at subversion/libsvn_repos/dump.c:2457
#9 0x14cecf9b in subcommand_verify (os=0x78873440, baton=0xcf7e4e80, pool=0x7cd3ef80) at subversion/svnadmin/svnadmin.c:2042
#10 0x14cf0e7d in sub_main (exit_code=0xcf7e4fd4, argc=5, argv=0xcf7e5044, pool=0x7cd3ef80)
    at subversion/svnadmin/svnadmin.c:2997
#11 0x14cf0fbf in main (argc=5, argv=0xcf7e5044) at subversion/svnadmin/svnadmin.c:3030
(gdb)
Received on 2017-03-15 01:31:06 CET

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