Build failed in Jenkins: cyrus-imapd-master #478

Greg Banks gnb at fastmail.fm
Tue Mar 27 17:50:41 EDT 2012



On Tue, Mar 27, 2012, at 05:08 AM, Jenkins wrote:
> See <http://ci.cyrusimap.org/job/cyrus-imapd-master/478/changes>
> 
> Changes:
> 
> [gnb] idle: whitespace cleanup
> 
> [gnb] idle: rename messages IDLE_FOO -> IDLE_MSG_FOO
> 
> [gnb] idle: remove "freelist" ientry memory management
> 
> [gnb] idle: some const correctness
> 
> [gnb] idle: better function names in idled
> 
> [gnb] idle: rename idle_data_t -> idle_message_t
> 
> [gnb] idle: move message send/recv into a common file
> 
> [gnb] idle: centralise AF_UNIX socket creation
> 
> [gnb] idle: rename notify_sock -> idle_sock
> 
> [gnb] idle: unlink local AF_UNIX socket when done
> 
> [gnb] idle: don't use signals, use AF_UNIX dgrams
> 
> [gnb] Remove unused variable shutdownfilename[]
> 
> [gnb] idled: use library function shutdown_file()
> [...]
> Test failures and errors summary
> ================================
> 
> Cassandane::Cyrus::Idle.basic_abortedidled
>     http://ci.cyrusimap.org/job/cyrus-imapd-master/478//testReport/%28root%29/Cassandane__Cyrus__Idle/test_basic_abortedidled/
> 
> Cassandane::Cyrus::Idle.delivery_noidled
>     http://ci.cyrusimap.org/job/cyrus-imapd-master/478//testReport/%28root%29/Cassandane__Cyrus__Idle/test_delivery_noidled/
> 
> Cassandane::Cyrus::Idle.shutdownfile_abortedidled
>     http://ci.cyrusimap.org/job/cyrus-imapd-master/478//testReport/%28root%29/Cassandane__Cyrus__Idle/test_shutdownfile_abortedidled/
> 
> Cassandane::Cyrus::Idle.delivery_abortedidled
>     http://ci.cyrusimap.org/job/cyrus-imapd-master/478//testReport/%28root%29/Cassandane__Cyrus__Idle/test_delivery_abortedidled/
> 
> Cassandane::Cyrus::Idle.basic_noidled
>     http://ci.cyrusimap.org/job/cyrus-imapd-master/478//testReport/%28root%29/Cassandane__Cyrus__Idle/test_basic_noidled/

Woops, my bad.

Core was generated by
`/var/lib/jenkins/jobs/cyrus-imapd-master/workspace/inst/usr/cyrus/bin/imapd
-C'.
Program terminated with signal 7, Bus error.
#0  0x00000000004af76d in idle_wait (otherfd=0) at idle.c:211
211             if (r > 0 && FD_ISSET(idle_get_sock(), &rfds)) {
(gdb) bt
#0  0x00000000004af76d in idle_wait (otherfd=0) at idle.c:211
#1  0x000000000041579d in cmd_idle (tag=0x1e111e40 "3") at imapd.c:2774
#2  0x000000000040e449 in cmdloop () at imapd.c:1510
#3  0x000000000040ae18 in service_main (argc=1, argv=0x1e1075a0, 
    envp=0x7fff99b353a8) at imapd.c:925
#4  0x0000000000408f03 in main (argc=3, argv=0x7fff99b35388, 
    envp=0x7fff99b353a8) at service.c:571
(gdb) p r
$1 = 1
(gdb) p rfds
$2 = {__fds_bits = {1, 0 <repeats 15 times>}}
(gdb) p idle_sock
$3 = -1

Unsurprisingly, FD_ISSET(-1, fdset) is wrong.  What is surprising is
that it ran just fine and didn't even trigger a Valgrind error in my
development environment :(  Fixed in

http://git.cyrusimap.org/cyrus-imapd/commit/?id=60282ea9432679014ce0daa53473ded474b56a14


-- 
Greg.


More information about the Cyrus-devel mailing list