[Jack-Devel] jackd2 problem with netjack2 disconnect
i already opened up an issue on github  but it seems there is more
activity. so i decided to send my problem also to this list, i hope
we have a setup here with one jackd2 instance running with netmanager as
audio-master and one jackd2 instance connecting to it via netjack2 as
when i restart the jack daemon on the slave i occasionally end up with
an unusable jackd2 instance on the master.
this seems to come from the way the netmanager component destroys
handles for netjack2 masters (JackNetMasterInterface instances)
if a netjack2 master handle encounters a network error or the connection
gets closed, it sends its own jackd process a KILL_MASTER signal via a
local socket. if this packets gets lost the jackd2 process gets rendered
unusable (other local jack-clients and netjack clients can process audio
the quick(!) choice to evaluation if i'm on the right track was to
remove sending of this multicast packet and setting a newly introduced
flag fExit in the JackNetMasterInterface::Exit method.
in JackNetMasterManager::Run i hooked up to check all netjack2 slaves
periodically for this fExit flag and if it is set, it gets removed&the
the associated objects deleted.
i also removed the call to pthread_exit and instead switched to throwing
an exception as it gets catched (by the netjack1 code anyway) by
my testsetup was two machines, one running with netmanager and one
connecting to it via netjack2.
i restart the jackd process periodically.
one cycle consists of
- starting jackd
- wait for 10 seconds
- stop jackd
- wait for 5 seconds
after about ~10 minutes the jackd on the master (which doesn't get
restarted) runs into the problem and is unusable from this moment on.
with the patch attached to the issue the jackd process gets unusable
after ~12 hours (this time with the logoutput i attached to the issue) i
don't know if this is still a problem with my patch (besides it needs
much nicer integration anyway) or i hit another problem here.
i would be glad if someone could have a look on it and point me in the