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

Re: 1.3.1 tarballs up for testing/signing (Again)

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2006-03-29 17:05:31 CEST

Sviatoslav Sviridov <svd@altlinux.ru> writes:

> I've got the following output:
>
> ==22561== Conditional jump or move depends on uninitialised value(s)
> ==22561== at 0x4354D01: __log_putr (log_put.c:637)
> ==22561== by 0x4354716: __log_put_next (log_put.c:392)
> ==22561== by 0x4354139: __log_put (log_put.c:154)
> ==22561== by 0x4304F21: __db_addrem_log (db_auto.c:187)
> ==22561== by 0x4312406: __db_pitem (db_dup.c:133)
> ==22561== by 0x4284354: __bam_ovput (bt_put.c:849)
> ==22561== by 0x4284208: __bam_dup_convert (bt_put.c:795)
> ==22561== by 0x4283197: __bam_iitem (bt_put.c:384)
> ==22561== by 0x427C3AF: __bam_c_put (bt_cursor.c:1950)
> ==22561== by 0x430D0CB: __db_c_put (db_cam.c:1363)
> ==22561== by 0x430391B: __db_put (db_am.c:390)
> ==22561== by 0x4316777: __db_put_pp (db_iface.c:1369)

I think these warnings are just artifacts of the way BDB and valgrind
interact.

> ==22561==
> ==22561== Syscall param write(buf) points to uninitialised byte(s)
> ==22561== at 0x4158EE8: write (in /lib/libc-2.3.6.so)
> ==22561== by 0x4368852: __os_write (os_rw.c:177)
> ==22561== by 0x435616F: __log_write (log_put.c:1098)
> ==22561== by 0x4355FF3: __log_fill (log_put.c:1042)
> ==22561== by 0x4354DD9: __log_putr (log_put.c:649)
> ==22561== by 0x4354716: __log_put_next (log_put.c:392)
> ==22561== by 0x4354139: __log_put (log_put.c:154)
> ==22561== by 0x43067BD: __db_debug_log (db_auto.c:932)
> ==22561== by 0x431762B: __db_c_get_pp (db_iface.c:1738)
> ==22561== by 0x44C2A61: get_next_length (strings-table.c:160)
> ==22561== by 0x44C2BB8: svn_fs_bdb__string_read (strings-table.c:216)
> ==22561== by 0x44CDA0D: rep_read_range (reps-strings.c:470)
> ==22561== Address 0x49848E3 is not stack'd, malloc'd or (recently) free'd
> ==22561==
> ==22561== Syscall param pwrite64(buf) points to uninitialised byte(s)
> ==22561== at 0x4157375: (within /lib/libc-2.3.6.so)
> ==22561== by 0x436847F: __os_io (os_rw.c:68)
> ==22561== by 0x435937A: __memp_pgwrite (mp_bh.c:397)
> ==22561== by 0x4358B65: __memp_bhwrite (mp_bh.c:172)
> ==22561== by 0x43650CC: __memp_sync_int (mp_sync.c:492)
> ==22561== by 0x43643CA: __memp_sync (mp_sync.c:98)
> ==22561== by 0x4370F62: __txn_checkpoint (txn.c:1371)
> ==22561== by 0x4370CC4: __txn_checkpoint_pp (txn.c:1276)
> ==22561== by 0x44D19C4: commit_trail (trail.c:180)
> ==22561== by 0x44D1A71: do_retry (trail.c:232)
> ==22561== by 0x44D1BA2: svn_fs_base__retry_txn (trail.c:286)
> ==22561== by 0x44D319D: base_node_id (tree.c:1055)
> ==22561== Address 0x4915258 is not stack'd, malloc'd or (recently) free'd
> ==22561==
> ==22561== Syscall param write(buf) points to uninitialised byte(s)
> ==22561== at 0x4158EE8: write (in /lib/libc-2.3.6.so)
> ==22561== by 0x4368852: __os_write (os_rw.c:177)
> ==22561== by 0x435616F: __log_write (log_put.c:1098)
> ==22561== by 0x4355925: __log_flush_int (log_put.c:890)
> ==22561== by 0x43548D2: __log_newfile (log_put.c:503)
> ==22561== by 0x43546A7: __log_put_next (log_put.c:368)
> ==22561== by 0x4354139: __log_put (log_put.c:154)
> ==22561== by 0x43067BD: __db_debug_log (db_auto.c:932)
> ==22561== by 0x4314F6E: __db_get (db_iface.c:632)
> ==22561== by 0x4314D89: __db_get_pp (db_iface.c:592)
> ==22561== by 0x44C3CBD: svn_fs_bdb__get_txn (txn-table.c:210)
> ==22561== by 0x44CFA0D: get_txn (revs-txns.c:62)
> ==22561== Address 0x495DB64 is not stack'd, malloc'd or (recently) free'd
> PASS: repos-test 1: test svn_repos_dir_delta
> PASS: repos-test 2: test deletions under copies in node_tree code
> PASS: repos-test 3: test svn_repos_history() (partially)
> PASS: repos-test 4: test svn_repos_node_locations
> PASS: repos-test 5: test removal of defunct locks
> PASS: repos-test 6: test authz access control
> PASS: repos-test 7: test authz in the commit editor
> ==22561==
> ==22561== Jump to the invalid address stated on the next line
> ==22561== at 0x44C0193: ???
> ==22561== by 0x40A3BB6: pool_clear_debug (apr_pools.c:1361)
> ==22561== by 0x40A3D1B: apr_pool_destroy_debug (apr_pools.c:1437)
> ==22561== by 0x40A3BA6: pool_clear_debug (apr_pools.c:1358)
> ==22561== by 0x40A3CAD: apr_pool_clear_debug (apr_pools.c:1411)
> ==22561== by 0x4023C1E: main (svn_test_main.c:315)
> ==22561== Address 0x44C0193 is not stack'd, malloc'd or (recently) free'd

Which means we get what looks like memory corruption here without any
earlier problem being detected, that's going to take some serious
debugging.

Are you building against the apr/apr-util that come in the Subversion
tarball or are you using already installed apr/apr-util? If you are
using already installed apr/apr-util you might try rebuilding
apr/apr-util with --enable-pool-debug=yes.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Mar 29 17:07:45 2006

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