I have recently had some woes with my Cyrus daemon (2.4.17), and I have not been successful at troubleshooting it myself. I did a system update (Gentoo) 9 days ago, and ever since then Cyrus works for a bit and then dies with this in the logs: Aug 6 20:19:43 skull imaps[16458]: IOERROR: opening /var/imap/user_deny.db: No such file or directory Aug 6 20:19:43 skull imaps[16458]: accepted connection Aug 6 20:19:43 skull master[17776]: about to exec /usr/lib64/cyrus/imapd Aug 6 20:19:43 skull imaps[17776]: executed Aug 6 20:19:43 skull imaps[16458]: imapd:Loading hard-coded DH parameters Aug 6 20:19:43 skull imaps[16458]: EOF in SSL_accept() -> fail Aug 6 20:19:43 skull imaps[16458]: imaps TLS negotiation failed: [ipv6-address-here] Aug 6 20:19:43 skull imaps[16458]: Fatal error: tls_start_servertls() failed Aug 6 20:19:43 skull master[16810]: process 16458 exited, status 75 Aug 6 20:19:43 skull master[16810]: service imaps pid 16458 in BUSY state: terminated abnormally When this happens, none of my clients can connect to the server until I restart the service. Sometimes when I restart it, it will run for hours, sometimes only for minutes. I haven't been able to identify a specific activity that causes it to have this issue. The update did involve a rebuild of cyrus-imap-admin, I think due to a Perl update (or maybe it was an auto rebuild? I can't remember.) I can't think of why that would cause this, but it was the only obviously related package update. I can't think of what steps I can take to look into this in a more informative way. Searching for these error messages reveals many people with many different kinds of problems (and posts dating back for a decade!) so it is difficult to narrow down what my problem is. I have tried to raise maxchild to large values (100) and to unlimited (-1) and that does not resolve the issue. I tried the testing -r1 version as well as it had a segfault related patch, but the issue remains. I am at a loss as to how to get more information, so please feel free to ask for more details if you know how to get more information. This log message isn't very helpful, sadly. Reproducible: Always Steps to Reproduce: 1. Start cyrus 2. Wait some time between 0 minutes and ~12 hours. Actual Results: Observe the above message in the logs Expected Results: I expect Cyrus to continually work, both for accepting mail and allowing clients to read mail. $ emerge --info Portage 2.2.8-r1 (default/linux/amd64/13.0, gcc-4.7.3, glibc-2.19-r1, 3.14.14-gentoo x86_64) ================================================================= System uname: Linux-3.14.14-gentoo-x86_64-QEMU_Virtual_CPU_version_0.12-with-gentoo-2.2 KiB Mem: 1021640 total, 75836 free KiB Swap: 1060284 total, 1059920 free Timestamp of tree: Sun, 10 Aug 2014 22:00:01 +0000 ld GNU ld (Gentoo 2.23.2 p1.0) 2.23.2 app-shells/bash: 4.2_p45 dev-lang/python: 2.7.7, 3.3.5-r1 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.12.4 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.12.6, 1.13.4 sys-devel/binutils: 2.23.2 sys-devel/gcc: 4.7.3-r1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.13 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -fomit-frame-pointer -march=core2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=core2" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j -l5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" USE="64bit acl amd64 bash-completion berkdb bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 mmx modules multilib ncurses nls nptl offensive openmp pam pcre readline sasl session sse sse2 ssl symlink tcpd unicode zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="alias auth_digest authz_host cgi dir log_config logio mime rewrite ssl" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
I chose critical for severity, because when this happens it rejects mail and Postfix has to tell the sender that it can't accept (therefore, I'm losing data ☹)
I've also tried to start a thread with the upstream mailing list to see if they can help. So far there are no responses, but here's a link: http://asg.andrew.cmu.edu/archive/message.php?mailbox=archive.info-cyrus&msg=55357
I have been trying to get to the bottom of this issue for several days now, and I have learned that it may be an issue with the kernel I was using. I tried many things to get it to work and couldn't determine the problem. I wrote to the Cyrus mailing list, and I learned that these log messages just mean that the clients are hanging up the connection before finishing the SSL negotiations. I tried booting my previous kernel (3.12.21-gentoo-r1) and everything is working now. Can we reassign this bug to the kernel team?
I have another data point: I recently attempted to run my mail server with gentoo-sources-3.16.1 to see if that alleviates the problem. It still exibits the problematic behavior. This leads me to believe that perhaps there is some incompatibility between Cyrus and recent kernels. It's hard for me to know if this means it is a kernel or a Cyrus issue. I'm not sure what other tests I can perform to determine which software needs to be fixed.
can you please retry with 3.0.4 cyrus-imapd and current kernels? Thanks
Hello Pacho! I ended up migrating my mail server to use Dovecot on CentOS 7 since I was never able to resolve this issue and since it was pretty severe. Thus I am unable to easily perform testing any longer. Feel free to close if you think the issue is resolved!