Hi I have cyrus-imapd 2.2.3 with SASL 2.1.17 on Solaris 9 sparc.
After installing the latest Solaris patches cyrus master will not start any longer, but segfaults without dumping core. I have recompiled every lib that cyrus is linked with (ssl, berkdb, sasl), and I have of course recompiled cyrus-imap - to no avail. None of the other self-compiled programs show the problem (mysql, sendmail, apache, sshd, openssl ...) Below are the last lines of "truss -f /usr/cyrus/bin/master". This ends in the segfault. The complete output can be found at http://markus.wernig.net/en/cyrstart.truss.txt. BUT: If I start master with "sotruss /usr/cyrus/bin/master", it does not segfault, and I can even connect to all ports and sockets !!! I am a bit at a loss with this. What does sotruss do? To my understanding it's a shell script that sets some environment variables for LD and then runs the program, relying on ld producing the output. BTW ldd shows that master is not linked against sasl dynamically. Is this what you'd expect? ldd /usr/cyrus/bin/master libdl.so.1 => /usr/lib/libdl.so.1 libresolv.so.2 => /usr/lib/libresolv.so.2 libsocket.so.1 => /usr/lib/libsocket.so.1 libnsl.so.1 => /usr/lib/libnsl.so.1 libdb-4.1.so => /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so libssl.so.0.9.7 => /usr/local/lib/libssl.so.0.9.7 libcrypto.so.0.9.7 => /usr/local/lib/libcrypto.so.0.9.7 libc.so.1 => /usr/lib/libc.so.1 libmp.so.2 => /usr/lib/libmp.so.2 libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 /usr/platform/SUNW,UltraSPARC-IIi-cEngine/lib/libc_psr.so.1 I'm grateful for every hint on this. TIA /markus 3451: sysconfig(_CONFIG_NGROUPS) = 16 3451: open("/etc/default/nss", O_RDONLY|O_LARGEFILE) = 40 3451: fcntl(40, F_DUPFD, 0x00000100) = 256 3451: close(40) = 0 3451: read(256, " # i d e n t\t " @ ( #".., 1024) = 749 3451: read(256, 0x0003DE08, 1024) = 0 3451: close(256) = 0 3451: stat("/usr/local/lib/nss_files.so.1", 0xFFBFECD4) Err#2 ENOENT 3451: stat("/usr/local/BerkeleyDB.4.1/lib/nss_files.so.1", 0xFFBFECD4) Err#2 ENOENT 3451: stat("/usr/lib/sasl2/nss_files.so.1", 0xFFBFECD4) Err#2 ENOENT 3451: stat("/usr/lib/nss_files.so.1", 0xFFBFECD4) = 0 3451: open("/etc/group", O_RDONLY) = 40 3451: fstat64(40, 0xFFBFF278) = 0 3451: brk(0x00040DE0) = 0 3451: brk(0x00042DE0) = 0 3451: fstat64(40, 0xFFBFF120) = 0 3451: ioctl(40, TCGETA, 0xFFBFF204) Err#25 ENOTTY 3451: read(40, " r o o t : : 0 : r o o t".., 8192) = 387 3451: read(40, 0x0003EE74, 8192) = 0 3451: llseek(40, 0, SEEK_CUR) = 387 3451: close(40) = 0 3451: setgroups(1, 0x0003DDC0) = 0 3451: setgid(25) = 0 3451: setuid(5002) = 0 3451: time() = 1075823457 3451: fstat(6, 0xFFBFF7A0) = 0 3451: time() = 1075823457 3451: Incurred fault #6, FLTBOUNDS %pc = 0xFEEC45A8 3451: siginfo: SIGSEGV SEGV_MAPERR addr=0xFFC00460 3451: Received signal #11, SIGSEGV [default] 3451: siginfo: SIGSEGV SEGV_MAPERR addr=0xFFC00460