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

Re: [RFC] auto-props-sdc Branch : Ready for Review

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Fri, 26 Oct 2012 16:21:37 +0100

Philip Martin <philip.martin_at_wandisco.com> writes:

> ==15116== Conditional jump or move depends on uninitialised value(s)
> ==15116== at 0x4E3A6DF: svn_client__get_paths_auto_props (add.c:244)
> ==15116== by 0x4E3A914: add_file (add.c:300)
> ==15116== by 0x4E3C464: add (add.c:1031)
> ==15116== by 0x4E3C9C4: svn_client_add4 (add.c:1156)
> ==15116== by 0x40787B: svn_cl__add (add-cmd.c:77)
> ==15116== by 0x41A166: sub_main (main.c:2735)
> ==15116== by 0x41A372: main (main.c:2790)

That one is fixed by

Index: ../src/subversion/libsvn_client/add.c
===================================================================
--- ../src/subversion/libsvn_client/add.c (revision 1401908)
+++ ../src/subversion/libsvn_client/add.c (working copy)
@@ -187,7 +187,7 @@
                                  apr_pool_t *scratch_pool)
 {
   apr_hash_index_t *hi;
- svn_boolean_t have_executable;
+ svn_boolean_t have_executable = FALSE;
 
   *properties = apr_hash_make(result_pool);
   *mimetype = NULL;

but it doesn't solve the problem.

> ==15116==
> ==15116== Source and destination overlap in memcpy(0x9e3f078, 0x98aca80, 160094512)
> ==15116== at 0x4C25F6A: memcpy (mc_replace_strmem.c:497)
> ==15116== by 0x5A25229: svn_string_ncreate (string.c:165)
> ==15116== by 0x5A2541B: svn_string_dup (string.c:224)
> ==15116== by 0x5A1650C: svn_prop_diffs (properties.c:225)
> ==15116== by 0x513DE67: set_props_txn (wc_db.c:5139)
> ==15116== by 0x515F337: run_txn (wc_db_util.c:188)
> ==15116== by 0x5A1F9FA: svn_sqlite__with_lock (sqlite.c:1073)
> ==15116== by 0x515F3AD: svn_wc__db_with_txn (wc_db_util.c:210)
> ==15116== by 0x513E17A: svn_wc__db_op_set_props (wc_db.c:5189)
> ==15116== by 0x510DB3C: do_propset (props.c:1941)
> ==15116== by 0x510E15D: svn_wc_prop_set4 (props.c:2073)
> ==15116== by 0x4E3AAB2: add_file (add.c:327)
> ==15116==

I assume this is the problem and that copying overlapping memory is
causing corruption to the pools and/or the malloc structures:

#0 0x0000000004c25f6a in _vgrZU_libcZdsoZa_memcpy (dst=0x9e3f078,
    src=0x98aca80, len=160094512) at mc_replace_strmem.c:497
#1 0x0000000005a2522a in svn_string_ncreate (bytes=0x98aca80 ";;val",
    size=160094512, pool=0x98abb98)
    at ../src/subversion/libsvn_subr/string.c:165
#2 0x0000000005a2541c in svn_string_dup (original_string=0x98ad8a8,
    pool=0x98abb98) at ../src/subversion/libsvn_subr/string.c:224
#3 0x0000000005a1650d in svn_prop_diffs (propdiffs=0x7fefff9e8,
    target_props=0x98ae828, source_props=0x98ae9e8, pool=0x98abb98)
    at ../src/subversion/libsvn_subr/properties.c:225
#4 0x000000000513de68 in set_props_txn (baton=0x7fefffbb0, wcroot=0x98c79e0,
    local_relpath=0x98ae9d8 "escapetest", scratch_pool=0x98abb98)
    at ../src/subversion/libsvn_wc/wc_db.c:5139
#5 0x000000000515f338 in run_txn (baton=0x7fefffb40, db=0x98c7258,
    scratch_pool=0x98abb98) at ../src/subversion/libsvn_wc/wc_db_util.c:188
#6 0x0000000005a1f9fb in svn_sqlite__with_lock (db=0x98c7258,
    cb_func=0x515f2ef <run_txn>, cb_baton=0x7fefffb40, scratch_pool=0x98abb98)
    at ../src/subversion/libsvn_subr/sqlite.c:1073
#7 0x000000000515f3ae in svn_wc__db_with_txn (wcroot=0x98c79e0,
    local_relpath=0x98ae9d8 "escapetest", cb_func=0x513ddb5 <set_props_txn>,
    cb_baton=0x7fefffbb0, scratch_pool=0x98abb98)
    at ../src/subversion/libsvn_wc/wc_db_util.c:210
#8 0x000000000513e17b in svn_wc__db_op_set_props (db=0x98c6028,
    local_abspath=0x98abe50 "/home/pm/sw/subversion/obj/subversion/tests/cmdline/svn-test-work/working_copies/autoprop_tests-2/escapetest", props=0x98ae828,
    clear_recorded_info=0, conflict=0x0, work_items=0x0,
    scratch_pool=0x98abb98) at ../src/subversion/libsvn_wc/wc_db.c:5189
#9 0x000000000510db3d in do_propset (db=0x98c6028,
    local_abspath=0x98abe50 "/home/pm/sw/subversion/obj/subversion/tests/cmdline/svn-test-work/working_copies/autoprop_tests-2/escapetest",
    kind=svn_node_file, name=0x98acb88 "myval", value=0x98ad8a8,
    skip_checks=0, notify_func=0, notify_baton=0x0, scratch_pool=0x98abb98)
    at ../src/subversion/libsvn_wc/props.c:1941
#10 0x000000000510e15e in svn_wc_prop_set4 (wc_ctx=0x98c6010,
    local_abspath=0x98abe50 "/home/pm/sw/subversion/obj/subversion/tests/cmdline/svn-test-work/working_copies/autoprop_tests-2/escapetest",
    name=0x98acb88 "myval", value=0x98ad8a8, depth=svn_depth_empty,
    skip_checks=0, changelist_filter=0x0, cancel_func=0, cancel_baton=0x0,
    notify_func=0, notify_baton=0x0, scratch_pool=0x98abb98)
    at ../src/subversion/libsvn_wc/props.c:2073
#11 0x0000000004e3aaba in add_file (
    local_abspath=0x98abe50 "/home/pm/sw/subversion/obj/subversion/tests/cmdline/svn-test-work/working_copies/autoprop_tests-2/escapetest",
    magic_cookie=0x98ac3f8, autoprops=0x0, ctx=0x98c5f58, pool=0x98abb98)
    at ../src/subversion/libsvn_client/add.c:327

-- 
Join us this October at Subversion Live 2012
http://www.wandisco.com/svn-live-2012
Received on 2012-10-26 17:22:21 CEST

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