Ticket #773 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

Autospawn fails for second user on a given system if the first user is already running PA and has network access enabled.

Reported by: coling Owned by: lennart
Milestone: 0.9.22 Component: daemon
Keywords: Cc:

Description

As per summary.

The autospawning code seems to check for a running pulseaudio process and does not start it's own one if one is detected even tho' the detected process is for another user.

Change History

Changed 2 years ago by lennart

Uh? the autospawning code uses only per-user files/resources.

Can you be a little more specific about this issue?

Maybe you have configured PA globally to use some specific IP port and because of that the multiple instances fight and cannot startup properly?

Changed 2 years ago by coling

Just going on observations - about to dive into the code.

  1. User A logs into X. Start's pulseaudio via one mechanism or another (in this test case due to auto-respawning from libcanberra, I have User A set to *not* autospawn via their own ~/.pulse/client.conf - global is as per default (i.e. autospawning is enabled). At X login PA is started via XDG.
  2. User B logs into tty1. paplay /some/sound.wav: Connection Refused.
  3. Go back to User A, pulseaudio -k (ensure no instance is running).
  4. Go back to User B on tty1 and repeat last command: Works and PA is autospawned for that user.

Double confirm:

  1. Still as User B, pulseaudio -k.
  2. Go back to User A, start-pulseaudio-x11
  3. Go back to User B, repeat paplay. Connection Refused again..

So (from observation) something in the autospawning code prevents User B from starting PA when User A has already done so.

There is no system wide config on this system and User B is a fresh user account.

Changed 2 years ago by coling

  • summary changed from Autospawn fails for second user on a given system if the first user is already running PA. to Autospawn fails for second user on a given system if the first user is already running PA and has network access enabled.

Modifed the summary.

The problem is actually that User A has TCP protocol enabled, but user B is not allowed to access it (i.e. auth anon is *not* set).

When this happens, the connection is refused rather than rejected and this causes the connection loop to terminate before the autospawn can kick in at all.

Changed 2 years ago by lennart

Hmm, so is this something to fix?

Changed 2 years ago by coling

I think you answered that question yourself via the mailing list :)

For the benefit of other folks: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/5956

Changed 2 years ago by lennart

  • status changed from new to closed
  • resolution set to fixed

Fully fixed now in master.

Note: See TracTickets for help on using tickets.