Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Mar 1998 13:42:32 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-stable@FreeBSD.ORG, serge@yahoo-inc.com
Cc:        dk@genesyslab.com
Subject:   Re: portmap failures
Message-ID:  <199803100242.NAA28188@godzilla.zeta.org.au>

index | next in thread | raw e-mail

>does anybody know smth about 'portmap' or related kernel bugs ?
>I have 2.2.x(some SNAP before 2.2.5R) and 2.2.5 as well as some 2.1 systems
>on which portmap dies periodically. I can not catch the rules of those
>failures, i.e. what causes them to fail, but here is the message from
>/var/log/messages:
>
>Mar  5 07:47:38 serge portmap[87]: svc_run: - select failed: No child processes
>Mar  5 07:47:38 serge /kernel: pid 87 (portmap), uid 1: exited on signal 6
>Mar  5 07:47:38 serge portmap[87]: svc_run returned unexpectedly
>Mar  7 15:26:50 serge portmap[5014]: svc_run: - select failed: No child processes
>Mar  7 15:26:50 serge /kernel: pid 5014 (portmap), uid 1: exited on signal 6
>Mar  7 15:26:50 serge portmap[5014]: svc_run returned unexpectedly
>
>the deal is select() should *not* return "no child processes" according to
>man pages...

This seems to be caused by portmap's SIGCHLD handler not preserving errno.
This may be a library bug.  POSIX.1 says that it is safe to call wait()
from a signal handler.  However, portmap() actually calls wait3(),
and all syscalls traditionally clobber errno, so robust signal handlers
should preserve errno explicitly even if they call a "safe" function.

Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803100242.NAA28188>