FS#78476 - [alsa-lib] 1.2.9-1 crashes DeaDBeeF on playback via USB DAC

Attached to Project: Arch Linux
Opened by Will (completelysubmergednow) - Wednesday, 10 May 2023, 21:27 GMT
Last edited by David Runge (dvzrv) - Sunday, 03 September 2023, 14:14 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To David Runge (dvzrv)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

* package versions
alsa-lib 1.2.9-1
DeaDBeeF 1.9.5-2

Having selected my USB DAC as output device in DeaDBeeF, I get this error when trying to play a FLAC file:
Floating point exception (core dumped)

Steps to reproduce:

Install DeaDBeeF 1.9.5-2 via AUR
Install alsa-lib 1.2.9-1 via pacman
Select my output device in DeaDBeeF, which adds the following line in $HOME/.config/deadbeef/config:
alsa_soundcard iec958:CARD=C2,DEV=0

DeaDBeeF then crashes when trying to play a FLAC file
Reverting to alsa-lib version 1.2.8-1 makes it work again
This task depends upon

Closed by  David Runge (dvzrv)
Sunday, 03 September 2023, 14:14 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with 1.2.10-1 in extra-testing
Comment by Toolybird (Toolybird) - Thursday, 11 May 2023, 01:28 GMT
> core dumped

Please provide a backtrace with debug symbols [1]. Basically:

$ coredumpctl gdb (then answer y when it asks "Enable debuginfod for this session?")
(gdb) set logging enabled
(gdb) bt (or bt full)

Then post gdb.txt

[1] https://wiki.archlinux.org/title/Debugging/Getting_traces
Comment by Nick Novikov (novns) - Friday, 12 May 2023, 05:07 GMT
I have the same problem with Focusrite Scarlett 2i2 USB interface.

I've rebuilt deadbeef just in case of new ALSA headers, it hasn't helped.

The backtrace is attached.
   gdb.txt (1.4 KiB)
Comment by Nick Novikov (novns) - Friday, 12 May 2023, 05:11 GMT
And the error is:

Program terminated with signal SIGFPE, Arithmetic exception.
#0 0x00007f7771941636 in snd_pcm_hw_drain (pcm=0x7f773c080a90) at pcm/pcm_hw.c:753
753 if ((pcm->boundary % pcm->period_size) == 0) {

And in dmesg:

traps: deadbeef-stream[212344] trap divide error ip:7f7771941636 sp:7f7747ffec50 error:0 in libasound.so.2.0.0[7f777193e000+8c000]
Comment by Jan de Groot (JGC) - Friday, 12 May 2023, 11:20 GMT
Needs a non-zero check there, the exception is division by zero. period_size seems to be 0 on some setups.
Comment by Toolybird (Toolybird) - Friday, 12 May 2023, 23:56 GMT
Ok, seems like an upstream bug then...someone needs to report it.
Comment by Toolybird (Toolybird) - Monday, 19 June 2023, 03:43 GMT Comment by ⁣ (eimis) - Monday, 19 June 2023, 19:26 GMT

Loading...