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 <br...@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. -- Greg.