pkgsrc-Bugs archive

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

pkg/60853: www/fcgiwrap rc.d woes



>Number:         60853
>Category:       pkg
>Synopsis:       www/fcgiwrap rc.d woes
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 06 02:25:01 +0000 2026
>Originator:     Taylor R Campbell
>Release:        current, 2026Q3
>Organization:
The NetCGI Foundati*** Child exited, stopped, or continued
>Environment:
>Description:

	1. The rc.d script does not run fcgiwrap under a process
	   supervisor, nor does it close stdin/stdout/stderr and detach
	   from the controlling terminal (i.e., doesn't properly
	   daemonize).

	   So if you do `service fcgiwrap start' from an interactive
	   shell then it will still have your terminal open as
	   stdin/stdout/stderr and as its controlling terminal.  If you
	   log out and hang up the terminal, and fcgiwrap tries to
	   write an error message, it will go nowhere and/or crash.

	2. The rc.d script has no way to pass `-c <n>' to run up to <n>
	   CGI process children in parallel, other than perhaps
	   kludgily setting `command="/usr/pkg/bin/fcgiwrap -c <n>"' in
	   /etc/rc.conf.d/fcgiwrap.

	3. fcgiwrap itself has races with the SIGCHLD handler that
	   could lead the `-c <n>' accounting to go wrong if SIGCHLD
	   arrives at the wrong time.

>How-To-Repeat:

	1. wonder why (a) fcgiwrap randomly exited with no evidence,
	   (b) fcgiwrap has my old tmux session as its ctty
	2. examine ps -d and wonder why fcgiwrap has only one child
	3. code inspection

>Fix:

	Yes, please!




Home | Main Index | Thread Index | Old Index