Bug#643333: jack.plumbing fails badly in the face of its JACK 2 server vanishing
Jamie Heilman
jamie at audible.transient.net
Tue Sep 27 11:00:09 UTC 2011
Package: jack-tools
Version: 20101210-1
jack.plumbing behaves inconsistently depending the JACK client library
version it is running against, which unfortunately translates into
useless and annoying behavior when running against the JACK 2 libs.
Specifically, jack.plumbing (running *without* the -d flag) with the
JACK 1 client library will, upon death of the server, print out:
cannot read server event (Success)
cannot continue execution of the processing graph (Bad file descriptor)
jack_client_thread zombified - exiting from JACK
and the process will die. This is useful behavior, as it allows the
user to script a simple restart facilities (eg. using jack_wait). If,
however, jack.plumbing is running with the JACK 2 client library it
will, upon death of the server, print out:
JackSocketClientChannel read fail
and continue to run but cease to ever do any graph manipulations ever
again, until it's killed and restarted. This is not useful behavior,
and is a pretty crappy mode of failure. It'd be better if it died
when the JACK 2 server did, or failing that if it reconnected (or
whatever the appropriate nomenclature is in this case) if and when the
JACK 2 server came back (though I suspect that's just making the code
unnecessarily complex, and that bailing out is ultimately better).
You could, I suppose, argue this is a JACK 2 problem, and I don't know
enough about the planned ecology of JACK to really debate it, but
what's clear is that Debian allows jack-tools to be installed with
either jackd1 or jackd2 packages and that jack.plumbings's behavior
when jackd2 is installed is lame.
--
Jamie Heilman http://audible.transient.net/~jamie/
More information about the pkg-multimedia-maintainers
mailing list