Package: collectd
Version: 4.10.1-1+squeeze2
Severity: serious

collectd is hanging in an endless loop (consuming CPU time) if
/var/lib/collectd/rrd is a symlink, pointing to a mountpoint that's
not available:

# strace -f -p $PID_OF_COLLECTD
[...]
[pid  1033] mkdir("/var/lib/collectd/rrd", 0755) = -1 EEXIST (File exists)
[pid  1033] stat("/var/lib/collectd/rrd", 0x7f7f08f28440) = -1 ENOENT (No such 
file or directory)
[pid  1033] mkdir("/var/lib/collectd/rrd", 0755) = -1 EEXIST (File exists)
[pid  1033] stat("/var/lib/collectd/rrd", 0x7f7f08f28440) = -1 ENOENT (No such 
file or directory)
[pid  1033] mkdir("/var/lib/collectd/rrd", 0755) = -1 EEXIST (File exists)
[pid  1033] stat("/var/lib/collectd/rrd", 0x7f7f08f28440) = -1 ENOENT (No such 
file or directory)
[pid  1033] mkdir("/var/lib/collectd/rrd", 0755) = -1 EEXIST (File exists)
[pid  1033] stat("/var/lib/collectd/rrd", 0x7f7f08f28440) = -1 ENOENT (No such 
file or directory)
[pid  1033] mkdir("/var/lib/collectd/rrd", 0755) = -1 EEXIST (File exists)
[pid  1033] stat("/var/lib/collectd/rrd", 0x7f7f08f28440) = -1 ENOENT (No such 
file or directory)
[pid  1033] mkdir("/var/lib/collectd/rrd", 0755) = -1 EEXIST (File exists)
[...]
# ls -la /var/lib/collectd/rrd
lrwxrwxrwx 1 root root 18 Mar 16 14:12 /var/lib/collectd/rrd -> 
/mnt/glusterfs/rrd

/mnt/glusterfs isn't available in this situation because the
underlying glusterfs share isn't available.

The directory check in check_create_dir() needs an additional check
for symlinks.

regards,
-mika-



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/2011-03-21t14-18...@devnull.michael-prokop.at

Reply via email to