Build failed in Jenkins: cyrus-imapd-master #402
gnb at fastmail.fm
Mon Feb 20 19:24:14 EST 2012
On Mon, Feb 20, 2012, at 04:14 PM, Jeroen van Meeuwen (Kolab Systems) wrote:
> On 2012-02-20 11:44, Greg Banks wrote:
> > Sent from my iPhone
> > On 20/02/2012, at 19:13, Bron Gondwana <brong at fastmail.fm> wrote:
> >> On Mon, Feb 20, 2012 at 07:00:52PM +1100, Greg Banks wrote:
> >>> 4) Cassandane sometimes leaves master and lemming processes lying
> >>> around. I haven't
> >>> been able to reproduce that problem, although I have "solved" it
> >>> several times before.
> >>> Those leaked processes are never cleaned up and hog the TCP ports
> >>> that Cassandane
> >>> expects to be able to use, causing subsequent Cassandane runs to
> >>> fail spuriously. I'm
> >>> not entirely sure of the best way to address this, but I'm
> >>> thinking of something like a
> >>> sledgehammer which kills all processes running as the "cyrus"
> >>> userid.
> >> My 'cyrus-devtools' scripts use a sledgehammer that looks for the
> >> -C option that I set on all my processes.
> > Yeah, I could identify master processes started by Cassandane, and
> > service processes started by those masters, by looking for -C
> > options.
> > I might make --cleanup do that.
> There's also the opportunity to have Jenkins execute a 'sudo pkill -9
> -u cyrus' at the start of a run, perhaps?
This is what I do manually on my box when I see that happen. It's easy
and it deals with the case of a test forking off processes which don't have
Cyrus -C arguments in their commandlines, but it will shut down any
running production servers on the same machine, which is a nasty little
landmine to be leaving other people to trip over.
More information about the Cyrus-devel