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]

Reply via email to