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

Reply via email to