[pulseaudio-tickets] [PulseAudio] #572: PulseAudio mutes Master channel upon logout

PulseAudio trac-noreply at tango.0pointer.de
Tue Jan 5 03:11:13 PST 2010


#572: PulseAudio mutes Master channel upon logout
----------------------------+-----------------------------------------------
  Reporter:  diverse_izzue  |       Owner:  lennart
      Type:  defect         |      Status:  new    
 Milestone:                 |   Component:  daemon 
Resolution:                 |    Keywords:         
----------------------------+-----------------------------------------------

Comment(by coling):

 Sorry for not replying sooner :(

 So
  * PA PID 1502 is from the GDM login.
  * PA PID 1639 is one for you that is started after you login from GDM
  * PA PID 1636 is the result of a {{{pulseaudio --start}}} presumably as
 part of start-pulseaudio-x11. It is only used to launch PA itself, so
 isn't interfering.
  * PA PID 1680 is interesting. I'm not sure where that one came from. It
 seems to be the result of running {{{pulseaudio}}} e.g. without the
 --start argument. Not sure what triggered that but again it doesn't seem
 to be getting in the way - it's error is not logged for some reason but I
 presume it's actually given the following error is generated here:
 {{{
 I: main.c: Running in system mode: no
 E: pid.c: Daemon already running.
 E: main.c: pa_pid_file_create() failed.
 }}}
  * PA PID 1672 seems to be the result of a {{{pulseaudio --start}}} as per
 1636. (a minor curiosity here is if 1672 actually launched 1680 (it seems
 1636 launched 1639). This could be the expected behaviour tho).

 Interestingly GDMs PA continues to save the volumes even though it's not
 active - see lines 504 and 513 (e.g. your users PA (1639) makde changes
 via ALSA and are detected by GDMs PA (1502) and thus saved)... I wonder if
 this should be done? Lennart, your thoughts on this, if we are suspended
 should we ignore this or is this harmless?

 Anyway at this point all that has happened is that you've started your
 user session (PID 1639). At this point the GDM pa dies off (due to its
 session being no longer valid and the idle time being reached. When this
 happens your user session continues but we've not yet seen any instance of
 it having volumes set (e.g. manually after you've logged in) nor what
 happens when it dies off after you logout (which is when I suspect the
 error value is written by some wayward alsa client). So more log is
 probably needed.

 In actual fact tho' I think I can see the problem here:

  1. GDM PA runs and has the volume set a level X.
  2. Your PA startups up and sets the volume to level Y during it's log in
 sequence.
  3. GDM's PA is still running and records your volume Y, so now X == Y.
  4. GDM's PA dies off naturally.
  5. Your PA sets the volume to level Z via your input (where Z is a
 sensible value).
  6. Your PA saves this value (so far so good).
  7. You logout. Your PA does not die (as expected and hangs around for a
 little while).
  8. GDM is started again to process the next login.
  9. GDM's new PA is started and restores the volume to X.
  10. Your PA is still running and notices this change from "alsa" and
 saves this volume.
  11. Your PA exists after idle timeout but not before the original value
 of X overwrites the nice value Z you set.

 Then the cycle continues.

 I suspect this is the problem. I will ask Lennart to comment on the
 solution here.

-- 
Ticket URL: <http://pulseaudio.org/ticket/572#comment:19>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list