Hello fellow listas,

A while back I asked about why courierd hangs with the message "courierd: ABNORMAL TERMINATION BY A SIGNAL / courierd: Will restart in 60 seconds."
Now I've got time to play around with strace and here come the snippets, which I hope solve the mystery:
Here's the trace of the main courierd process:
wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], 0, NULL) = 11176
--- SIGCHLD (Child exited) ---
time([1045514329]) = 1045514329
rt_sigaction(SIGPIPE, {0x290ae8, [], 0x4000000}, {SIG_IGN}, 8) = 0
send(4, "<19>Feb 17 21:38:49 courierd: ABNORMAL TERMINATION BY A SIGNAL\0", 63, 0) = 63
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
time([1045514329]) = 1045514329
rt_sigaction(SIGPIPE, {0x290ae8, [], 0x4000000}, {SIG_IGN}, 8) = 0
send(4, "<19>Feb 17 21:38:49 courierd: Will restart in 60 seconds.\0", 58, 0) = 58
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({60, 0}, {60, 0}) = 0
fork() = 11198
wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], 0, NULL) = 11198
--- SIGCHLD (Child exited) ---
time([1045514389]) = 1045514389
rt_sigaction(SIGPIPE, {0x290ae8, [], 0x4000000}, {SIG_IGN}, 8) = 0
send(4, "<19>Feb 17 21:39:49 courierd: ABNORMAL TERMINATION BY A SIGNAL\0", 63, 0) = 63
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
time([1045514389]) = 1045514389
rt_sigaction(SIGPIPE, {0x290ae8, [], 0x4000000}, {SIG_IGN}, 8) = 0
send(4, "<19>Feb 17 21:39:49 courierd: Will restart in 60 seconds.\0", 58, 0) = 58
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({60, 0}, {60, 0}) = 0
fork() = 11231
wait4(-1,

and here of the child process (sorry for the long snippet - I don't know what of it could be skipped):
charon:/home/arska/traces# cat courierd.child
select(14, [6 8 10 12 13], NULL, NULL, {3432, 540000}) = 1 (in [13], left {3419, 110000})
time([1045514329]) = 1045514329
read(13, "\n", 512) = 1
time([1045514329]) = 1045514329
open("/var/lib/courier/tmp", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 14
fstat64(14, {st_mode=S_IFDIR|0770, st_size=4096, ...}) = 0
fcntl64(14, F_SETFD, FD_CLOEXEC) = 0
getdents64(0xe, 0x8075bb8, 0x1000, 0x2) = 216
open("/var/lib/courier/tmp/104551", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 15
fstat64(15, {st_mode=S_IFDIR|0770, st_size=4096, ...}) = 0
fcntl64(15, F_SETFD, FD_CLOEXEC) = 0
getdents64(0xf, 0x8076bf0, 0x1000, 0x2) = 112
stat64("/var/lib/courier/tmp/104551/D572382", {st_mode=S_IFREG|0660, st_size=354, ...}) = 0
stat64("/var/lib/courier/tmp/104551/C572382", {st_mode=S_IFREG|0660, st_size=209, ...}) = 0
access("/var/lib/courier/tmp/104551/D572382", F_OK) = 0
access("/var/lib/courier/msgs/82/D572382", F_OK) = -1 ENOENT (No such file or directory)
access("/var/lib/courier/msgs/82/C572382", F_OK) = -1 ENOENT (No such file or directory)
open("/var/lib/courier/tmp/104551/C572382", O_RDWR|O_APPEND) = 16
fcntl64(16, F_SETFD, FD_CLOEXEC) = 0
fstat64(16, {st_mode=S_IFREG|0660, st_size=209, ...}) = 0
read(16, "[EMAIL PROTECTED]\nfdns; localhost (localhost [127.0.0.1])\ne\nt\nM0008BBDE.3E514859.00002BBB\[EMAIL PROTECTED]\nR\nN\[EMAIL PROTECTED]\nR\nN\[EMAIL PROTECTED]\nR\nN\[EMAIL PROTECTED]\nR\nN\nE1046119129\np1045543129\nW10"..., 209) = 209
writev(16, [{"A", 1}, {"1045514329", 10}, {"\n", 1}], 3) = 12
fsync(16) = 0
link("/var/lib/courier/tmp/104551/C572382", "/var/lib/courier/msgq/104551/C572382.1045514329") = -1 ENOENT (No such file or directory)
mkdir("/var/lib/courier/msgq/104551", 0755) = 0
link("/var/lib/courier/tmp/104551/C572382", "/var/lib/courier/msgq/104551/C572382.1045514329") = 0
rename("/var/lib/courier/tmp/104551/D572382", "/var/lib/courier/msgs/82/D572382") = -1 ENOENT (No such file or directory)
mkdir("/var/lib/courier/msgs/82", 0755) = 0
rename("/var/lib/courier/tmp/104551/D572382", "/var/lib/courier/msgs/82/D572382") = 0
rename("/var/lib/courier/tmp/104551/C572382", "/var/lib/courier/msgs/82/C572382") = 0
fsync(16) = 0
close(16) = 0
open("/var/lib/courier/msgq/104551/C572382.1045514329", O_RDWR|O_APPEND) = 16
fcntl64(16, F_SETFD, FD_CLOEXEC) = 0
fstat64(16, {st_mode=S_IFREG|0660, st_size=221, ...}) = 0
read(16, "[EMAIL PROTECTED]\nfdns; localhost (localhost [127.0.0.1])\ne\nt\nM0008BBDE.3E514859.00002BBB\[EMAIL PROTECTED]\nR\nN\[EMAIL PROTECTED]\nR\nN\[EMAIL PROTECTED]\nR\nN\[EMAIL PROTECTED]\nR\nN\nE1046119129\np1045543129\nW10"..., 221) = 221
stat64("/var/lib/courier/msgs/82/C572382", {st_mode=S_IFREG|0660, st_size=221, ...}) = 0
brk(0x807c000) = 0x807c000
time([1045514329]) = 1045514329
rt_sigaction(SIGPIPE, {0x290ae8, [], 0x4000000}, {SIG_IGN}, 8) = 0
send(4, "<22>Feb 17 21:38:49 courierd: newmsg,id=0008BBDE.3E514859.00002BBB\0", 67, 0) = 67
rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
open("/etc/courier/locals", O_RDONLY) = 17
fstat64(17, {st_mode=S_IFREG|0644, st_size=74, ...}) = 0
fstat64(17, {st_mode=S_IFREG|0644, st_size=74, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e0000
read(17, "172.16.1.1\n192.168.1.2\n212.53.102.101\ncharon.mng.ch\nlocalhost\nmail.mng.ch\n", 4096) = 74
close(17) = 0
munmap(0x2e0000, 4096) = 0
open("/etc/courier/hosteddomains.dat", O_RDONLY) = 17
fstat64(17, {st_mode=S_IFREG|0644, st_size=12295, ...}) = 0
fcntl64(17, F_SETLK, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) = 0
read(17, "\316\232W\23\0\20\0\0\0\20\0\0\0\20\0\0\n\0\0\0\0\20\0\0\311\0\0\0\0@\0\0\372\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 52) = 52
read(17, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4044) = 4044
lseek(17, 4096, SEEK_SET) = 4096
read(17, "\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0"..., 4096) = 4096
brk(0x807e000) = 0x807e000
brk(0x8080000) = 0x8080000
brk(0x8082000) = 0x8082000
brk(0x8084000) = 0x8084000
brk(0x8086000) = 0x8086000
brk(0x8088000) = 0x8088000
brk(0x808a000) = 0x808a000
brk(0x808c000) = 0x808c000
brk(0x808e000) = 0x808e000
brk(0x8090000) = 0x8090000
brk(0x8092000) = 0x8092000
brk(0x8094000) = 0x8094000
brk(0x8096000) = 0x8096000
brk(0x8098000) = 0x8098000
brk(0x809a000) = 0x809a000
brk(0x809c000) = 0x809c000
brk(0x809e000) = 0x809e000
brk(0x80a0000) = 0x80a0000
brk(0x80a2000) = 0x80a2000
brk(0x80a4000) = 0x80a4000
brk(0x80a6000) = 0x80a6000
brk(0x80a8000) = 0x80a8000
brk(0x80aa000) = 0x80aa000
brk(0x80ac000) = 0x80ac000
brk(0x80ae000) = 0x80ae000
brk(0x80b0000) = 0x80b0000
brk(0x80b2000) = 0x80b2000
brk(0x80b4000) = 0x80b4000
brk(0x80b6000) = 0x80b6000
brk(0x80b8000) = 0x80b8000
brk(0x80ba000) = 0x80ba000
brk(0x80bc000) = 0x80bc000
brk(0x80be000) = 0x80be000
brk(0x80c0000) = 0x80c0000
brk(0x80c2000) = 0x80c2000
brk(0x80c4000) = 0x80c4000
brk(0x80c6000) = 0x80c6000
brk(0x80c8000) = 0x80c8000
brk(0x80ca000) = 0x80ca000
brk(0x80cc000) = 0x80cc000
brk(0x80ce000) = 0x80ce000
brk(0x80d0000) = 0x80d0000
brk(0x80d2000) = 0x80d2000
brk(0x80d4000) = 0x80d4000
brk(0x80d6000) = 0x80d6000
brk(0x80d8000) = 0x80d8000
brk(0x80da000) = 0x80da000
brk(0x80dc000) = 0x80dc000
brk(0x80de000) = 0x80de000
brk(0x80e0000) = 0x80e0000
lseek(17, 8192, SEEK_SET) = 8192
read(17, "\1\0\0\0\371\17\0\0\0070\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0"..., 4096) = 4096
open("/etc/courier/esmtppercentrelay", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/courier/esmtppercentrelay.dat", O_RDONLY) = 18
fstat64(18, {st_mode=S_IFREG|0644, st_size=12322, ...}) = 0
fcntl64(18, F_SETLK, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) = 0
read(18, "\316\232W\23\0\20\0\0\0\20\0\0\0\20\0\0\n\0\0\0\0\20\0\0\311\0\0\0\0@\0\0\372\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 52) = 52
brk(0x80e2000) = 0x80e2000
read(18, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4044) = 4044
lseek(18, 4096, SEEK_SET) = 4096
read(18, "\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0"..., 4096) = 4096
brk(0x80e3000) = 0x80e3000
brk(0x80e5000) = 0x80e5000
brk(0x80e7000) = 0x80e7000
brk(0x80e9000) = 0x80e9000
brk(0x80eb000) = 0x80eb000
brk(0x80ed000) = 0x80ed000
brk(0x80ef000) = 0x80ef000
brk(0x80f1000) = 0x80f1000
brk(0x80f3000) = 0x80f3000
brk(0x80f5000) = 0x80f5000
brk(0x80f7000) = 0x80f7000
brk(0x80f9000) = 0x80f9000
brk(0x80fb000) = 0x80fb000
brk(0x80fd000) = 0x80fd000
brk(0x80ff000) = 0x80ff000
brk(0x8101000) = 0x8101000
brk(0x8103000) = 0x8103000
brk(0x8105000) = 0x8105000
brk(0x8107000) = 0x8107000
brk(0x8109000) = 0x8109000
brk(0x810b000) = 0x810b000
brk(0x810d000) = 0x810d000
brk(0x810f000) = 0x810f000
brk(0x8111000) = 0x8111000
brk(0x8113000) = 0x8113000
brk(0x8115000) = 0x8115000
brk(0x8117000) = 0x8117000
brk(0x8119000) = 0x8119000
brk(0x811b000) = 0x811b000
brk(0x811d000) = 0x811d000
brk(0x811f000) = 0x811f000
brk(0x8121000) = 0x8121000
brk(0x8123000) = 0x8123000
brk(0x8125000) = 0x8125000
brk(0x8127000) = 0x8127000
brk(0x8129000) = 0x8129000
brk(0x812b000) = 0x812b000
brk(0x812d000) = 0x812d000
brk(0x812f000) = 0x812f000
brk(0x8131000) = 0x8131000
brk(0x8133000) = 0x8133000
brk(0x8135000) = 0x8135000
brk(0x8137000) = 0x8137000
brk(0x8139000) = 0x8139000
brk(0x813b000) = 0x813b000
brk(0x813d000) = 0x813d000
brk(0x813f000) = 0x813f000
brk(0x8141000) = 0x8141000
brk(0x8143000) = 0x8143000
brk(0x8145000) = 0x8145000
brk(0x8147000) = 0x8147000
lseek(18, 8192, SEEK_SET) = 8192
read(18, "\1\0\0\0\336\17\0\0\"0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0\0\0"..., 4096) = 4096
lseek(18, 12295, SEEK_SET) = 12295
read(18, "mail.mng.ch1", 12) = 12
open("/etc/courier/defaultdomain", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/courier/me", O_RDONLY) = 19
fstat64(19, {st_mode=S_IFREG|0644, st_size=12, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2e0000
read(19, "mail.mng.ch\n", 4096) = 12
close(19) = 0
munmap(0x2e0000, 4096) = 0
lseek(17, 12288, SEEK_SET) = 12288
read(17, "mng.ch1", 7) = 7
access("/etc/courier/locallowercase", F_OK) = 0
open("/etc/courier/authmodulelist", O_RDONLY) = 19
read(19, "authdaemon\n", 8192) = 11
close(19) = 0
socket(PF_UNIX, SOCK_STREAM, 0) = 19
fcntl64(19, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
connect(19, {sin_family=AF_UNIX, path="/var/run/courier/authdaemon/socket"}, 110) = 0
fcntl64(19, F_SETFL, O_RDONLY) = 0
select(20, NULL, [19], NULL, {15, 0}) = 1 (out [19], left {15, 0})
write(19, "PRE . courier [EMAIL PROTECTED]\n", 26) = 26
time([1045514329]) = 1045514329
time([1045514329]) = 1045514329
select(20, [19], NULL, NULL, {15, 0}) = 1 (in [19], left {15, 0})
read(19, "[EMAIL PROTECTED]\nUID=1100\nGID=1100\nHOME=/var/vmail/mng.ch/test/\[EMAIL PROTECTED]\nMAILDIR=/var/vmail/mng.ch/test/\nQUOTA=10000000S\n.\n", 8191) = 138
time([1045514329]) = 1045514329
select(20, [19], NULL, NULL, {15, 0}) = 1 (in [19], left {15, 0})
read(19, "", 8053) = 0
close(19) = 0
brk(0x8148000) = 0x8148000
--- SIGSEGV (Segmentation fault) ---
charon:/home/arska/traces#

the mail which actually triggered this process is:
charon:/home/arska# cat killmail
To: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
From: Servertest <[EMAIL PROTECTED]>
Subject: test

tescht

and 'sendmail < killmail' did it..

BTW: all mails, which triggered this behaviour, had both @mng.ch (hosteddomain) and external adresses as recipients, but the @mng.ch were not at the beginning. If the @mng.ch -addresses were moved to the beginning of the recipient list, courier sent the message without problems.. uh-oh..

Well, I hope Sam (or anybody else) can find out why the child process segfaulted.

Thanks in advance,
Aarno
--


Aarno Aukia - [EMAIL PROTECTED] - Z�rich, Switzerland
Aa


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to