Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    2.1-RC2 (amd64) dhcpd/dhcpleases no pid error

    Scheduled Pinned Locked Moved General pfSense Questions
    5 Posts 3 Posters 3.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • a-a-ronA
      a-a-ron
      last edited by

      My logs have quite a few of the following errors. For the most part I can just ignore it; but I have been troubleshooting random drops on one of my computers that has a dhcp static mapping. I found this thread that seems to be similar. But the resolution was to update to the latest version, which I have done.

      Sep  8 01:15:23 router dhcpleases: kqueue error: unkown
      Sep  9 12:57:54 router dhcpleases: Could not deliver signal HUP to process because its pidfile does not exist, No such process.
      Sep  9 13:23:15 router dhcpleases: Could not deliver signal HUP to process because its pidfile does not exist, No such file or directory.
      
      ps uaxwww | grep dhcp
      _dhcp  17310  0.0  0.0  6872  1680  ??  Is    1:23PM   0:00.00 dhclient: em0 (dhclient)
      root   38170  0.0  0.1  5780  2288  ??  Ss    1:23PM   0:00.37 /usr/local/sbin/dhcpleases -l /var/dhcpd/var/db/dhcpd.leases -d domain.net -p /var/run/dnsmasq.pid -h /var/etc/hosts
      root   68110  0.0  0.0  6956  1620  ??  Ss    1:23PM   0:00.23 /usr/sbin/syslogd -s -c -c -l /var/dhcpd/var/run/log -f /var/etc/syslog.conf
      dhcpd  69581  0.0  0.3 17104 12576  ??  Ss    1:37PM   0:00.04 /usr/local/sbin/dhcpd -user dhcpd -group _dhcp -chroot /var/dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid em1
      
      ls -l /var/run/dhc*
      -rw-------  1 root  wheel  5 Sep  9 13:23 /var/run/dhclient.em0.pid
      -rwSr-S---  1 root  wheel  6 Sep  9 13:49 /var/run/dhcpleases.pid
      
      2.1-RC2 (amd64) 
      built on Sun Sep 8 21:25:42 EDT 2013 
      FreeBSD 8.3-RELEASE-p10
      

      EDIT:
      Ok, I should have done this first, but searching for the dhcpd.pid I found it in /var/dhcpd/var/run/ along with dhcpdv6.pid. If I sym link them to /var/run it doesn't survive a reboot. Is this a bug, or is there a workaround that I can apply to get this fixed?

      1 Reply Last reply Reply Quote 0
      • W
        wallabybob
        last edited by

        @djroketboy:

        EDIT:
        Ok, I should have done this first, but searching for the dhcpd.pid I found it in /var/dhcpd/var/run/ along with dhcpdv6.pid. If I sym link them to /var/run it doesn't survive a reboot. Is this a bug, or is there a workaround that I can apply to get this fixed?

        Possibly a typo, but why do you think your action on dhcpd.pid and dhcpdv6.pid will affect the report about the pid file for dhcpleases? I suspect the command to start dhcpleases is wrong: the pid file probably maybe should be written to a different directory and maybe should be called dhcpleases.pid rather than dnsmasq.pid.

        A bit of research on my system shows:
        /etc/inc/system.inc: if (file_exists("{$g['varrun_path']}/dhcpleases.pid")) {
        /etc/inc/system.inc: sigkillbypid("{$g['varrun_path']}/dhcpleases.pid", "TERM");
        /etc/inc/system.inc: @unlink("{$g['varrun_path']}/dhcpleases.pid");

        /etc/inc/system.inc: if (isvalidpid("{$g['varrun_path']}/dhcpleases.pid"))
        /etc/inc/system.inc: sigkillbypid("{$g['varrun_path']}/dhcpleases.pid", "HUP");
        /etc/inc/system.inc: mwexec("/usr/local/sbin/dhcpleases -l {$g['dhcpd_chroot_path']}/var/db/dhcpd.leases -d  $config['system']['domain']} -p {$g['varrun_path']}/dnsmasq.pid -h {$g['varetc_path']}/hosts");
        /etc/inc/system.inc: sigkillbypid("{$g['varrun_path']}/dhcpleases.pid", "TERM");
        /etc/inc/system.inc: @unlink("{$g['varrun_path']}/dhcpleases.pid");

        which suggests dhcpleases is started writing its pid to /var/run/dnsmasq.pid but when its time to kill it the different file /var/run/dhcpleases.pid is looked up to find the pid.

        1 Reply Last reply Reply Quote 0
        • a-a-ronA
          a-a-ron
          last edited by

          @wallabybob:

          but why do you think your action on dhcpd.pid and dhcpdv6.pid will affect the report about the pid file for dhcpleases?

          I came to that conclustion from this line:

          dhcpd  69581  0.0  0.3 17104 12576  ??  Ss    1:37PM   0:00.04 /usr/local/sbin/dhcpd -user dhcpd -group _dhcp -chroot /var/dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid em1
          

          If I symlink dhcpd.pid from /var/dhcpd/var/run/ the error stops appearing in the logs. So I think you are correct, it is a typo.

          @wallabybob:

          which suggests dhcpleases is started writing its pid to /var/run/dnsmasq.pid but when its time to kill it the different file /var/run/dhcpleases.pid is looked up to find the pid.

          I honestly didn't catch the dnsmasq.pid until you pointed it out. But in looking at it, I believe they are parsing dns because I have DNS forwarder enabled. Including options "Register DHCP leases in DNS forwarder" and "Register DHCP static mappings in DNS forwarder".  So it writes my hosts from DHCP leases to the hosts file.

          1 Reply Last reply Reply Quote 0
          • E
            eri--
            last edited by

            Normally the pid file is used after the chroot so your change should be wrong!
            Also your log messages are not related to dhcpd but to dhcpleases which is saying that dnsmasq is not running and could nto be reloaded!

            1 Reply Last reply Reply Quote 0
            • a-a-ronA
              a-a-ron
              last edited by

              Ahh, I totally see it now. I removed the bad reply so no one would follow bad advice.

              Thank you guys!

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.