PortAudio / portaudio

PortAudio is a cross-platform, open-source C language library for real-time audio input and output.
Other
1.47k stars 304 forks source link

crash due to ASSERT_CALL jack_deactivate() #819

Open daschuer opened 1 year ago

daschuer commented 1 year ago

Describe the bug Mixxx using PortAudio from the Debian package can crash (SIGABRT) during shutdown when there is an issue with the jack server or pipewire even if a different API is used. The issue is that the user will loose all unsaved data without a notice.

To Reproduce

It happens here: https://github.com/PortAudio/portaudio/blob/master/src/hostapi/jack/pa_jack.c#L864

Expected behavior

I think the main part of the solution is to disable assertions in the Debian builds. In addition I think that assert() is not correct here because jack_deactivate() can fail.

Actual behavior

Desktop (please complete the following information):

Additional context The original bug is here: https://github.com/mixxxdj/mixxx/issues/11587 I have also filed a Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036645

What do you think. Does it make sense to remove the assertion at that point?

RossBencina commented 1 year ago

What do you think.

Does #604 answer your question?

Does it make sense to remove the assertion at that point?

I think so.