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