On 2020-04-10 16:37:27+0200, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > Hi Junio, > > me again, just quickly, because the `t0031-reftable.sh --valgrind` run > just came back with this: > > -- snip -- > [...] > + git gc > ==28394== error calling PR_SET_PTRACER, vgdb might block > ==28399== error calling PR_SET_PTRACER, vgdb might block > ==28399== error calling PR_SET_PTRACER, vgdb might block > ==28404== error calling PR_SET_PTRACER, vgdb might block > ==28404== Invalid read of size 1 > ==28404== at 0x4C32CF2: strlen (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==28404== by 0x551D9AD: strdup (strdup.c:41) > ==28404== by 0x39D15A: xstrdup (wrapper.c:29) > ==28404== by 0x3DA9CA: reftable_log_record_copy_from (record.c:605) > ==28404== by 0x3DB844: record_copy_from (record.c:968) > ==28404== by 0x3D64B3: merged_iter_next (merged.c:117) > ==28404== by 0x3D656B: merged_iter_next_void (merged.c:131) > ==28404== by 0x3D597D: iterator_next (iter.c:45) > ==28404== by 0x3D5AD2: reftable_iterator_next_log (iter.c:71) > ==28404== by 0x3DE037: stack_write_compact (stack.c:718) > ==28404== by 0x3DDBEA: stack_compact_locked (stack.c:632) > ==28404== by 0x3DE5AD: stack_compact_range (stack.c:847) > ==28404== Address 0x0 is not stack'd, malloc'd or (recently) free'd > ==28404== > { > <insert_a_suppression_name_here> > Memcheck:Addr1 > fun:strlen > fun:strdup > fun:xstrdup > fun:reftable_log_record_copy_from > fun:record_copy_from > fun:merged_iter_next > fun:merged_iter_next_void > fun:iterator_next > fun:reftable_iterator_next_log > fun:stack_write_compact > fun:stack_compact_locked > fun:stack_compact_range > } > ==28404== > ==28404== Process terminating with default action of signal 11 (SIGSEGV) > ==28404== Access not within mapped region at address 0x0 > ==28404== at 0x4C32CF2: strlen (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==28404== by 0x551D9AD: strdup (strdup.c:41) > ==28404== by 0x39D15A: xstrdup (wrapper.c:29) > ==28404== by 0x3DA9CA: reftable_log_record_copy_from (record.c:605) > ==28404== by 0x3DB844: record_copy_from (record.c:968) > ==28404== by 0x3D64B3: merged_iter_next (merged.c:117) > ==28404== by 0x3D656B: merged_iter_next_void (merged.c:131) > ==28404== by 0x3D597D: iterator_next (iter.c:45) > ==28404== by 0x3D5AD2: reftable_iterator_next_log (iter.c:71) > ==28404== by 0x3DE037: stack_write_compact (stack.c:718) > ==28404== by 0x3DDBEA: stack_compact_locked (stack.c:632) > ==28404== by 0x3DE5AD: stack_compact_range (stack.c:847) > ==28404== If you believe this happened as a result of a stack > ==28404== overflow in your program's main thread (unlikely but > ==28404== possible), you can try to increase the size of the > ==28404== main thread stack using the --main-stacksize= flag. > ==28404== The main thread stack size used in this run was 8388608. > error: reflog died of signal 11 > fatal: failed to run reflog > error: last command exited with $?=128 > -- snap -- The second patch from Dscho (which is only test code in sh) trigger segfault with and without the first patch on top of pu. Git was built with DEVELOPER=1 I merely run "./t0031-reftable.sh -d -v -i" -- Danh