Build failed in Jenkins: cyrus-imapd-master #1069
Greg Banks
gnb at fastmail.fm
Tue Feb 12 21:08:19 EST 2013
On Mon, Jan 7, 2013, at 09:13 AM, Jenkins wrote:
> See <http://ci.cyrusimap.org/job/cyrus-imapd-master/1069/>
>
> ------------------------------------------
> [...truncated 4455 lines...]
> + '[' -d .git ']'
> ++ git ls-files
> ++ wc -l
> + nfiles=99
> + '[' 99 -gt 0 ']'
> + git ls-files -o
> broken.log
> cass.errs
> cassandane.ini
> coverage.xml
> e.fpl
> errs
> errs2
> find-process-leak.sh
> reports.old/TEST-Cassandane.Cyrus.Annotator.xml
> reports.old/TEST-Cassandane.Cyrus.Bug3072.xml
> reports.old/TEST-Cassandane.Cyrus.Bug3463.xml
> reports.old/TEST-Cassandane.Cyrus.Bug3470.xml
> reports.old/TEST-Cassandane.Cyrus.Bug3649.xml
> reports.old/TEST-Cassandane.Cyrus.Delete.xml
> reports.old/TEST-Cassandane.Cyrus.Delivery.xml
> reports.old/TEST-Cassandane.Cyrus.Fetch.xml
> reports.old/TEST-Cassandane.Cyrus.Flags.xml
> reports.old/TEST-Cassandane.Cyrus.Idle.xml
> reports.old/TEST-Cassandane.Cyrus.Info.xml
> reports.old/TEST-Cassandane.Cyrus.Lsub.xml
> reports.old/TEST-Cassandane.Cyrus.Master.xml
> reports.old/TEST-Cassandane.Cyrus.Metadata.xml
> reports.old/TEST-Cassandane.Cyrus.Nntp.xml
> reports.old/TEST-Cassandane.Cyrus.Pop3.xml
> reports.old/TEST-Cassandane.Cyrus.Quota.xml
> reports.old/TEST-Cassandane.Cyrus.Rename.xml
> reports.old/TEST-Cassandane.Cyrus.Replication.xml
> reports.old/TEST-Cassandane.Cyrus.Search.xml
> reports.old/TEST-Cassandane.Cyrus.Sieve.xml
> reports.old/TEST-Cassandane.Cyrus.Simple.xml
> reports.old/TEST-Cassandane.Test.Address.xml
> reports.old/TEST-Cassandane.Test.Cassini.xml
> reports.old/TEST-Cassandane.Test.Clone.xml
> reports.old/TEST-Cassandane.Test.Config.xml
> reports.old/TEST-Cassandane.Test.DateTime.xml
> reports.old/TEST-Cassandane.Test.Message.xml
> reports.old/TEST-Cassandane.Test.MessageStoreFactory.xml
> reports.old/TEST-Cassandane.Test.Metronome.xml
> reports.old/TEST-Cassandane.Test.Sample.xml
> reports/TEST-Cassandane.Cyrus.Annotator.xml
> reports/TEST-Cassandane.Cyrus.Bug3072.xml
> reports/TEST-Cassandane.Cyrus.Bug3463.xml
> reports/TEST-Cassandane.Cyrus.Bug3470.xml
> reports/TEST-Cassandane.Cyrus.Bug3649.xml
> reports/TEST-Cassandane.Cyrus.Delete.xml
> reports/TEST-Cassandane.Cyrus.Delivery.xml
> reports/TEST-Cassandane.Cyrus.Fetch.xml
> reports/TEST-Cassandane.Cyrus.Flags.xml
> reports/TEST-Cassandane.Cyrus.Idle.xml
> reports/TEST-Cassandane.Cyrus.Info.xml
> reports/TEST-Cassandane.Cyrus.Lsub.xml
> reports/TEST-Cassandane.Cyrus.Master.xml
> reports/TEST-Cassandane.Cyrus.Metadata.xml
> reports/TEST-Cassandane.Cyrus.Nntp.xml
> reports/TEST-Cassandane.Cyrus.Pop3.xml
> reports/TEST-Cassandane.Cyrus.Quota.xml
> reports/TEST-Cassandane.Cyrus.Rename.xml
> reports/TEST-Cassandane.Cyrus.Replication.xml
> reports/TEST-Cassandane.Cyrus.Search.xml
> reports/TEST-Cassandane.Cyrus.Sieve.xml
> reports/TEST-Cassandane.Cyrus.Simple.xml
> reports/TEST-Cassandane.Test.Address.xml
> reports/TEST-Cassandane.Test.Cassini.xml
> reports/TEST-Cassandane.Test.Clone.xml
> reports/TEST-Cassandane.Test.Config.xml
> reports/TEST-Cassandane.Test.DateTime.xml
> reports/TEST-Cassandane.Test.Message.xml
> reports/TEST-Cassandane.Test.MessageStoreFactory.xml
> reports/TEST-Cassandane.Test.Metronome.xml
> reports/TEST-Cassandane.Test.Sample.xml
> utils/gdbtramp
> utils/gdbtramp.o
> utils/lemming
> utils/lemming.o
> working.log
> + git status
> # On branch master
> # Untracked files:
> # (use "git add <file>..." to include in what will be committed)
> #
> # broken.log
> # coverage.xml
> # e.fpl
> # errs
> # errs2
> # find-process-leak.sh
> # working.log
> nothing added to commit but untracked files present (use "git add" to
> track)
> + make
> make[1]: Entering directory
> `<http://ci.cyrusimap.org/job/cyrus-imapd-master/ws/cassandane/utils'>
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory
> `<http://ci.cyrusimap.org/job/cyrus-imapd-master/ws/cassandane/utils'>
> testrunner.pl syntax OK
> Cassandane/ThreadedGenerator.pm syntax OK
> Cassandane/Config.pm syntax OK
> Cassandane/MasterEntry.pm syntax OK
> Cassandane/Cyrus/Quota.pm syntax OK
> Cassandane/Cyrus/Delivery.pm syntax OK
> Cassandane/Cyrus/Conversations.pm syntax OK
> Cassandane/Cyrus/Rename.pm syntax OK
> Cassandane/Cyrus/Bug3463.pm syntax OK
> Cassandane/Cyrus/Fetch.pm syntax OK
> Cassandane/Cyrus/Bug3470.pm syntax OK
> Cassandane/Cyrus/Delete.pm syntax OK
> Cassandane/Cyrus/Pop3.pm syntax OK
> Cassandane/Cyrus/Metadata.pm syntax OK
> Cassandane/Cyrus/Info.pm syntax OK
> Cassandane/Cyrus/Nntp.pm syntax OK
> Cassandane/Cyrus/Bug3649.pm syntax OK
> Cassandane/Cyrus/TestCase.pm syntax OK
> Cassandane/Cyrus/Sieve.pm syntax OK
> Cassandane/Cyrus/Replication.pm syntax OK
> Cassandane/Cyrus/Master.pm syntax OK
> Cassandane/Cyrus/Flags.pm syntax OK
> Cassandane/Cyrus/Lsub.pm syntax OK
> Cassandane/Cyrus/Idle.pm syntax OK
> Cassandane/Cyrus/Bug3072.pm syntax OK
> Cassandane/Cyrus/Search.pm syntax OK
> Cassandane/Cyrus/Annotator.pm syntax OK
> Cassandane/Cyrus/Simple.pm syntax OK
> Cassandane/Test/Config.pm syntax OK
> Cassandane/Test/Sample.pm syntax OK
> Cassandane/Test/Message.pm syntax OK
> Cassandane/Test/DateTime.pm syntax OK
> Cassandane/Test/MessageStoreFactory.pm syntax OK
> Cassandane/Test/Metronome.pm syntax OK
> Cassandane/Test/Clone.pm syntax OK
> Cassandane/Test/Address.pm syntax OK
> Cassandane/Test/Cassini.pm syntax OK
> Cassandane/Instance.pm syntax OK
> Cassandane/Message.pm syntax OK
> Cassandane/POP3MessageStore.pm syntax OK
> Cassandane/SequenceGenerator.pm syntax OK
> Cassandane/PortManager.pm syntax OK
> Cassandane/IMAPService.pm syntax OK
> Cassandane/MessageStoreFactory.pm syntax OK
> Cassandane/IMAPMessageStore.pm syntax OK
> Cassandane/MaildirMessageStore.pm syntax OK
> Cassandane/Unit/SyslogListener.pm syntax OK
> Cassandane/Unit/RunnerPretty.pm syntax OK
> Cassandane/Unit/RunnerXML.pm syntax OK
> Cassandane/Unit/TestCase.pm syntax OK
> Cassandane/Unit/TestPlan.pm syntax OK
> Cassandane/Unit/Runner.pm syntax OK
> Cassandane/MessageStore.pm syntax OK
> Cassandane/Generator.pm syntax OK
> Cassandane/ServiceFactory.pm syntax OK
> Cassandane/Address.pm syntax OK
> Cassandane/MboxMessageStore.pm syntax OK
> Cassandane/Service.pm syntax OK
> Cassandane/Util/SHA.pm syntax OK
> Cassandane/Util/Sample.pm syntax OK
> Cassandane/Util/Wait.pm syntax OK
> Cassandane/Util/DateTime.pm syntax OK
> Cassandane/Util/Words.pm syntax OK
> Cassandane/Util/Setup.pm syntax OK
> Cassandane/Util/Metronome.pm syntax OK
> Cassandane/Util/Log.pm syntax OK
> Cassandane/Util/NetString.pm syntax OK
> Cassandane/Util/Socket.pm syntax OK
> Cassandane/MasterEvent.pm syntax OK
> Cassandane/Cassini.pm syntax OK
> Cassandane/MasterStart.pm syntax OK
> + sed -e 's|^##destdir =.*$|destdir =
> <http://ci.cyrusimap.org/job/cyrus-imapd-master/ws/inst|'> -e
> 's|^##pwcheck = .*$|pwcheck = sasldb|'
> + rm -rf reports.old
> + mv -f reports reports.old
> + mkdir -m 0777 reports
> + ./testrunner.pl --cleanup -f xml -v
> + exitcode=1
> + '[' -x jenkins-xml-summary.pl ']'
> + ./jenkins-xml-summary.pl
> --build-url=http://ci.cyrusimap.org/job/cyrus-imapd-master/1069/
> Test failures and errors summary
> ================================
>
> Cassandane::Cyrus::Nntp.cve_2011_3208_newnews
> http://ci.cyrusimap.org/job/cyrus-imapd-master/1069//testReport/%28root%29/Cassandane__Cyrus__Nntp/test_cve_2011_3208_newnews/
Error Message
Perl exception: Cannot shut down master pid 28883
Stacktrace
test_cve_2011_3208_newnews(Cassandane::Cyrus::Nntp)
Perl exception: Cannot shut down master pid 28883
at Cassandane/Instance.pm line 831
Cassandane::Instance::stop('Cassandane::Instance=HASH(0x18d313c0)')
called at Cassandane/Cyrus/TestCase.pm line 267
Cassandane::Cyrus::TestCase::tear_down('Cassandane::Cyrus::Nntp=HASH(0x18490550)')
called at Cassandane/Cyrus/Nntp.pm line 83
Cassandane::Cyrus::Nntp::tear_down('Cassandane::Cyrus::Nntp=HASH(0x18490550)')
called at /usr/lib/perl5/vendor_perl/5.8.8/Test/Unit/TestCase.pm
line 65
What happened here is most likely:
* the Cassandane Perl code initiated shutdown by sending SIGTERM to the
master process
* the Perl code waits, for up to 20 sec
* master resent the signal to it's process group
* master waits (with no timeout) to be notified of the graceful exit of
its children via SIGCHLD
* but a child (in this case, probably the imapd that was used to issue
admin commands to set up the instance at the start of the test) failed
to notice the SIGTERM and never died
* eventually the Perl code wakes up and notices that the master process
has not exited
* the Perl code wreaks terrible vengeance with SIGILL or SIGKILL and
reports the test failed.
I've recently fixed several Cyrus bugs which caused this class of
failure mode, commits
59b181c Also use signals_select() waiting for connection
10c21a1 Also use signals_select() in prot_*() functions
76f5e8e idle: close SIGTERM/select race
The rest of these were spurious cascading failures like
Error Message
Perl exception: Some process is already listening on 127.0.0.1:9107
which should be solved by Cassandane commit
468fbd9 Kill stray processes on test exit
--
Greg.
More information about the Cyrus-devel
mailing list