Package: logrotate
Version: 3.7.1-3
Severity: critical
Justification: breaks unrelated software
I woke up this morning to find my webserver (lighttpd) unresponsive and
logrotate
using up 100% CPU. When I ran strace on logrotate I found:
rename("/service/lighttpd/logs/error.log.638155266.gz",
"/service/lighttpd/logs/error.log.638155267.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155265.gz",
"/service/lighttpd/logs/error.log.638155266.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155264.gz",
"/service/lighttpd/logs/error.log.638155265.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155263.gz",
"/service/lighttpd/logs/error.log.638155264.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155262.gz",
"/service/lighttpd/logs/error.log.638155263.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155261.gz",
"/service/lighttpd/logs/error.log.638155262.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155260.gz",
"/service/lighttpd/logs/error.log.638155261.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155259.gz",
"/service/lighttpd/logs/error.log.638155260.gz") = -1 ENOENT (No such file or
directory)
rename("/service/lighttpd/logs/error.log.638155258.gz",
"/service/lighttpd/logs/error.log.638155259.gz") = -1 ENOENT (No such file or
directory)
Apparently it had missed a lighttpd log file or something and was now
proceeding
to logrotate every imaginary file it could think of. (It's hard to be sure of
exactly what's going on without looking at the code.)
I killed it and the site came back, but I thought a developer would know better
what's going on.
I haven't changed the logrotate conf files in months and this has never
happened
before. The relevant config is:
/service/lighttpd/logs/*.log {
weekly
missingok
copytruncate
rotate 999999999
compress
notifempty
sharedscripts
postrotate
if [ -f /var/run/lighttpd.pid ]; then \
if [ -x /usr/sbin/invoke-rc.d ]; then \
invoke-rc.d lighttpd force-reload > /dev/null; \
else \
/etc/init.d/lighttpd force-reload > /dev/null; \
fi; \
fi;
endscript
}
-- Package-specific info:
Contents of /etc/logrotate.d
total 24
-rw-r--r-- 1 root root 240 Jun 19 2007 apache2
-rw-r--r-- 1 root root 79 Sep 3 2006 aptitude
-rw-r--r-- 1 root root 69 Dec 15 2006 backupninja
-rw-r--r-- 1 root root 111 Oct 13 2006 dpkg
-rw-r--r-- 1 root root 488 Dec 18 05:11 lighttpd
-rw-r--r-- 1 root root 153 Aug 15 01:50 postgresql-common
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16.29-xen
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages logrotate depends on:
ii base-passwd 3.5.11 Debian base system master password
ii cron 3.0pl1-100 management of regular background p
ii libc6 2.3.6.ds1-13etch4 GNU C Library: Shared libraries
ii libpopt0 1.10-3 lib for parsing cmdline parameters
ii libselinux1 1.32-3 SELinux shared libraries
Versions of packages logrotate recommends:
ii mailx 1:8.1.2-0.20050715cvs-1 A simple mail user agent
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]