Jack Zombification

I have a problem Ardour 5.3 causing Jack zombifications in AVL2016.8. The zombiefications are semi-tolerable because they can be fixed by reconnecting to Jack within Ardour, but obviously I’d prefer to be rid of them.

Primarily I use Ardour as a virtual instrument host for live play which I’ve done for years and which typically has worked rather well. I load a variety of samples (gigasample/SFZ/sf2) and run some synths, also effect plugins, reverb bus, etc. I select between different instruments with the green midi enable button on the track. I like this set up because its and “all-in-one” setup with Ardour remembering all the connections, instruments, plugins.

My hardware is a Focusrite Saffire Pro24 (firewire) run with FFADO. I run jack at 48kHz/256 frames/3 periods which is 16ms latency.

What happens is that Ardour has a zombification when started, possibly associated with loading large sample libraries.

Durng play I get occasional zombifications some random and others associated with specific actions like changing Zebra2 presets. A few of these I can tolerate, but sometimes they occur in rapid succession.

First what is zombification? It is some sort of disconnection from the Jack server, but it is not associated with high DSP or with xruns. DSP is typically between 20-30%, and I get 0 xruns, even in multiple zombifications and reconnections.

In contrast kxstudio 14.04 running on same hardware (dual boot) never zombifies, but gets occasional xruns, which often cause rather large audio glitches lasting perhaps 1 second.

Any ideas what might be causing these zombifications?

zombification by JACK means that the client (ardour, in this case) did not execute its process() callback (where all audio & MIDI processing takes place) in time. To preserve the integrity of other (possible) JACK clients and to prevent continuing clicking in the audio stream, JACK disconnects a client that has failed to meet this deadline.

Generally this is caused by choosing audio hardware parameters that your system is incapable of keeping up with. There are many reasons for this (see http://www.manual.ardour.org/setting-up-your-system/the-right-computer-system-for-digital-audio/) The simplest solution is to make the parameters looser (e.g. 512 samples instead of 256). The harder solution is to tweak everything about your system so that it can keep up with the audio flow.

@Edward Diehl,

What are your timeout settings in JACK? Although I’ve been told to the contrary I think especially with JACK1 timeout settings are important, I find when doing MIDI work in Ardour or Mixbus I need to have timeout settings of at least 2000ms or zombification runs amok, I might even suggest 5000 for your workflow and see if it makes a difference.

Thanks for you explanation of zombification. Since I am able to run at these parameters currently using kxstudio (and previously AVLinux 6) with the identical hardware, I would tend to conclude that there is something in either the configuration or software in AVLinux2016.8,.30 (AVL2016.3, also had zombifications) what does not work correctly with my hardware. However, the “realtimeconfigquickscan” scan script does not find any configuration issues. Of course, AVL2016.3 is based on Debian testing and has much newer software than kxstudio 14.04 so maybe there is some issue there. For live play I don’t want to go to a higher latency, and actually in AVL2016.3 that the zombifications did not go away even at 1024 frames/period. Well, I guess I’ll continue checking my setup and see if I can figure out the problem.

I tried GMaq’s suggestion and changed the timeout from 500ms to 5000ms and it worked! No zombifications in 1 hour of use. Got a few xruns at initialization, but afterwards none. Thanks for the suggestion.

I’m getting a variation of this on 4.7.0 with a notification of “the audio backend was shutdown because: zombified”. I’m not running jackd explicity via qjackctl as it is started by Ardour. What is strange is that sometimes, while I’m taking a break, Ardour crashes with this notification although normally there is no audio coming in or out of the application as it is idle.

I can’t seem to find a way to adjust things like timeout and buffers within Ardour without starting Jackd before Ardour.