With the caveat that I haven't followed the entire thread, I had a
similar problem today on an older 14.04 release: the owner of
/run/user/$id/pulse would "spontaneously" become root. Comment #34 says
this is easily reproducible when running pkexec/synaptic. I believe I
can explain - broadly - what is happening by describing what I can
confirm.

First, here is one way to reproduce the problem:
*) PulseAudio (v4 in this case) starts as a normal user.
*) As root (via sudo su -), run 'aplay --list-devices'
*) /run/user/$id/pulse is now owned by root.

Tracing 'aplay' I can see that it is dlopen()ing a bunch of pulseaudio
support libraries. *Somehow* they (the pulseaudio support libraries, I
presume) determine that pusleaudio is running. They extract a cookie
from /root/.config/cookie and try to connect to the server via
/run/user/$id/pulse/native socket.

At this point, I don't know what the code is trying to do, but what it
_does_ do is this:

mkdir("/run/user/1000/pulse", 0700)     = -1 EEXIST (File exists)
open("/run/user/1000/pulse", O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = 5
fchown(5, 0, 0)                         = 0
fchmod(5, 0700)                         = 0
[...]
getuid()                                = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 5
connect(5, {sa_family=AF_LOCAL, sun_path="/run/user/1000/pulse/native"}, 110) = 
-1 ENOENT (No such file or directory)
[...]

If my supposition is true that this is in the pulseaudio libraries, any
application running as root (like synaptic) is going to disable the
sound server when it tries to play audio through pulseaudio.

I scanned the pulseaudio changelogs and didn't see anything mentioning
this, but I can also confirm that Ubuntu 17.10 with pulseaudio version
10 and aplay version 1.1.3 does not do this. The older aplay version was
1.0.27.2.

In Ubuntu 17.10 pulseaudio is being run by 'gdm' but the same aplay
strace shows that it now looks for the socket in /var/run/pulse/native
instead of any particular UID in /run. It's unclear to me if the problem
is solved (in pulseaudio, if the culprit) or just band-aided by changing
the configuration (perhaps of ALSA integration with pulseaudio).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1197395

Title:
  /run/user/$ID/pulse owned by root and not by the user

To manage notifications about this bug go to:
https://bugs.launchpad.net/elementaryos/+bug/1197395/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to