Linux: Jack Fails To Load & Crashes With Transport Sync

So jack is running (launched through qjackctl), I’m on a 64bit quadcore Intel machine (Gentoo Linux) and Renoise doesn’t recognize the jack server. I go to settings/audio and click some stuff and the Renoise interface crashes majestically and takes down xorg with it. Here’s the last part of my log (can I upload and/or send the full one somewhere?):

  
Graphport: Running fullscreen at '0,0,1440,900'...  
  
GraphPort: Successfully initialized  
  
Application: Init OK  
Application: Enter MainLoop...  
  
Jack: Trying to open client 'renoise'...  
Jack: Failed to open the Jack client!  
  
Error Message: Failed to open the JACK client. Please make sure that the JACK server is running!  
  
Jack: Trying to open client 'renoise'...  
Jack: Failed to open the Jack client!  
  
Error Message: Failed to open the JACK client. Please make sure that the JACK server is running!  
  
CrashLog: [0xf7769400]  
CrashLog: /usr/lib32/libjack.so.0(jack_set_timebase_callback+0x1d) [0xf6a8e76d]  
CrashLog: renoise [0x8fff7d9]  
CrashLog: renoise [0x8099995]  
CrashLog: renoise [0x80b2078]  
CrashLog: renoise [0x80b23c3]  
CrashLog: renoise [0x8a068e6]  
CrashLog: renoise [0x8ae4a1b]  
CrashLog: renoise [0x89e9241]  
CrashLog: renoise [0x8a356e4]  
CrashLog: renoise [0x8a35a1a]  
CrashLog: renoise [0x8af5823]  
CrashLog: renoise [0x8bdfda0]  
CrashLog: renoise [0x8b76280]  
CrashLog: renoise [0x8bb2425]  
CrashLog: renoise [0x8b98da1]  
CrashLog: renoise [0x8b71216]  
CrashLog: renoise [0x8b99011]  
CrashLog: renoise [0x8b6ba5c]  
CrashLog: renoise [0x81ed475]  
CrashLog: renoise [0x90e7cf0]  
CrashLog: /lib32/libc.so.6(__libc_start_main+0xe5) [0xf72eca65]  
CrashLog: renoise(__gxx_personality_v0+0x1a9) [0x80922c1]  
CrashLog: [0x27]  
CrashLog: [0x4d]  
  
Application: Caught an unhandled exception (Thread: GUI)!  
Application: Saving a backup...  
  
Error Message: A fatal error or crash occurred (unhandled exception in thread: GUI).  
Error Message: A backup of the current document was saved at  
Error Message: '/home/juri/.renoise/V2.5.1/CrashBackups/Untitled_4_22_2010__13_19_crash.xrns'...  
Error Message: This either happened because of a bug in Renoise, or because of a bug in one of its loaded components (plugins). Please contact <bug> and report this problem, so that it can be fixed.<br>
Error Message: Note: It's very important that we know exactly what has happened (what you were doing before this message popped up), or the problem cannot be replicated/analyzed. Please include a description of what you were doing and which components were being used...<br>
<br>
Application: Terminating...<br>
<br>
MIDI: Shut down: Closing all acquired MIDI devices...<br>
<br>
MIDI-IO: Closing MIDI in device 'Renoise MIDI In Port A'...<br>
MIDI-IO: Closing MIDI in device 'Renoise MIDI In Port B'...<br>
MIDI-IO: Closing MIDI in device 'Renoise MIDI In Sync'...<br>
MIDI-IO: Closing MIDI out device 'Renoise MIDI Out Sync'...<br>
MIDI-IO: Shutting down the MIDI sequencers...<br>
<br>```

<br>
<br>
I'll try now to see if this is reproducible.<br>
<br>
Greets</bug>

Jep, it’s reproducible. This time it doesn’t take down X though. Here are some possibly relevant details:

  • Yes, I have lib32 compatibility installed.
  • Alsa works perfectly and so does Renoise when not running Jack.
  • Jack version is 0.118.0 compiled with the following flags: +alsa +mmx +sse -3dnow -altivec -coreaudio -cpudetection -debug -doc -examples -oss
    (’+’ means compiled with, ‘-’ means without.)
  • It happens as soon as I try to enable the transport checkbox.

Cheers,
Instant

The jackserver and jackclient both need to be 32-bit. Did you used the 32-bit (compatability) flag when compiling?

Even without the crash (without enabling transport sync), you can’t get Jack running in Renoise, is that correct?

Please make sure that your compiled jack lib and exes are the only one in the system, avoid that Renoise partly loads and uses libs that you don’t want it to.

Have you already tried first launching the jack server, then starting Renoise? You may also try to let Renoise load the server. Kill all running jack processes before launching Renoise to do so.

If all fails, could you please try to enable the debug logging and debug symbols in your compiled version of jack? Then we at least know why and where it crashes…

Yes, I did.

@taktik:

  1. Yes, that’s correct (to the first point).
  2. I’m not sure I understand. You want me to make sure nothing else is running on jack besides Renoise? You want me to prevent that Renoise loads anything additionally (like vst’s)?
  3. Yes, jack server was already running (launched through qjackctl-0.3.3). I haven’t tried to let Renoise launch the server yet.
  4. But jack doesn’t crash. It was even still running when I restarted X and relaunched qjackctl.

I’ll be happy to do more testing if you’d like me to. I’ve read that lib32 compatibility is a bit on the unstable side anyway, so it’s no biggie for me to wait until you release a 64bit version and use Alsa til then.

I’ll update to jack-1.9.5 and try to see if it makes any difference.

Anyway, thanks for the swift replies to you two!

let me try to rephrase:
Please make sure that you don’t have multiple “libjack_something” installed in the system. Aka, make sure that your compiled one is the !only one! in the system.

Quick note: Problem persists with Jack-1.9.5. Other jack-aware software is able to connect and to play audio.

Edit: @ taktik:
Ah, okay. Well unless my package manager botched things up, this should absolutely be the base. No parallel jack installs and no leftover libraries. I’ll check it in depth though if you think that this might be the case. But it really shouldn’t.

Thanks for your efforts!

I found and fixed the reason for the crash (we tried to set a timebase callback even when jack failed to initialize), but unfortunately this won’t fix the “real” problem. That jack does not work for you with Renoise.

Would be great if you could try out if letting Renoise launch the Jack server helps, and also if theres no mixed installation of multiple jack clients.

We do try to load jack from:
/usr/local/lib/libjack-0.100.0.so.0
libjack-0.100.0.so.0 (any path)
/usr/local/lib/libjack.so.0
libjack.so.0 (any path)

in this order.

Okay, narrowing it down a bit. Renoise finds Jack but can’t connect. Here’s the relevant part:

(nevermind the version number, I just downgraded to try this out. No multiple jack libs installed, I promise :) )

Renoise LOG> Jack: Trying to open client ‘renoise’…
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver …
creating alsa driver … hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
unknown client ID in ACK connection request
cannot complete client ACK connection process
cannot read event connect result from server (Connection refused)
Renoise LOG> Jack: Failed to open the Jack client!
Renoise LOG> Error Message: Failed to open the JACK client. Please make sure that the JACK server is running!

That reads like an incompatability issue between the jack client and server.
Taktik:What version is the jack client Renoise uses? JackD won’t allow incorrect versioned clients to connect.
Or perhaps the Jack monitor shows the version numbers…