bug in svnadmin verify -M argument processing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug in svnadmin verify -M argument processing

Stefan Sperling
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)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: bug in svnadmin verify -M argument processing

Stefan Fuhrmann
On 15.03.2017 01:30, Stefan Sperling wrote:
> 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)

Root cause fixed in r1795164.

-- Stefan^2.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: bug in svnadmin verify -M argument processing

Stefan Sperling
On Mon, May 15, 2017 at 12:48:28PM +0200, Stefan Fuhrmann wrote:

> On 15.03.2017 01:30, Stefan Sperling wrote:
> > 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)
>
> Root cause fixed in r1795164.
>
> -- Stefan^2.

Nice, thank you!
Loading...