Package: munin Version: 1.2.6-10~lenny1 Severity: normal Hi! if munin is configured with more than one contact, like:
contact.foo.command mail -s "Meh" f...@example.com contact.bar.command mail -s "Meh" b...@example.com then when munin-limits has to send messages it hangs. This is an hanged run of munin-limits with the above contacts: 28350 \_ /bin/sh /usr/bin/munin-cron 28636 \_ /usr/bin/perl /usr/share/munin/munin-limits 28637 \_ mail -s Meh b...@example.com 28638 | \_ /usr/bin/perl /usr/share/munin/munin-limits 28639 | \_ /usr/bin/perl /usr/share/munin/munin-limits 28640 \_ mail -s Meh f...@example.com 28641 \_ /usr/bin/perl /usr/share/munin/munin-limits 28642 \_ /usr/bin/perl /usr/share/munin/munin-limits If you inspect the opened file descriptors you will find: /proc/28636/fd/ # munin-limits, child of munin-cron 0 -> pipe:[40611921] 1 -> pipe:[40611922] 2 -> /var/log/munin/munin-limits.log 5 -> pipe:[40612630] /proc/28637/fd/ # mail b...@example.com 0 -> pipe:[40612627] 1 -> pipe:[40612628] 2 -> pipe:[40612629] 3 -> /tmp/mail.RsXXXXnAmEOR (deleted) /proc/28638/fd/ # mail b...@example.com stdout child 0 -> pipe:[40612628] 1 -> pipe:[40611922] 2 -> /var/log/munin/munin-limits.log 3 -> /var/log/munin/munin-limits.log /proc/28639/fd/ # mail b...@example.com stderr child 0 -> pipe:[40612629] 1 -> pipe:[40611922] 2 -> /var/log/munin/munin-limits.log 3 -> /var/log/munin/munin-limits.log 4 -> pipe:[40612628] /proc/28640/fd/ # mail f...@example.com 0 -> pipe:[40612630] 1 -> pipe:[40612631] 2 -> pipe:[40612632] 3 -> /tmp/mail.RsXXXX6laUNR (deleted) /proc/28641/fd/ # mail f...@example.com stdout child 0 -> pipe:[40612631] 1 -> pipe:[40611922] 2 -> /var/log/munin/munin-limits.log 3 -> /var/log/munin/munin-limits.log 4 -> pipe:[40612627] /proc/28642/fd/ # mail f...@example.com stderr child 0 -> pipe:[40612632] 1 -> pipe:[40611922] 2 -> /var/log/munin/munin-limits.log 3 -> /var/log/munin/munin-limits.log 4 -> pipe:[40612627] 5 -> pipe:[40612631] Why do the children of "mail f...@example.com" have on "4" the stdin of "mail b...@example.com" ? To me it seems children created with "open()" don't close file descriptors inherited from their parent. Why the logfile is opened more than once in some processes and stdout is left opened even if they log? This is slightly unrelated but, why three processes are needed for each contact? Thank you, Luca -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org