[pulseaudio-discuss] PulseAudio shared memory files

Brian Cameron brian.cameron at oracle.com
Thu Nov 3 17:58:18 PDT 2011


Oops, I just realized that I didn't attach the debug log attachment.
Now attached.

Brian


On 11/ 2/11 03:02 PM, Brian Cameron wrote:
>
> I notice that PulseAudio version 1.1 seems to leave behind shared
> memory files when my GNOME session exits, or when I kill the pulseaudio
> daemon from within my GNOME session.
>
> For example, when my session is running I see 3 shared memory files,
> associated with the following processes:
>
> - The PulseAudio daemon
> - gnome-volume-control-applet
> - gnome-settings-daemon
>
> Upon session logout or when killing the PulseAudio daemon, the shared
> memory file associated with the PulseAudio daemon gets cleaned up nicely
> but the two shared memory files associated with clients stay around.
> I notice that when the pulseaudio daemon restarts it does clean up these
> stale client files okay. So to test this, I renamed the
> /usr/bin/pulseaudio daemon to a different name just before killing it
> from within my GNOME session to prevent it from just restarting and
> cleaning them up.
>
> After killing the PulseAudio daemon, I notice if I then kill the
> gnome-volume-control-applet or gnome-settings-daemon process, the
> shared memory files associated with these files still do not get
> cleaned up.
>
> I am not sure, but this may be related to a bug I see:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=444684
>
> Based on this bug, I see that the xsmp module is supposed to cleanup
> shared memory files. I do see that the xsmp module is loading fine on
> my system, and when I enable pulseaudio debug, I see the output in the
> attached file which seems to indicate that the xsmp module is noticing
> that the Xserver died and does exit cleanly.
>
> So, I am wondering if this is how PulseAudio is intended to work.
> Maybe PulseAudio is designed to only cleanup the file associated
> with the daemon on clean exit. Or is there a bug that is causing the
> PulseAudio client shared memory files to not get cleaned up on
> PulseAudio exit.
>
> This is probably not such a big problem for most PulseAudio users who
> use single-user desktops/laptops/etc. where there are only a few users
> who might login and only a few stale files to worry about. However, on
> multi-user servers, leaving behind these files could create a resource
> issue if many users login and logout leaving behind unused files.
>
> One workaround that I notice is that if you run the
> "pulseaudio --cleanup-shm" command as root, it does cleanup the files
> for all users. So, adding this command to the GDM Init script so it
> gets run each time the login screen is presented will cleanup the stale
> files. Is this the right way to ensure that stale files never get left
> behind?
>
> Another issue I notice is that each time I kill the pulseaudio deamon
> it leaves behind another /usr/lib/pulse/gconf-helper process. After
> killing it a bunch of times I now have over a dozen of these processes
> running.
>
> Should I file bugs for any of these issues?
>
> Brian
>
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pulse-xsmp-debug.txt
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20111103/03a195bf/attachment.txt>


More information about the pulseaudio-discuss mailing list