Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 02 Jun 2017 11:21:05 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 219724] www/fcgiwrap rc script no check for pid file at onerestart
Message-ID:  <bug-219724-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D219724

            Bug ID: 219724
           Summary: www/fcgiwrap rc script no check for pid file at
                    onerestart
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: bblister@gmail.com

10.3-RELEASE-p18 FreeBSD 10.3-RELEASE-p18 #0: Tue Apr 11 10:31:00 UTC 2017=
=20=20=20=20
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

fcgiwrap-1.1.0_5=20

The startup script /usr/local/etc/rc.d/fcgiwrap at the function

fcgiwrap_stop()


finds the pid file of the processed without checking if pidfile exists:

fcgiwrap_pgrp=3D$(/bin/ps -o ppid=3D $(cat ${pidfile}))

Thus when the pidfile does not exist (for example, at the startup if you is=
sue
/usr/local/etc/rc.d/fcgiwrap onerestart  (and no pid file exist) then
we have an output that contains the PPID 1

like the following:

/bin/ps -o ppid=3D $(cat /var/run/fcgiwrap/fcgiwrap.pid)=20

cat: /var/run/fcgiwrap/fcgiwrap.pid: No such file or directory=20
72303=20
    1=20
71730=20
72092=20
    1=20
    1=20
    1=20

and then using two lines after this a command  kill -TERM -- -${fcgiwrap_pg=
rp}=20
terminates all these pids.=20

But, PID 1 is the /sbin/init  and according to init(8)=20
...init will signal the original (PID 1) init as follows:=20
....=20
1            SIGTERM    Go to single-user mode=20


So the fastcgiwrap sends SIGTERM to /sbin/init and then systems reverts to
single user mode.=20


The fix is to first check the existence of the file, like=20

if [ -f  ${pidfile} ] ; then ....=20




BB.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



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