# Build failure of 'seen'

4 messages from 2021-10-16 to 2021-10-17. Participants: Ramsay Jones, Junio C Hamano, Ævar Arnfjörð Bjarmason.
Thread: https://gitlist.dev/t/56727

## Ramsay Jones, 2021-10-16 23:18

Subject: Build failure of 'seen'
Message-ID: <48748e0e-7c18-b7ff-e1c3-ac0733cc7d34@ramsayjones.plus.com>
URL: https://gitlist.dev/e/48748e0e-7c18-b7ff-e1c3-ac0733cc7d34%40ramsayjones.plus.com

```
Hi Junio,

Tonight's build of 'seen' failed for me (on Linux and Cygwin):

      CC refs/files-backend.o
  refs/files-backend.c: In function ‘files_reflog_expire’:
  refs/files-backend.c:3212:11: error: ‘type’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   3212 |    !(type & REF_ISSYMREF) &&
        |     ~~~~~~^~~~~~~~~~~~~~~
  cc1: all warnings being treated as errors
  make: *** [Makefile:2555: refs/files-backend.o] Error 1
  $ 

gcc correctly complains, since 'type' _will_ be used uninitialized.
Note that, despite passing &type to the lock_ref_oid_basic() function,
the body of that function does not mention the parameter at all. 

I just did the obvious to get it to compile:

  $ git diff
  diff --git a/refs/files-backend.c b/refs/files-backend.c
  index ca35950a80..c7ac1d1d6b 100644
  --- a/refs/files-backend.c
  +++ b/refs/files-backend.c
  @@ -3132,7 +3132,7 @@ static int files_reflog_expire(struct ref_store *ref_store,
          struct strbuf log_file_sb = STRBUF_INIT;
          char *log_file;
          int status = 0;
  -       int type;
  +       int type = 0;
          struct strbuf err = STRBUF_INIT;
          const struct object_id *oid;
   
  $ 

... but (as you already noted) it fails the testsuite anyway.

Don't quote me (because I didn't look too hard), but I think that
commit 5bad105452 ("refs/files: remove "name exist?" check in
lock_ref_oid_basic()", 2021-10-14) removed the last use of the 'type'
parameter to lock_ref_oid_basic(). (when removing a call to the function
refs_resolve_ref_unsafe()).

ATB,
Ramsay Jones




```

## Junio C Hamano, 2021-10-17 01:14

Subject: Re: Build failure of 'seen'
Message-ID: <xmqqo87o1mgm.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqo87o1mgm.fsf%40gitster.g
In-Reply-To: <48748e0e-7c18-b7ff-e1c3-ac0733cc7d34@ramsayjones.plus.com>

```
Ramsay Jones <ramsay@ramsayjones.plus.com> writes:

> Hi Junio,
>
> Tonight's build of 'seen' failed for me (on Linux and Cygwin):

Yes, I saw the same with the report at

https://lore.kernel.org/git/xmqqh7djba6e.fsf@gitster.g/

the ball is in Ævar's court.

Thanks.

```

## Ævar Arnfjörð Bjarmason, 2021-10-17 10:06

Subject: Re: Build failure of 'seen'
Message-ID: <87mtn8c633.fsf@evledraar.gmail.com>
URL: https://gitlist.dev/e/87mtn8c633.fsf%40evledraar.gmail.com
In-Reply-To: <xmqqo87o1mgm.fsf@gitster.g>

```

On Sat, Oct 16 2021, Junio C Hamano wrote:

> Ramsay Jones <ramsay@ramsayjones.plus.com> writes:
>
>> Hi Junio,
>>
>> Tonight's build of 'seen' failed for me (on Linux and Cygwin):
>
> Yes, I saw the same with the report at
>
> https://lore.kernel.org/git/xmqqh7djba6e.fsf@gitster.g/
>
> the ball is in Ævar's court.

You'll probably saw this already, but just for the list's reference &
Ramsay's (b.t.w. thanks for the report, and sorry) I'd already re-rolled
this:
https://lore.kernel.org/git/cover-v2-00.21-00000000000-20211016T093845Z-avarab@gmail.com/; Hopefully that fixes any failures

As an aside is that "uninitialized" found by any tool/compiler? I didn't
trigger it with anything I tried.

```

## Ramsay Jones, 2021-10-17 18:32

Subject: Re: Build failure of 'seen'
Message-ID: <ab2082f4-dd6b-ece9-cc59-cb8ecdfc0f9e@ramsayjones.plus.com>
URL: https://gitlist.dev/e/ab2082f4-dd6b-ece9-cc59-cb8ecdfc0f9e%40ramsayjones.plus.com
In-Reply-To: <87mtn8c633.fsf@evledraar.gmail.com>

```


On 17/10/2021 11:06, Ævar Arnfjörð Bjarmason wrote:
> 
> On Sat, Oct 16 2021, Junio C Hamano wrote:
> 
>> Ramsay Jones <ramsay@ramsayjones.plus.com> writes:
>>
>>> Hi Junio,
>>>
>>> Tonight's build of 'seen' failed for me (on Linux and Cygwin):
>>
>> Yes, I saw the same with the report at
>>
>> https://lore.kernel.org/git/xmqqh7djba6e.fsf@gitster.g/
>>
>> the ball is in Ævar's court.

Oops! Sorry for the duplicate report.
I'm obviously not reading the list closely enough. :(

> As an aside is that "uninitialized" found by any tool/compiler? I didn't
> trigger it with anything I tried.

I only get the warning with gcc (v9.3.0 on Linux, and v11.2.0 on Cygwin).

[clang version 10.0.0-4ubuntu1 on Linux and clang version 8.0.1 on Cygwin
do not issue any warnings]

Also, this particular warning depends on the level of optimization
used with the command. I build with the default 'CFLAGS = -g -O2 -Wall'
and with 'DEVELOPER=1'.

On Linux:

  $ make V=1 refs/files-backend.o
  GIT_VERSION = 2.33.1.1033.g957ac05270
  cc -o refs/files-backend.o -c -MF refs/.depend/files-backend.o.d -MQ refs/files-backend.o -MMD -MP  -Werror -Wall -pedantic -Wpedantic -Wdeclaration-after-statement -Wformat-security -Wold-style-definition -Woverflow -Wpointer-arith -Wstrict-prototypes -Wunused -Wvla -fno-common -Wextra -Wmissing-prototypes -Wno-empty-body -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter  -g -O2 -Wall -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"x86_64\"" -DHAVE_ALLOCA_H  -DUSE_CURL_FOR_IMAP_SEND -DSUPPORTS_SIMPLE_IPC -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK  -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_SYNC_FILE_RANGE -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"'  -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"'  refs/files-backend.c
  refs/files-backend.c: In function ‘files_reflog_expire’:
  refs/files-backend.c:3212:11: error: ‘type’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   3212 |    !(type & REF_ISSYMREF) &&
        |     ~~~~~~^~~~~~~~~~~~~~~
  cc1: all warnings being treated as errors
  make: *** [Makefile:2555: refs/files-backend.o] Error 1
  $ 

ATB,
Ramsay Jones

```
