[Dovecot] Dovecot LDA (deliver) stopped working

falz me at falz.net
Fri Jan 25 21:14:15 EET 2008


On Jan 25, 2008 11:44 AM,  <tomas at tuxteam.de> wrote:
> I'd typically do
>
> #!/bin/sh
> {
>   DELIVER=...
>   echo "=="
>   echo $DATE
>   ...
> } >> /tmp/foo.txt 2>&1

Thanks, I wasn't aware of the curly bracket trick. STRACE found the
problem for me! It was something completely unexpected. Patsing my
script here for future reference for anyone:

#!/bin/sh
{
DELIVER=/usr/local/libexec/dovecot/deliver
STRACE=/usr/local/bin/strace
DATE=`date`
echo "=="
/usr/bin/env
echo $DATE
echo $LOGNAME
$STRACE $DELIVER -d "$LOGNAME"
echo $DATE
} >> /tmp/foo.txt 2>&1


So, doing this, near the end of the STRACE gave me:

open("/var/log/dovecot-lda.log", O_WRONLY|O_APPEND|O_CREAT, 0666) = 6
lseek(6, 0, SEEK_END)                   = 51237618
fcntl(6, F_GETFD)                       = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
open("/var/log/dovecot-lda.log", O_WRONLY|O_APPEND|O_CREAT, 0666) = 7
lseek(7, 0, SEEK_END)                   = 51237618
fcntl(7, F_GETFD)                       = 0
fcntl(7, F_SETFD, FD_CLOEXEC)           = 0
fstat(7, {st_mode=0, st_size=0, ...})   = 0
gettimeofday({0, 0}, NULL)              = 0
access("/etc/localtime", R_OK)          = 0
open("/etc/localtime", O_RDONLY)        = 8
fstat(8, {st_mode=S_IFCHR|S_ISUID|S_ISGID|S_ISVTX|045,
st_rdev=makedev(37, 842006560), ...}) = 0
read(8, "\377\377\377\377\377\377\377\377\377\377\377\377\377\377"...,
7944) = 1279
close(8)                                = 0
write(7, "deliver(username): Jan 25 12:58:"..., 100) = -1 EFBIG (File too large)
--- SIGXFSZ (Filesize limit exceeded: 25) ---
--- SIGXFSZ (Filesize limit exceeded: 25) ---
syscall_417(0xbfbfe820)                 = -1 (errno 27)
exit(75)                                = ?


So, the issue was that SOMETHING is enforcing /var/log/dovecot-lda/log
size! I was able to get this working by rotating, and the solution
will be to constantly rotate, but I still need to figure out what's
enforcing this.

- I have no filesystem quotas enabled (FreeBSD) and never have.

- I could not find any 'max file size' type of settings in dovecot.
Even if there were, I don't know why this would be the default
behavior!

So, anyone have thoughts as to what's enforcing the "Filesize limit
exceeded: 25"?

--falz


More information about the dovecot mailing list