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*

