Subject: Re: bug#42538: 28.0.50; tramp-test35-remote-path test timing out on macOS

From: Philipp Stephani <[email-masked]>
Date: Fri, 31 Jul 2020 19:30:42 +0200

Am Fr., 31. Juli 2020 um 18:55 Uhr schrieb Michael Albinus
<[email-masked]>:
>
> Philipp Stephani <[email-masked]> writes:
>
> Hi Philipp,
>
> >> HOME=/nonexistent EMACSLOADPATH= LC_ALL=C
> >> EMACS_TEST_DIRECTORY=/Users/p/Entwicklung/Emacs/master/test
> >> "../src/emacs" --module-assertions --no-init-file --no-site-file
> >> --no-site-lisp -L ":."  \
> >>   -l ert  -l lisp/net/tramp-tests.el \
> >>   --batch --eval '(ert-run-tests-batch-and-exit (quote
> >> tramp-test28-process-file))'
> >> Running 1 tests (2020-07-31 16:09:42+0200, selector `tramp-test28-process-file')
> >> Tramp: Sending command `exec sh -i'
> >> Tramp: Found remote shell prompt on `p'
> >> timeout: sending signal TERM to command ‘make’
> >>
> >> ^Ctimeout: sending signal INT to command ‘make’
> >> ^\timeout: sending signal QUIT to command ‘make’
> >>
> >> make[1]: *** [lisp/net/tramp-tests.log] Killed: 9
> >> make: *** [lisp/net/tramp-tests] Quit: 3
> >
> > Emacs here is stuck waiting for the process "bash -c 'kill -17 $$'" to
> > terminate. However, signal 17 is SIGSTOP on macOS, so this process can
> > never terminate. This might be caused by the code in
> > `tramp-get-signal-strings' assuming that signal 19 is SIGSTOP.
>
> Thanks for the analysis. However, I fail to see where Tramp fires the
> command 'kill -17 $$'. There's only 'kill -2 $$'. Could you, please, show me?

`tramp-get-signal-strings' invokes "bash -c 'kill -NUM $$'" for all
signal numbers, including 17. It excluded 19, assuming that's SIGSTOP,
but that assumption doesn't hold on macOS (or FreeBSD, or any non-x86
system, FWIW).