Ardour hanging at shutdown

On my pc with Arch, Ardour has been hanging at shutdown for the last couple days. If I start with a terminal, it hangs with “butler drops pool trash”. It’s not specific to a project. I have tried deleting the ardour6 profile and booting with a different kernel. If I open a project on my other pc it does not hang at shutdown. I am able to save the work before I try to shutdown.

Perhaps a duplicate (already fixed in git):

1 Like

I am seeing the same thing on Manjaro, after the most recent system upgrade (two days ago for me). I had never experienced this issue before the upgrade; this is the case on two different installs on two different computers.

I have the most recent version from Arch/Manjaro installed. It was last updated 17 Feb 2022, but I do not know if it would have included any fixes that were in git by then.

If not, is there a way to get a binary with this fix integrated? Would a paid download get it, or will it not be available till Ardour 7 is released?

Is this happening with a build from ardour.org?

Short answer: no.

Longer answer:

It is installed from the Arch repo, by way of Manjaro. PKGBUILD indicates it is built from a github mirror of Ardour source:

The source code it is built from is less important than the way it is built and packaged.

Try a free/demo version from Download Ardour | Ardour Community and see if that has the same issues.

Okey doke. Will try that and report back.

In my case I am using the Ardour bundle, current version.

1 Like

Result: the demo version is hanging when asked to quit as well, whether I use Crtl-Q, select ‘Quit’ from the session menu, or click the close icon in the WM decoration’s titlebar.

If I do the latter, Openbox eventually asks if I want to stop the process; otherwise I have to do that myself with top or whatever is handiest.

Last message Ardour sends is “butler drops pool trash”.

Let me know if any other info would help.

This happens on openSUSE too since few days. Killing Ardour left audio system in bad shape, Reboot needed :frowning:
It happend with ardour-6.9 compiled for openSUSE but also with Ardour-7.0-pre0.2475 from Nightlies…

That is interesting, could you get a backtrace when the application hangs?

run Ardour --gdb, then inside gdb: run to start Ardour, when the application hangs at exit, switch back to the terminal, press <Ctrl>+C to return to the gdb prompt and run bt (to get a backtrace. – ideally also thread apply all bt after that.

That will produce multiple pages of output. See also https://ardour.org/debugging_ardour.

I’ll try ASAP. For now, I think that could be related to jack. Quick test with 7.0 and Alsa, seems working…
Jack-1.9.21

https://tracker.ardour.org/view.php?id=8916

indicates that the issue is in JACK (libjack specifically). Ardour calls jack_client_close() and that function never returns.

I just did a quick test and with jackd 1.9.17 (from debian 11) it works just fine. No hang at exit.

Perhaps this is an issue with JACK 1.9.21? Do you start jackd before starting Ardour, or do you use Ardour’s Audio/MIDI dialog up start jackd?

PS.
Since this happens on both recent openSuSE and Arch, it could also be caused by a glibc update which JACK2 uses. Which libc version you have installed?

1 Like

Info and gdb output added to #8916

1 Like

I tried downgrading jack2 and lib32-jack2 on Arch and still get the same issue. Once I downgraded glibc it corrected the issue.

2 Likes

Thanks, that is very helpful.

Great to hear. Could you tell us the glibc versions? Which works for you, and which was broken?

We suspect that the problem is that glibc removes some thread cancellation points. Ardour is one of the few JACK clients that uses jack’s threaded API, and it seems that libjack now no longer can cancel the threads.

Does that imply that the correct location for a fix will be in jackd?

Yes, that is correct. We’re just discussing this with jack’s current maintainer (on Ardour IRC).

After further investigation, JACK was found to be innocent. The problem is a bug in glibc (unreleased 3.35.x git). libjack is affected by that, Ardour itself is not:
https://sourceware.org/bugzilla/show_bug.cgi?id=29214

Hi
Is the solution now to downgrade glibc or as it’s been identified to wait for this bug to be fixed?
thx