jackd server bus error

I’ve been trying to make Jack work on my Jetson Tegra X2 for some time now but keep running into a bus error. Bus errors are apparently very prevalent when it comes to Jack and there’s no shortage of possible causes or solutions to them online. However, I’ve tried basically all that I’ve come across to no avail and I was wondering if anyone actually had managed to get it running on a Jetson?


Hi JohanPi, what’s this ‘Jack’ ? Audio Jack?

Jack is one of the many system-level sound busses available for Linux. It’s one of the more popular, as such things go. http://jackaudio.org/

Regarding bus errors: That means a bug in the jack/jackd software. (There are plenty of those.) Sometimes, this bug is provoked by specific system behavior (driver mismatch, not finding expected files in expected places, etc.) Proper software would detect this and print a reasonable error message, but we’re not that lucky with Jack.

The best option for you is likely to download and build from source, with debug symbols (and not stripped!) and without optimization, and then try to install/get it to run from there. When it crashes, you can attach with gdb and see where it crashes, and figure out why by reading the source.
If you don’t know how to work with C/C++ source, that becomes a lot harder, and your best bet is to try to get support out of the Jack community, such as it is.

Thanks for your help! So I built Jack(2) from source today and I might’ve managed to start the server successfully. If I run

sudo jackd -r -dalsa -dhw:1 -r44100 -p256 -n2

from the command line Jack seems to initialize, no error messages are produced and the terminal window becomes busy until I kill jackd. However, when I try to connect with jack_simple_client to test it it fails. jack_simple_client produces

"Connect: can't connect named semaphore name = jack_sem.0_default_system err = No such file or directory
Cannot read socket fd = 5 err = No such file or directory
CheckRes error
JackSocketClientChannel read fail
Cannot open jack_simple_client client
JackShmReadWritePtr1::~JackShmReadWritePtr1 - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
jack_client_open() failed, status = 0x21"

while Jack produces

"ClientNotify fails name = system notification = 0 val1 = 0 val2 = 0
NotifyAddClient new_client fails name = jack_simple_client
Cannot notify add client
Cannot create new client"

So something is definitely wrong, though it’s possible it’s something in jack_simple_client and not the server itself. Also noteworthy is that using QJackCtl I’m not able to start the server at all (it doesn’t help that I had to build that from source as well and that there’s 24 audio interfaces to choose between).

If you search the jack source code for “connect named semaphore” and “ClientNotify fails” what do you see the code doing around those areas?
If you run the server and the client with gdb, and set breakpoints around those areas, what are the actual calls that fail?