Subject: Re: bug#33709: Hang when compiled with --coverage and gcc 7.3

From: Glenn Morris <[email-masked]>
Date: Tue, 11 Dec 2018 14:46:50 -0500

Eli Zaretskii wrote:

> Why do we use --coverage when running the test suite?

I used the pre-existing, standard hydra "coverage" job for make check.
It goes on to make this kind of report.

https://hydra.nixos.org/build/85820625/download/2/coverage/

>> never exits. It prints the usage message, then hangs.
>
> "Hangs" as in "infloops"?  If so, where does it infloop?
> Or does "hangs" mean something else here?

I do give a recipe in the hope that others can investigate the issue.
Anyway, the Emacs process uses 100% CPU, apparently doing nothing.
strace shows nothing. I managed to get the following from gdb.
The only relevant link I found was
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83074
This is all above my pay grade.

#0  0x00000000007bd1b2 in gcov_do_dump ()
No symbol table info available.
#1  0x00000000007be562 in __gcov_exit ()
No symbol table info available.
#2  0x00000000007bc42c in _GLOBAL__sub_D_00100_1_set_permissions.c ()
    at set-permissions.c:847
No locals.
#3  0x00007ffff7de73b7 in _dl_fini ()
   from /nix/store/fg4yq8i8wd08xg3fy58l6q73cjy8hjr2-glibc-2.27/lib/ld-linux-x86-64.so.2
No symbol table info available.
#4  0x00007ffff6e2c351 in __run_exit_handlers ()
   from /nix/store/fg4yq8i8wd08xg3fy58l6q73cjy8hjr2-glibc-2.27/lib/libc.so.6
No symbol table info available.
#5  0x00007ffff6e2c43a in exit ()
   from /nix/store/fg4yq8i8wd08xg3fy58l6q73cjy8hjr2-glibc-2.27/lib/libc.so.6
No symbol table info available.
#6  0x00000000005768a7 in main (argc=2, argv=0x7fffffff3c58) at emacs.c:992
        i = 12
        stack_bottom_variable = 0xb01045 <pure+742821>
        do_initial_setlocale = true
        dumping = false
        skip_args = 1
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0
        rlim = {rlim_cur = 33554432, rlim_max = 18446744073709551615}
        sockfd = 0