Hi. I will try that, and in the meantime, here are strace logs from the crashing situation :
open("/var/lib/exim4/config.autogenerated.tmp", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0640, st_size=19489, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ef7000 read(3, "#########\n# WARNING WARNING WARN"..., 4096) = 4096 read(3, "N_TLS_VERIFY_HOSTS\n.endif\n\n.ifnd"..., 4096) = 4096 uname({sys="Linux", node="inf-berger", ...}) = 0 gettimeofday({1173096336, 899442}, NULL) = 0 open("/etc/resolv.conf", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=217, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ef6000 read(4, "# Dynamic resolv.conf(5) file fo"..., 4096) = 217 read(4, "", 4096) = 0 close(4) = 0 munmap(0xb7ef6000, 4096) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0 poll([{fd=4, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 writev(4, [{"\2\0\0\0\r\0\0\0\6\0\0\0", 12}, {"hosts\0", 6}], 2) = 18 poll([{fd=4, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 recvmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{"hosts\0", 6}], msg_controllen=16, {cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {5}}, msg_flags=0}, MSG_NOSIGNAL)\ = 6 fstat64(5, {st_mode=S_IFREG|0600, st_size=217016, ...}) = 0 pread64(5, "\1\0\0\0h\0\0\0v7\0\0\1\0\0\0\205\7\354E\0\0\0\0\323\0"..., 104, 0) = 104 mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 5, 0) = 0xb7aa5000 close(5) = 0 close(4) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ Process 3817 detached compared to later when it won't crash : open("/var/lib/exim4/config.autogenerated.tmp", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0640, st_size=19489, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f3c000 read(3, "#########\n# WARNING WARNING WARN"..., 4096) = 4096 open("/etc/passwd", O_RDONLY) = 4 fcntl64(4, F_GETFD) = 0 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 _llseek(4, 0, [0], SEEK_CUR) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=1951, ...}) = 0 mmap2(NULL, 1951, PROT_READ, MAP_SHARED, 4, 0) = 0xb7f3b000 _llseek(4, 1951, [1951], SEEK_SET) = 0 munmap(0xb7f3b000, 1951) = 0 close(4) = 0 read(3, "N_TLS_VERIFY_HOSTS\n.endif\n\n.ifnd"..., 4096) = 4096 uname({sys="Linux", node="inf-berger", ...}) = 0 gettimeofday({1173096627, 273402}, NULL) = 0 open("/etc/resolv.conf", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=217, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f3b000 read(4, "# Dynamic resolv.conf(5) file fo"..., 4096) = 217 read(4, "", 4096) = 0 close(4) = 0 munmap(0xb7f3b000, 4096) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ECONNREFUSED (Connection refused) close(4) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ECONNREFUSED (Connection refused) close(4) = 0 open("/etc/host.conf", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=9, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f3b000 read(4, "multi on\n", 4096) = 9 read(4, "", 4096) = 0 close(4) = 0 munmap(0xb7f3b000, 4096) = 0 open("/etc/hosts", O_RDONLY) = 4 fcntl64(4, F_GETFD) = 0 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=593, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f3b000 read(4, "127.0.0.1 inf-berger.int-evry.fr"..., 4096) = 593 read(4, "", 4096) = 0 close(4) = 0 I tend to incriminate communication with nscd at resolv time somewhere there... but haven't a clear idea of the process at stake there... Maybe this can be a hint in waiting for more detailed log/backtrace, etc. Best regards, Le lundi 05 mars 2007 à 12:44 +0100, Marc Haber a écrit : > On Mon, Mar 05, 2007 at 10:36:43AM +0100, Olivier Berger wrote: > > I noticed a crash of update-exim4.conf when launched by > > /usr/share/whereami/actions/setmailrelay : > > > > /usr/sbin/update-exim4.conf: line 455: 3787 Segmentation fault > > "${EXIM}" -C "${UPEX4C_outputfile}.tmp" -bV >/dev/null > > If you can provoke exim crashing at > exim -C /var/lib/exim4/config.autogenerated.tmp, please install > exim4-dbg and the -dbg package corresponding to your installed daemon, > and try to obtain a backtrace of exim crashing. > > Greetings > Marc > -- Olivier BERGER <[EMAIL PROTECTED]> Ingénieur Recherche - Dept INF INT Evry (http://www.int-evry.fr) OpenPGP-Id: 1024D/6B829EEC