Ardour segfaults when switching to Jack (Pipewire)

Trying to get Ardour 7 working on a new machine, Debian 11, Pipewire. Getting a segfault, the salient part appears to be:

[E][000000190.598086][pipewire-jack.c:656 on_error()] jack-client 0x563bd83bd400: error id:6 seq:125 res:-17 (File exists): link-factory: can't link ports 83 and 87: File exists

Ardour works fine using Alsa. But using Alsa means I can’t talk to Midi plugins or use Carla, apparently. So what happens is, I start Ardour without any problems, then I switch to Jack and … bang. Setting PIPEWIRE_LATENCY makes no difference.

Obviously this is something to do with Pipewire(?) but it only happens with Ardour. So I’m hoping someone here can shed some light on it.

Here’s the whole output from the command line:

andy@agatha|pts/1:[~]% Ardour7 
Ardour7.3.0 (built using 7.3 and GCC version 6.3.0 20170516)
Ardour: [INFO]: Your system is configured to limit Ardour to 65536 open files
Ardour: [INFO]: Loading system configuration file /opt/Ardour-7.3.0/etc/system_config
Ardour: [INFO]: Loading user configuration file /home/andy/.config/ardour7/config
Ardour: [INFO]: CPU vendor: AuthenticAMD
Ardour: [INFO]: AVX capable processor
Ardour: [INFO]: AVX with FMA capable processor
Ardour: [INFO]: CPU brand: AMD Ryzen 3 4100 4-Core Processor              
Ardour: [INFO]: Using AVX and FMA optimized routines
Ardour: [INFO]: Loading plugin meta data file /opt/Ardour-7.3.0/share/plugin_metadata/plugin_tags
Ardour: [INFO]: Loading plugin statistics file /home/andy/.config/ardour7/plugin_metadata/plugin_stats
Ardour: [INFO]: add_lrdf_data '/home/andy/.config/ardour7/rdf:/opt/Ardour-7.3.0/share/rdf:/usr/local/share/ladspa/rdf:/usr/share/ladspa/rdf'
Ardour: [INFO]: read rdf_file 'file:///usr/share/ladspa/rdf/ladspa.rdfs'
Cannot xinstall SIGPIPE error handler
Ardour: [INFO]: Loading default ui configuration file /opt/Ardour-7.3.0/etc/default_ui_config
Ardour: [INFO]: Loading 454 MIDI patches from /opt/Ardour-7.3.0/share/patchfiles
Ardour: [INFO]: Loading user ui configuration file /home/andy/.config/ardour7/ui_config
Ardour: [INFO]: Loading colour file /opt/Ardour-7.3.0/share/themes/dark-ardour.colors
Ardour: [INFO]: Loading ui configuration file /opt/Ardour-7.3.0/etc/clearlooks.rc
Ardour: [INFO]: Loading bindings from /opt/Ardour-7.3.0/etc/ardour.keys
Loading ui configuration file /opt/Ardour-7.3.0/etc/clearlooks.rc
ardour-request-device: caught signal - shutting down.
ardour-request-device: caught signal - shutting down.
Found nothing along /home/andy/.config/ardour7/templates:/opt/Ardour-7.3.0/share/templates
Set cursor set to default
lo server running on 17556
ardour-request-device: caught signal - shutting down.
Bells Q/midi_in 1 new MIDI buffer of size 32768
Bells Q/midi_out 1 new MIDI buffer of size 32768
Chords Q/midi_in 1 new MIDI buffer of size 32768
Chords Q/midi_out 1 new MIDI buffer of size 32768
Cue Control in new MIDI buffer of size 32768
Lead NTS1 Q/midi_in 1 new MIDI buffer of size 32768
Lead NTS1 Q/midi_out 1 new MIDI buffer of size 32768
MIDI Clock out new MIDI buffer of size 32768
MMC in new MIDI buffer of size 32768
MMC out new MIDI buffer of size 32768
MTC out new MIDI buffer of size 32768
Scene in new MIDI buffer of size 32768
Scene out new MIDI buffer of size 32768
x-virtual-keyboard new MIDI buffer of size 32768
[E][000000190.598086][pipewire-jack.c:656 on_error()] jack-client 0x563bd83bd400: error id:6 seq:125 res:-17 (File exists): link-factory: can't link ports 83 and 87: File exists
[E][000000190.598176][pipewire-jack.c:656 on_error()] jack-client 0x563bd83bd400: error id:6 seq:128 res:-17 (File exists): link-factory: can't link ports 84 and 88: File exists
[E][000000190.618313][pipewire-jack.c:656 on_error()] jack-client 0x563bd83bd400: error id:5 seq:177 res:-17 (File exists): link-factory: can't link ports 91 and 95: File exists
[E][000000190.618635][pipewire-jack.c:656 on_error()] jack-client 0x563bd83bd400: error id:5 seq:181 res:-17 (File exists): link-factory: can't link ports 92 and 96: File exists
zsh: segmentation fault  Ardour7
139 andy@agatha|pts/1:[~]% 

Any ideas?

Which version of pipewire is that?

Chances are that debian/stable ships an old version that lacks some JACK features that Ardour requires. That being said, even recent pipewire is not yet ready for prime-time pro-audio.

Debian also still comes with jackd.

Can you elaborate? Ardour/ALSA does support MIDI devices, and Ardour loads MIDI plugins just fine, and Carla as plugin, too.

andy@agatha|pts/1:[~]% pipewire --version pipewire Compiled with libpipewire 0.3.19 Linked with libpipewire 0.3.19

I think the latest Pipewire is 3.42? So it’s not dreadful. But one thing I’m considering is moving to Debian Testing and see if that helps.

Do you have any feel for what version of Pulse I need to avoid this problem?

You’re right – my mistake. I can load midi plugins and even Carla Rack. That’s one approach going forward. But stand-alone Carla can’t see Ardour, which means I won’t be able to connect Ardour to, for example, Bespoke Synth. THAT’s the functionality I should have said I would be missing.

This is true. But I really don’t want to have to go back to using Pulseaudio and Jack, though. Mostly I just want rid of Pulse (this is not a music-only machine, sadly).

Latest version is 0.3.67. Version 0.3.19 is from two years ago, should probably be considered unusable for your use case.

Deep Breath Well, I suppose it’s time to try Testing then. Thank you for the information.

You don’t need testing… Debian Bullseye backports repo tracks the latest PipeWire releases in Bullseye… That said I can’t imagine what PipeWire does that a properly set up JACK/Pulse system can’t do without losing performance but you seem set on PipeWire… Before you rip out a perfectly good system try installing the backports PW Packages

https://wiki.debian.org/Backports?action=show&redirect=DebianBackports

PipeWire makes general Desktop Audio stuff a little smoother for certain limited needs, for Audio production machines using JACK or ALSA it does nothing beneficial, it is not an improvement for those workflows at this point.

I suggest booting an AV Linux live ISO (based on Debian Bullseye) and seeing what a properly set up JACK/PulseAudio system can perform like:

err … oops. I’ll definitely make a note of that! But I hit the button on moving to testing last night before I saw this.

I decided that 12 was near release, so the risks were pretty small. And I seem to have been proved right so far. After a bit of fiddling around to get Pipewire working again — it all works. Lovely.

Thank you all so much for the help.

Hello,

Can you share how did you manage to make it works?
I think I have the same issue

Thank you

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.