Subject: Re: [PATCH v4 00/12] ci: replace our Azure Pipeline by GitHub Actions

From: Danh Doan <[email-masked]>
Date: Sat, 11 Apr 2020 00:35:29 +0700

On 2020-04-10 16:37:27+0200, Johannes Schindelin <[email-masked]> 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