Branko Čibej <[email protected]> writes:

> And this is what the debugger says:
>
> $ glibtool --mode=execute lldb -- subversion/tests/libsvn_clit-test --parallel
> Current executable set to 'subversion/tests/libsvn_client/.libs/client-test' 
> (x86_64).
> (lldb) break set -n malloc_error_break
> Breakpoint 1: where = libsystem_c.dylib`malloc_error_break, address = 
> 0x000000000002c584
> (lldb) r
> Process 16518 launched: 
> '/Users/brane/src/svn/build/trunk-amalgamated/subversion/tests/libsvn_client/.libs/client-test'
>  (x86_64)
> PASS:  client-test 1: test svn_client__elide_mergeinfo_catalog
> PASS:  client-test 2: test svn_client_args_to_target_array
> PASS:  client-test 5: test svn_client_patch
> PASS:  client-test 4: test foreign repository copy
> PASS:  client-test 6: test a crash in svn_client_copy5
> PASS:  client-test 3: test svn_wc_add3 scenarios
> PASS:  client-test 7: test youngest_common_ancestor
> client-test(16518,0x100d04000) malloc: *** error for object 0x101800000: 
> pointer being freed was not allocated
> *** set a breakpoint in malloc_error_break to debug
> Process 16518 stopped
> * thread #2: tid = 0x5aaea9, 0x00000001008c60a0 
> libapr-1.0.dylib`apr_pool_destroy + 143, stop reason = EXC_BAD_ACCESS 
> (code=1, address=0x1010a1a0)
>     frame #0: 0x00000001008c60a0 libapr-1.0.dylib`apr_pool_destroy + 143
> libapr-1.0.dylib`apr_pool_destroy + 143:
> -> 0x1008c60a0:  movq   $0, (%rax)
>    0x1008c60a7:  cmpq   %rbx, 24(%r14)
>    0x1008c60ab:  jne    0x1008c60b5               ; apr_pool_destroy + 164
>    0x1008c60ad:  movq   $0, 16(%r14)
>   thread #4: tid = 0x5aaeab, 0x00000001008c60a0 
> libapr-1.0.dylib`apr_pool_destroy + 143, stop reason = EXC_BAD_ACCESS 
> (code=EXC_I386_GPFLT)
>     frame #0: 0x00000001008c60a0 libapr-1.0.dylib`apr_pool_destroy + 143
> libapr-1.0.dylib`apr_pool_destroy + 143:
> -> 0x1008c60a0:  movq   $0, (%rax)
>    0x1008c60a7:  cmpq   %rbx, 24(%r14)
>    0x1008c60ab:  jne    0x1008c60b5               ; apr_pool_destroy + 164
>    0x1008c60ad:  movq   $0, 16(%r14)
> (lldb) bt
> * thread #2: tid = 0x5aaea9, 0x00000001008c60a0 
> libapr-1.0.dylib`apr_pool_destroy + 143, stop reason = EXC_BAD_ACCESS 
> (code=1, address=0x1010a1a0)
>     frame #0: 0x00000001008c60a0 libapr-1.0.dylib`apr_pool_destroy + 143
>     frame #1: 0x00000001008cf875 libapr-1.0.dylib`apr_thread_exit + 15
>     frame #2: 0x00000001008a5256 
> libaprutil-1.0.dylib`___lldb_unnamed_function66$$libaprutil-1.0.dylib + 842
>     frame #3: 0x00007fff8d932772 libsystem_c.dylib`_pthread_start + 327
>     frame #4: 0x00007fff8d91f1a1 libsystem_c.dylib`thread_start + 13

It happens even when there is only a single test in the test_funcs
array.  The first valgrind error is:

PASS:  lt-client-test 1: test svn_client__elide_mergeinfo_catalog
==9107== Thread 4:
==9107== Invalid read of size 8
==9107==    at 0x4DC6306: apr_pool_destroy_debug (apr_pools.c:1670)
==9107==    by 0x4DD4CB4: apr_thread_exit (thread.c:206)
==9107==    by 0x4B9BDD9: thread_pool_func (apr_thread_pool.c:325)
==9107==    by 0x4DD4B15: dummy_worker (thread.c:142)
==9107==    by 0x5001B4F: start_thread (pthread_create.c:304)
==9107==    by 0x52F1A7C: clone (clone.S:112)
==9107==  Address 0x83fdf48 is 88 bytes inside a block of size 152 free'd
==9107==    at 0x402AF4C: free (vg_replace_malloc.c:468)
==9107==    by 0x4DC62EF: pool_destroy_debug (apr_pools.c:1664)
==9107==    by 0x4DC5FFD: pool_clear_debug (apr_pools.c:1550)
==9107==    by 0x4DC623D: pool_destroy_debug (apr_pools.c:1638)
==9107==    by 0x4DC5FFD: pool_clear_debug (apr_pools.c:1550)
==9107==    by 0x4DC623D: pool_destroy_debug (apr_pools.c:1638)
==9107==    by 0x4DC6326: apr_pool_destroy_debug (apr_pools.c:1680)
==9107==    by 0x4DC769C: apr_pool_destroy (apr_pools.c:2610)
==9107==    by 0x403CE3A: main (svn_test_main.c:885)
==9107== 

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Reply via email to