Build failed in Jenkins: cyrus-imapd-master #420
Greg Banks
gnb at fastmail.fm
Wed Feb 29 00:05:59 EST 2012
On Tue, Feb 28, 2012, at 05:30 AM, Jenkins wrote:
> See <http://ci.cyrusimap.org/job/cyrus-imapd-master/420/changes>
>
> Changes:
>
> [gnb] Bug 3648 - lib/signals.c handles multiple signals
>
> [gnb] Bug 3648 - master handles SIGQUIT synchronously
>
> [gnb] master: don't busyloop after SIGQUIT
>
> [gnb] Remove unused dead definitions of printstring()
>
> [gnb] autobuild.sh: show any leaked processes
>
> [gnb] cyr_expire: better signal handling
>
> [gnb] idled: better signal handling
>
> [gnb] lib/signals.c: better signal handling
>
> [gnb] Bug 3100 master: handle SIGTERM synchronously
>
> ------------------------------------------
> [...truncated 2175 lines...]
> http://ci.cyrusimap.org/job/cyrus-imapd-master/420//testReport/%28root%29/Cassandane__Cyrus__Metadata/test_msg_sort_search/
>
> Cassandane::Cyrus::Metadata.permessage_getset
> http://ci.cyrusimap.org/job/cyrus-imapd-master/420//testReport/%28root%29/Cassandane__Cyrus__Metadata/test_permessage_getset/
>
> [...]
>
> 163 run, 1 failures, 110 errors
> + ps -u cyrus
> PID TTY TIME CMD
> 30355 ? 00:00:00 imapd
> 31085 ? 00:00:00 imapd
> 31209 ? 00:00:00 master
> 31254 ? 00:00:00 master
> 31399 ? 00:00:00 imapd
> 31400 ? 00:00:00 imapd
> 31451 ? 00:00:00 imapd
> 31452 ? 00:00:00 imapd
> 31460 ? 00:00:00 master
> 31466 ? 00:00:00 imapd
> 31474 ? 00:00:00 master
> 31480 ? 00:00:00 imapd
So what happened here is that my commit "lib/signals.c: better signal handling"
wasn't quite right; it installed a handler for SIGTERM but with the SA_RESTART
sigaction flag, which causes the main idle loop to silently restart the select() call
instead of failing with EINTR, which means imapd never notices that master is
telling it to shut down gracefully. Woops. Fixed in
http://git.cyrusimap.org/cyrus-imapd/commit/?id=079c745f1ed60784c8567540a11c0947712b0fbd
--
Greg.
More information about the Cyrus-devel
mailing list