Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Apr 2001 09:07:34 +1200
From:      "Juha Saarinen" <juha@saarinen.org>
To:        "Freebsd-Stable@Freebsd. Org" <freebsd-stable@freebsd.org>
Subject:   Exim 3.22 segfaults under 4.3-STABLE
Message-ID:  <KPECIILENDDLPCNIMLOFKENKCCAA.juha@saarinen.org>

next in thread | raw e-mail | index | archive | help
Got a problem with Exim 3.22 here, built from a freshly cvsup'ed ports
collection. All attempts at starting it are met with:

Segmentation fault.

Apr 30 09:01:47 lists /kernel: pid 86382 (exim), uid 0: exited on signal 11

This is with simple configure files that work on other boxes running
4.2-STABLE and Exim 3.20.

I commented out the lines that build X in the port Makefile:

# If WITHOUT_X11 is not defined, the eximon monitor, which requires X, will
# be built. Comment it out unless you have or want XFree86 installed!
#.if !defined(WITHOUT_X11)
#USE_XLIB=      yes
#.endif

No compiler opts, and Exim built without errors.

One difference is that the segfaulting version of Exim is linked against the
re-entrant version of libc:

# ldd /usr/local/sbin/exim
/usr/local/sbin/exim:
        libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x280d9000)
        libwrap.so.3 => /usr/lib/libwrap.so.3 (0x280ee000)
        libperl.so.3 => /usr/lib/libperl.so.3 (0x280f6000)
        libm.so.2 => /usr/lib/libm.so.2 (0x28194000)
        libc.so.4 => /usr/lib/libc.so.4 (0x281b0000)
        libc_r.so.4 => /usr/lib/libc_r.so.4 (0x28248000)
        libutil.so.3 => /usr/lib/libutil.so.3 (0x282fe000)

... whereas the working ones aren't.

I ran ktrace/kdump, and this is what it shows towards the end when the
program segfaults:

######################################################################
        #                      REWRITE CONFIGURATION
#

######################################################################

        # There are no rewriting specifications in this default
configuration file.

        # End of Exim configuration file
       "
 80123 exim     RET   read 5728/0x1660
 80123 exim     CALL  read(0x5,0x80dc000,0x2000)
 80123 exim     GIO   fd 5 read 0 bytes
       ""
 80123 exim     RET   read 0
 80123 exim     CALL  close(0x5)
 80123 exim     RET   close 0
 80123 exim     CALL  geteuid
 80123 exim     RET   geteuid 0
 80123 exim     CALL  stat(0x2822b428,0xbfbff350)
 80123 exim     NAMI  "/etc/spwd.db"
 80123 exim     RET   stat 0
 80123 exim     CALL  open(0x2822b428,0,0)
 80123 exim     NAMI  "/etc/spwd.db"
 80123 exim     RET   open 5
 80123 exim     CALL  fcntl(0x5,0x2,0x1)
 80123 exim     RET   fcntl 0
 80123 exim     CALL  read(0x5,0x80dc000,0x104)
 80123 exim     GIO   fd 5 read 260 bytes

"\0\^F\^Ua\0\0\0\^B\0\0\^D\M-R\0\0\^P\0\0\0\0\f\0\0\^A\0\0\0\^A\0\0\0\0\b\0\
0\0\^C\0\0\0\^B\0\0\0\a\0\0\0\^O\0\0\0\a\0\0\
        \0
\0\0\08\0\0\0\^A\M^Un}\M-c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^D\0\0\0\^D\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\

\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\

\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^X\^A\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
        \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
 80123 exim     RET   read 260/0x104
 80123 exim     CALL  lseek(0x5,0,0x4000,0,0)
 80123 exim     RET   lseek 16384/0x4000
 80123 exim     CALL  read(0x5,0x80dd000,0x1000)
 80123 exim     GIO   fd 5 read 4096 bytes

Whole lot of '\0\'s snipped, plus what looks like the contents of
/etc/passwd

 80123 exim     RET   read 4096/0x1000
 80123 exim     CALL  close(0x5)
 80123 exim     RET   close 0
 80123 exim     CALL  close(0xffffffff)
 80123 exim     RET   close -1 errno 9 Bad file descriptor
 80123 exim     CALL  close(0)
 80123 exim     RET   close 0
 80123 exim     CALL  close(0x1)
 80123 exim     RET   close 0
 80123 exim     CALL  close(0x2)
 80123 exim     RET   close 0
 80123 exim     CALL  getppid
 80123 exim     RET   getppid 33787/0x83fb
 80123 exim     CALL  fork
 80123 exim     RET   fork 80124/0x138fc
 80123 exim     CALL  sigprocmask(0x1,0x280cfb80,0xbfbff1c0)
 80123 exim     RET   sigprocmask 0
 80123 exim     CALL  sigprocmask(0x3,0x280cfb90,0)
 80123 exim     RET   sigprocmask 0
 80123 exim     CALL  setitimer(0x2,0xbfbff1e0,0)
 80123 exim     RET   setitimer 0
 80123 exim     CALL  close(0x3)
 80123 exim     RET   close 0
 80123 exim     CALL  close(0x4)
 80123 exim     RET   close 0
 80123 exim     CALL  fcntl(0,0x3,0)
 80123 exim     RET   fcntl -1 errno 9 Bad file descriptor
 80123 exim     PSIG  SIGSEGV SIG_DFL


Have asked about this on the Exim list as well... any help would be most
welcome.

--
Juha

The malformed orange
Fails to satisfy the eye:
Segmentation fault.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?KPECIILENDDLPCNIMLOFKENKCCAA.juha>