Hi Len,
* Len Ovens <len(a)ovenwerks.net> [2025-02-09 17:45]:
[...]
Jackd is a manually set up utility, it is told the
device name at start and
as such, it has no idea what to do when that device vanishes. It is possible
with the tools supplied to tell jack to change it's device or backend while
running via dbus. I have had varying amounts of success doing this after the
USB device has been pulled. I would guess that because it is possible to
change the device like this, jackdbus continues to run in hopes something
else will happen.
following up your kind reply, I discovered that I had disabled the "JACK D-Bus
interface" in qjackctl and enabled it now.
I am still wondering about the difference between qjackctl's "JACK D-Bus
interface" and its "D-Bus interface" by the way. Enabled both.
Now qjackctl will apparently launch jackdbus instead of jackd.
Unplugging the devuce while jackdbus runs will yield
ERROR: ALSA: capture device disconnected
ERROR: JackAudioDriver::ProcessAsync: read error, stopping...
and jackdbus keeps running. Qjackctl will show "started" status.
Clicking onto its "Stop" button, will freeze qjackctl for a long time
until it posts:
Client deactivated.
D-BUS: JACK server is stopping...
ERROR: JackPosixProcessSync::LockedTimedWait error usec = 20000000 err = Connection timed
out
ERROR: JackEngine::ClientDeactivate wait error ref = 3 name = qjackctl
ERROR: JackPosixProcessSync::LockedTimedWait error usec = 4000000 err = Connection timed
out
ERROR: JackEngine::ClientCloseAux wait error ref = 3
Client 'qjackctl' with PID 1847586 is out
Stopping jack server...
ERROR: JackPosixProcessSync::LockedTimedWait error usec = 20000000 err = Connection timed
out
ERROR: JackEngine::ClientDeactivate wait error ref = 2 name = dbusapi
ERROR: failed to deactivate dbusapi jack client. error is -1
2025: Client 'system' with PID 0 is out
D-BUS: JACK server was stopped (org.jackaudio.service aka jackdbus).
ERROR: JackPosixProcessSync::LockedTimedWait error usec = 4000000 err = Connection timed
out
ERROR: JackEngine::ClientCloseAux wait error ref = 2
ERROR: ALSA: channel flush for playback failed (No such device)
ERROR: Cannot stop driver
ERROR: control open "hw:UA25" (No such device)
ERROR: control open "hw:UA25" (No such device)
Jackdbus is still running, also when quitting qjackctl. Reconnecting the usb device and
starting via a new qjackctl will not work, reporting
D-BUS: JACK server could not be started. Sorry
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Could not connect to JACK server as client. - Overall operation failed. - Unable to
connect to server. Please check the messages window for more info.
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Starting jack server...
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
ERROR: cannot register object path "/org/freedesktop/ReserveDevice1/Audio2": A
handler is already registered for /org/freedesktop/ReserveDevice1/Audio2
ERROR: Failed to acquire device name : Audio2 error : A handler is already registered for
/org/freedesktop/ReserveDevice1/Audio2
ERROR: Audio device hw:UA25 cannot be acquired...
ERROR: Cannot initialize driver
ERROR: JackServer::Open failed with -1
ERROR: Failed to open server
Saving settings to "/home/peter/.config/jack/conf.xml" ...
So this is basically the same behavior as with jackd before.
I am curious what the intended behavior with jackdbus and qjackctl is
supposed to be, given that it all is set up correctly.
I might look closer into dbus syslogs unless someone tells me that there
are certain usb audio cards, which do not signal to dbus properly.
Basically, a device vanishing in an audio context is a
system failure. USB
might be designed for hot plugging but jackd is not.
Good point Len! I find that
jackd/jackdbus should exit nevertheless in such cases.
Again, thanks for the help!
best, P