Bug#314356: exim4-daemon-heavy: "Spool file is locked" in mainlog

Sylvain LE GALL "Sylvain LE GALL" <sylvain.le-gall@polytechnique.org>, 314356@bugs.debian.org
Wed, 22 Jun 2005 22:44:00 +0200


Hello,

On Thu, Jun 16, 2005 at 05:59:45PM +0200, Marc Haber wrote:
> Hi,
> 
> On Thu, Jun 16, 2005 at 07:43:16AM +0200, Sylvain LE GALL wrote:
> > On Thu, Jun 16, 2005 at 01:37:24AM +0200, Marc Haber wrote:
> > > Can you try moving the retry database away, and probably see with -d
> > > what the delivery attempt tries to do.
> > > 
> > 
> > Well, the problem is not always here: yesterday i kill the problematic
> > process and remove the lockfile and restart exim.
> 
> So you actually had a process hold a lock on the database? That's
> something entirely different. Please use the exiwhat utility to find
> out what the process is actually doing, and, if it is stuck delivering
> a message, please see if exim4 -d -M <message-ID> will hang again and
> probably give a hint about what might be going wrong here.
> 
> > Where is the retry database ?
> 
> /var/spool/exim4/db
> 

I tried to contact you on IRC, but you weren't there. I found another
exim4 process hanging today.

Here are the data, you want me to collect :

gildor@micro:~$ sudo exiwhat
 2544 daemon: -q30m, listening for SMTP on port 25 (IPv6 and IPv4)
13616 tidying up after delivering 1Dl2ci-0003Xb-NN

gildor@micro:~$ sudo exim4 -d -M 1Dl2ci-0003Xb-NN
Exim version 4.50 uid=0 gid=0 pid=15070 D=fbb95cfd
Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (December  3, 2003)
Support for: iconv() IPv6 PAM Perl GnuTLS Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch 
ldap ldapdn ldapm mysql nis nis0 passwd pgsql
Authenticators: cram_md5 cyrus_sasl plaintext spa
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
changed uid/gid: forcing real = effective
  uid=0 gid=0 pid=15070
  auxiliary group list: <none>
configuration file is /var/lib/exim4/config.autogenerated
log selectors = 00000ffc 00020800
trusted user
admin user
skipping ACL configuration - not needed
set_process_info: 15070 delivering specified messages
set_process_info: 15070 delivering 1Dl2ci-0003Xb-NN
LOG: skip_delivery MAIN
  Spool file is locked (another process is handling this message)
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=15070 terminating with rc=0 >>>>>>>>>>>>>>>>

gildor@micro:~$ df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/scsi/host0/bus0/target0/lun0/part1
                      1,8G  1,1G  655M  63% /
tmpfs                 237M  4,0K  237M   1% /dev/shm
tmpfs                 237M  4,0K  237M   1% /tmp
/dev/scsi/host1/bus0/target0/lun0/part1
                       74G   50G   21G  71% /home

gildor@micro:~$ ps aux | grep exim
Debian-   2544  0.0  0.5  8716 2828 ?        Ss   Jun20   0:00 /usr/sbin/exim4 -bd -q30m
Debian-  13616 94.3  0.5  8436 2600 ?        Rs   12:38 449:55 /usr/sbin/exim4 -Mc 1Dl2ci-0003Xb-NN
root     15072  0.0  0.5  8460 2760 ?        S    20:31   0:00 /usr/sbin/exim4 -Mc 1DlA0t-0003v5-Qf
gildor   15112  0.0  0.1  3884  780 pts/1    S+   20:35   0:00 grep exim

I killed the process (-9), stop the daemon, clean *.lockfile in the
/var/spool/exim4/db/ and start again the daemon.

Now, all seems to be ok.

If you have any idea ?

Kind regard
Sylvain Le Gall