[Jack-Devel] jack 1.9.8 + many many connections = problems?
Hi all, has anyone out there experienced something similar to what I
describe below? Sorry for the length of the post.
I'm really puzzled...
(running jack 1.9.8, freshly built today, just in case - running with
4096 total ports and 768 ports per client)
I have a quite complex jack based system (OpenMixer in our Listening
Room driving 22 speakers plus 4 subs). Many programs, all interconnected
through jack and running under Linux (ie: jack itself, three instances
of supercollider, three instances of ambdec, two instances of
jconvolver, four internal 24 channel netjack1 clients, etc, etc).
Everything is run from inside the supercollider language and startup is
automatic from a boot of the workstation. All jack connections are
managed by writing them to a file and then running aj-snapshot.
Lately one or two speakers are "silent" after startup. Restarting the
audio engine sometimes fixes the problem, sometimes moves it to a
different speaker. Not all speakers are equal in that sense, in most of
them this never happens, in some of them it nearly always does. There is
nothing special in the speakers that sometimes fail, they all come from
the same hardware source. And from the clues described below it does not
look like it is a hardware problem.
As far as I can tell jack gets into a state where sometimes a given port
goes nowhere instead of going to the soundcard output it should go to.
That is, system:playback_25 is there, other ports connect and disconnect
to it normally, no errors are logged and yet input to that port does not
go to the corresponding speaker (all the associated equipment seems to
be fine). If I restart the system suddenly the port works fine. Or not.
Or some other port does not work. At most two or three fail, usually
just one, sometimes none (the problem seems to have gotten worse since I
added more things to the system that implied more clients and total
ports and connections).
If I do _not_ run the aj-snapshot port connection process and I manually
send a signal (from jnoise) to the ports that are normally affected,
everything is fine, that is, in my tests I never managed to get the
system to fail in that state (ie: everything running, no ports connected).
It would seem that something bad is happening when all ports are being
connected and the end result is that inside jack some of the soundcard
ports seem to go nowhere.
The aj-snapshot process that connects everything takes a bit to run and
as it progresses jack reports more and more xruns until it finishes. It
would seem that something is running inside jack when ports are
connected that is proportional to the number of existing connections
(the graph reordering?, that would make sense - but it should not
generate xruns, right?).
It also appears to be that if I minimize the number of ports I'm
connecting the problem goes away (but then of course the system is not
completely functional :-).
Clues?
Ways to debug?
Anyone seen something similar?
-- Fernando
1325037816.11061_0.ltw:2,a <4EFA78EB.7080505 at localhost>