NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/55690: GCC9 -pipe not working with PIPE_SOCKETPAIR



>Number:         55690
>Category:       kern
>Synopsis:       GCC9 -pipe not working with PIPE_SOCKETPAIR
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 01 05:25:00 +0000 2020
>Originator:     Rin Okuyama
>Release:        7.99.73
>Organization:
Department of Physics, Meiji University
>Environment:
aarch64:
NetBSD rpi 9.99.73 NetBSD 9.99.73 (PIPE) #0: Thu Oct  1 13:23:40 JST 2020  rin@latipes:/usr/src/sys/arch/evbarm/compile/PIPE evbarm

m68k:
NetBSD sun3 9.99.73 NetBSD 9.99.73 (GENERIC) #4: Tue Sep 29 00:02:57 JST 2020  rin@latipes:/sys/arch/sun3/compile/GENERIC sun3

powerpc/ibm4xx:
NetBSD obs266 9.99.73 NetBSD 9.99.73 (OBS266_PIPE) #0: Tue Sep 29 00:20:09 JST 2020  rin@latipes:/sys/arch/evbppc/compile/OBS266_PIPE evbppc
>Description:
For various archs (at least for aarch64, m68k, and powerpc/ibm4xx),
-pipe option for GCC9 does not work well on kernel with PIPE_SOCKETPAIR
option enabled. This problem occurs regardless whether kernel, libc and
etc. are built by GCC9 or GCC8.

For example, ``make package'' for lang/perl5, which adds -pipe option to
CFLAGS by default, stalls somewhere, different from ports to ports, but
completely reproducible places. Here, cc1 and cc sleeps eternally at
netio in write(2) and read(2). Kernel itself is alive, and cc1 and cc
can be terminated by ^C.

Also, some tests related to pipe(2), fails on PIPE_SOCKETPAIR kernel:

- lib/libc/sys/t_pipe2

    pipe2_cloexec: [0.011948s] Failed: /usr/src/tests/lib/libc/sys/t_pipe2.c:65: (fcntl(fd[0], F_GETFD) & FD_CLOEXEC) != 0 not met

- kernel/kqueue/write/t_pipe:pipe1

    pipe1: [0.022409s] Failed: /usr/src/tests/kernel/kqueue/write/t_pipe.c:67: (n = kevent(kq, event, 1, NULL, 0, NULL)) != -1: got: 0
>How-To-Repeat:
Try to build lang/perl5 on kernel with PIPE_SOCKETPAIR option enabled.
>Fix:
As a workaround, disabling PIPE_SOCKETPAIR option resolves the problem.
Also, there were no such problem for GCC8 -pipe as far as I can see.



Home | Main Index | Thread Index | Old Index