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

Re: Weirdness while testing 1.4.0-rc2 (svnserve processes that don't die)

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2006-07-16 12:18:42 CEST

"Garrett Rooney" <rooneg@electricjellyfish.net> writes:

> I'm not seeing the problem here, although my test environment is
> running on FreeBSD, not Linux, so maybe that's it? Has anyone else
> run the svnserve tests on bdb 4.4?
>
> If you attach to the svnserve processes in gdb what are they doing?

Using trunk on Linux with APR_POOL_DEBUG:

$ svnadmin create repo --fs-type bdb
$ valgrind -q svnserve -Xr.
$ svn ls svn://localhost/repo

valgrind shows svnserve failing:

==2314== Invalid read of size 4
==2314== at 0x4247B22: pthread_mutex_lock (mutex.c:102)
==2314== by 0x41EF6FF: apr_thread_mutex_lock (thread_mutex.c:92)
==2314== by 0x43F0D11: acquire_cache_mutex (env.c:443)
==2314== by 0x43F0C8D: svn_fs_bdb__close (env.c:579)
==2314== by 0x43F97B2: cleanup_fs (fs.c:185)
==2314== by 0x43F9846: cleanup_fs_apr (fs.c:291)
==2314== by 0x41F211E: run_cleanups (apr_pools.c:2034)
==2314== by 0x41F143B: pool_clear_debug (apr_pools.c:1372)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F1423: pool_clear_debug (apr_pools.c:1369)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F16EC: apr_pool_destroy_debug (apr_pools.c:1499)
==2314== Address 0x446C820 is 16 bytes inside a block of size 28 free'd
==2314== at 0x401C37E: free (vg_replace_malloc.c:233)
==2314== by 0x41F14EA: pool_clear_debug (apr_pools.c:1395)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F1423: pool_clear_debug (apr_pools.c:1369)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F16EC: apr_pool_destroy_debug (apr_pools.c:1499)
==2314== by 0x41F1241: apr_pool_terminate (apr_pools.c:1269)
==2314== by 0x41F26B7: apr_terminate (start.c:82)
==2314== by 0x42C1AE1: exit (exit.c:54)
==2314== by 0x804BF37: main (main.c:698)
==2314==
==2314== Invalid read of size 4
==2314== at 0x41E927A: find_entry (apr_hash.c:259)
==2314== by 0x41E9797: apr_hash_set (apr_hash.c:342)
==2314== by 0x43F0CD5: svn_fs_bdb__close (env.c:592)
==2314== by 0x43F97B2: cleanup_fs (fs.c:185)
==2314== by 0x43F9846: cleanup_fs_apr (fs.c:291)
==2314== by 0x41F211E: run_cleanups (apr_pools.c:2034)
==2314== by 0x41F143B: pool_clear_debug (apr_pools.c:1372)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F1423: pool_clear_debug (apr_pools.c:1369)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F16EC: apr_pool_destroy_debug (apr_pools.c:1499)
==2314== by 0x41F1241: apr_pool_terminate (apr_pools.c:1269)
==2314== Address 0x446C530 is 32 bytes inside a block of size 40 free'd
==2314== at 0x401C37E: free (vg_replace_malloc.c:233)
==2314== by 0x41F14EA: pool_clear_debug (apr_pools.c:1395)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F1423: pool_clear_debug (apr_pools.c:1369)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F16EC: apr_pool_destroy_debug (apr_pools.c:1499)
==2314== by 0x41F1241: apr_pool_terminate (apr_pools.c:1269)
==2314== by 0x41F26B7: apr_terminate (start.c:82)
==2314== by 0x42C1AE1: exit (exit.c:54)
==2314== by 0x804BF37: main (main.c:698)
==2314==
==2314== Jump to the invalid address stated on the next line
==2314== at 0x41414141: ???
==2314== by 0x41E9797: apr_hash_set (apr_hash.c:342)
==2314== by 0x43F0CD5: svn_fs_bdb__close (env.c:592)
==2314== by 0x43F97B2: cleanup_fs (fs.c:185)
==2314== by 0x43F9846: cleanup_fs_apr (fs.c:291)
==2314== by 0x41F211E: run_cleanups (apr_pools.c:2034)
==2314== by 0x41F143B: pool_clear_debug (apr_pools.c:1372)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F1423: pool_clear_debug (apr_pools.c:1369)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F16EC: apr_pool_destroy_debug (apr_pools.c:1499)
==2314== by 0x41F1241: apr_pool_terminate (apr_pools.c:1269)
==2314== Address 0x41414141 is not stack'd, malloc'd or (recently) free'd
==2314==
==2314== Process terminating with default action of signal 11 (SIGSEGV)
==2314== Access not within mapped region at address 0x41414141
==2314== at 0x41414141: ???
==2314== by 0x41E9797: apr_hash_set (apr_hash.c:342)
==2314== by 0x43F0CD5: svn_fs_bdb__close (env.c:592)
==2314== by 0x43F97B2: cleanup_fs (fs.c:185)
==2314== by 0x43F9846: cleanup_fs_apr (fs.c:291)
==2314== by 0x41F211E: run_cleanups (apr_pools.c:2034)
==2314== by 0x41F143B: pool_clear_debug (apr_pools.c:1372)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F1423: pool_clear_debug (apr_pools.c:1369)
==2314== by 0x41F1624: pool_destroy_debug (apr_pools.c:1457)
==2314== by 0x41F16EC: apr_pool_destroy_debug (apr_pools.c:1499)
==2314== by 0x41F1241: apr_pool_terminate (apr_pools.c:1269)
Segmentation fault

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Jul 16 12:19:16 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.