This is for v10.0, but the problematic code hasn't changed since. I got myself into the following SD Card state on my embedded device (probably through power cycling at the wrong moment): $ ls -lah ~/.config/pulse ... a811db6950f84a578b3674d9456012e8-card-database.arm-target-linux-gnueabi.simple ... a811db6950f84a578b3674d9456012e8-default-sink ... a811db6950f84a578b3674d9456012e8-default-source ... a811db6950f84a578b3674d9456012e8-device-volumes.arm-target-linux-gnueabi.simple ... a811db6950f84a578b3674d9456012e8-runtime -> /tmp/pulse-bbkhoaNGbVPN ... a811db6950f84a578b3674d9456012e8-runtime.tmp -> /tmp/pulse-bbkhoaNGbVPN ... a811db6950f84a578b3674d9456012e8-stream-volumes.arm-target-linux-gnueabi.simple ... cookie Note that there is an additional *-runtime.tmp folder present. Both runtime links point to a folder that doesn't exist anymore—it was on a tmpfs. In this setup, the PulseAudio daemon doesn't start and hangs in pa_get_runtime_dir() from core-util.c, because it doesn't timeout on the error condition https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/pulsecore/core-util.c?h=v10.0#n1890 and continues to try again. The moment I delete the extra *-runtime.tmp file, the server successfully continues its startup. On my device, I have a couple of options like moving the XDG_RUNTIME_DIR to a tmpfs (I don't need any persistence), but as it is now, this could be used for a DOS for a normal user.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/102.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.