Bug#413464: exim4-config: update-exim4.conf crash when invoked by whereami at boot

Olivier Berger olivier.berger at int-evry.fr
Mon Mar 5 14:51:42 CET 2007


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 <olivier.berger at int-evry.fr>
Ingénieur Recherche - Dept INF
INT Evry (http://www.int-evry.fr)
OpenPGP-Id: 1024D/6B829EEC







More information about the Pkg-exim4-maintainers mailing list