Bug ID 1033080
Summary Change in sizeof(snd_pcm_direct_share_t) breaks container that wants to reach dmix via shm
Classification openSUSE
Product openSUSE Distribution
Version Leap 42.2
Hardware x86-64
OS openSUSE 42.2
Status NEW
Severity Normal
Priority P5 - None
Component Sound
Assignee tiwai@suse.com
Reporter maarten@treewalker.org
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

I run applications inside a Docker container, which want to play audio via
ALSA. These applications use their own copy of alsa-lib. This setup used to
work by sharing the IPC resources between host and container, but broke during
a recent openSUSE upgrade.

I did some digging and found why: in the update from libasound2-1.1.3-6 to
libasound2-1.1.3-8, the size of struct snd_pcm_direct_share_t changed from 488
bytes to 496 bytes. This size is checked as part of the SND_PCM_DIRECT_MAGIC
signature to determine whether the shared memory segment belongs to dmix or
not. So if the size of the struct changes, the shm segment is rejected and
alsa-lib cannot play audio.

For the moment, I forced a downgrade back to libasound2-1.1.3-6 and now sound
from within containers works again. If it's feasible to restore the struct to
its former layout, that would be much appreciated. Otherwise, having this
incompatibility documented by this bug report might at least save someone else
some time figuring out the problem.


You are receiving this mail because: