Bug#620389: /usr/sbin/exim4: doesn't close open files when started as a daemon

Bjørn Mork bjorn at mork.no
Fri Apr 1 16:26:24 UTC 2011


Package: exim4-daemon-light
Version: 4.72-6
Severity: important
File: /usr/sbin/exim4

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

"exim4 -bd" should close all inherited file handles.


Among the ill effects of this bug is that it makes unattended-upgrades
fail until killed:

root      7384  0.0  0.5  12332   628 ?        Ss   Mar30   0:00 /usr/sbin/anacron -s
root      7385  0.0  0.3   4004   476 ?        S    Mar30   0:00  \_ /bin/sh -c nice run-parts --report /etc/cron.daily
root      7386  0.0  0.3   3904   452 ?        SN   Mar30   0:00      \_ run-parts --report /etc/cron.daily
root      7390  0.0  0.0      0     0 ?        ZN   Mar30   0:00          \_ [apt] <defunct>
101      13246  0.0  0.8  44236  1024 ?        SNs  Mar30   0:00 /usr/sbin/exim4 -bd -q30m

The reason is that "run-parts --report" redirects stdout and stderr to
pipes, and is waiting for the process to close them.  This won't 
happen here, because apt started exim4 which keeps them open (among
quite a few others which also should have been closed by exim4):


frtest1:~# lsof -p13246
[..]
exim4   13246 Debian-exim    0u   CHR    1,3      0t0    872 /dev/null
exim4   13246 Debian-exim    1u   CHR    1,3      0t0    872 /dev/null
exim4   13246 Debian-exim    2u   CHR    1,3      0t0    872 /dev/null
exim4   13246 Debian-exim    3w  FIFO    0,8      0t0  17489 pipe
exim4   13246 Debian-exim    4u  IPv4  17686      0t0    TCP localhost:smtp (LISTEN)
exim4   13246 Debian-exim   41r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   43r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   45r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   47r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   49r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   51r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   53r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   55r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   57r   REG    8,1   452666  74725 /var/lib/dpkg/status (deleted)
exim4   13246 Debian-exim   58u   CHR    1,3      0t0    872 /dev/null
exim4   13246 Debian-exim   59u   REG    8,1     4723 113633 /var/log/unattended-upgrades/unattended-upgrades-dpkg_2011-03-30_08:01:04.835276.log
exim4   13246 Debian-exim   60w  FIFO    0,8      0t0  12080 pipe
exim4   13246 Debian-exim   61w  FIFO    0,8      0t0  12081 pipe
exim4   13246 Debian-exim   63w   REG    8,1    10952  73213 /var/log/apt/history.log



Bjørn

- -- Package-specific info:
Exim version 4.72 #1 built 31-Jan-2011 18:42:28
Copyright (c) University of Cambridge, 1995 - 2007
Berkeley DB: Berkeley DB 4.8.30: (April  9, 2010)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
GnuTLS compile-time version: 2.8.6
GnuTLS runtime version: 2.8.6
Configuration file is /var/lib/exim4/config.autogenerated
# /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'

dc_eximconfig_configtype='satellite'
dc_other_hostnames='nemi.mork.no'
dc_local_interfaces='127.0.0.1'
dc_readhost='mork.no'
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='"<+ mail.mork.no:587 + smtp.online.no:587 + [::1]:2525"'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
mailname:nemi.mork.no

- -- System Information:
Debian Release: 6.0.1
  APT prefers stable
  APT policy: (700, 'stable'), (600, 'unstable'), (500, 'squeeze-updates'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages exim4-daemon-light depends on:
ii  debconf [debconf-2.0]         1.5.36.1   Debian configuration management sy
ii  exim4-base                    4.72-6     support files for all Exim MTA (v4
ii  libc6                         2.11.2-10  Embedded GNU C Library: Shared lib
ii  libdb4.8                      4.8.30-2   Berkeley v4.8 Database Libraries [
ii  libgnutls26                   2.8.6-1    the GNU TLS library - runtime libr
ii  libpcre3                      8.02-1.1   Perl 5 Compatible Regular Expressi

exim4-daemon-light recommends no packages.

exim4-daemon-light suggests no packages.

- -- debconf information:
  exim4-daemon-light/drec:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAk2V/K4ACgkQ10rqkowbIsk1LwCcC302au+PH0keuL0vIgFHnPB+
OwsAn09d3H6aFsPyoBcYf0vGrTduYG6Z
=1RG7
-----END PGP SIGNATURE-----





More information about the Pkg-exim4-maintainers mailing list