← Back to team overview

aims team mailing list archive

[Bug 1073478] Re: squid3 does not clean up pid file

 

Thank you for taking the time to report this bug and helping to make
Ubuntu better.

I can confirm that the logrotate test fails if squid is not running, and
agree that this is a bug.

Unfortunately I can't find a good reference to point to in order to
declare that squid should be cleaning its pid file and that it is not,
although my understand has also always been that daemons should do this
when they can. I've found http://stackoverflow.com/questions/688343
/reference-for-proper-handling-of-pid-file-on-unix and
http://perfec.to/stalepid.html both of which indicate that it is a good
thing to do, but there doesn't seem to be any definitive reference for
this.

I think an easier fix would be to adjust squid's logrotate configuration
to test for the process before calling "squid3 -k rotate".

Could you try this as a workaround? In /etc/logrotate.d/squid3, replace
the postrotate line:

    test ! -e /var/run/squid3.pid || /usr/sbin/squid3 -k rotate

with:

    test ! -e /var/run/squid3.pid || ! kill -0 `cat /var/run/squid3.pid`
2>/dev/null || /usr/sbin/squid3 -k rotate

-- 
You received this bug notification because you are a member of AIMS,
which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1073478

Title:
  squid3 logrotate fails when squid is not running

Status in “squid3” package in Ubuntu:
  Triaged

Bug description:
  Squid3 on Precise does not clean up its PID file, causing logrotate to 
  spit out an error each night when cron runs it. This is on a server where
  we want squid3 installed and ready to go but not running by default.

  0 root@rackspace:/etc/mysql#start squid3 
  squid3 start/running, process 10392
  0 root@rackspace:/etc/mysql#cat /var/run/squid3.pid 
  10392
  0 root@rackspace:/etc/mysql#stop squid3 
  squid3 stop/waiting
  0 root@rackspace:/etc/mysql#cat /var/run/squid3.pid 
  10392
  0 root@rackspace:/etc/mysql#logrotate -f /etc/logrotate.d/squid3 
  squid: ERROR: Could not send signal 10 to process 10392: (3) No such process
  error: error running shared postrotate script for '/var/log/squid3/*.log '
  1 root@rackspace:/etc/mysql#lsb_release -d
  Description:    Ubuntu 12.04.1 LTS
  0 root@rackspace:/etc/mysql#dpkg -l squid3
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
  |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  ||/ Name                                     Version                                  Description
  +++-========================================-========================================-================================================================================================
  ii  squid3                                   3.1.19-1ubuntu3.12.04.1                  Full featured Web Proxy cache (HTTP proxy)
  0 root@rackspace:/etc/mysql#

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/squid3/+bug/1073478/+subscriptions