Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-26159

pipewire-pulse: "address already in use" when enabling tcp server due to race condition on user switching

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • rhel-9.3.0.z
    • pipewire
    • None
    • None
    • None
    • rhel-sst-gpu
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Red Hat Enterprise Linux
    • None
    • None
    • None
    • x86_64
    • None

      What were you trying to do that didn't work?

      In the customers’ environment, the OS on which pipewire-pulse starts the service is "RHEL9.0". From now on, it will be referred to as the "sound server". The OS running paplay is "another host". From now on, this will be referred to as the "sound playback request client."

      The settings for each OS are as follows.
      <Sound playback request client>
      ・IP address is "192.168.100.17/24"
      ・There is a wav file in which the location is /usr/share/sounds/alsa/Noise.wav.

      <Sound server>
      ・IP address is "192.168.100.77/24"
      ・Change(cancel the comment out) the settings in /usr/share/pipewire/pipewire-pulse.conf.
        ~~~
        ……
                     "tcp:4713"                         # IPv4 and IPv6 on all addresses
        ……
        ~~~
      ・Allow the tcp/4713 port on the firewall.

      On the sound playback request client, use the following command to request playback.
      ~~~
      $ paplay -s 192.168.100.77 /usr/share/sounds/alsa/Noise.wav
      ~~~

      Depending on whether you are logged in to the sound server's GUI, whether or not you can accept the network changes as follows.
      <No GUI login>
      ・Network will be accepted.
      <With GUI login>(a non-root user's login)
      ・Network is not accepted. The command results:
        ~~~
        Connection failure: Connection terminated
        Stream error: Connection terminated
        ~~~
      ・And the log will show these:
        ~~~
        Feb 19 02:28:52 9u3 pipewire-pulse[3117]: mod.protocol-pulse: server 0x5627670a1500: bind() failed: Address already in use
        Feb 19 02:28:52 9u3 pipewire-pulse[3117]: mod.protocol-pulse: pulse-server 0x5627670a0b90: failed to start server on 'tcp:0.0.0.0:4713': Address already in use
        Feb 19 02:28:52 9u3 pipewire-pulse[3117]: mod.protocol-pulse: server 0x5627670a1bf0: bind() failed: Address already in use
        Feb 19 02:28:52 9u3 pipewire-pulse[3117]: mod.protocol-pulse: pulse-server 0x5627670a0b90: failed to start server on 'tcp:[::]:4713': Address already in use
        ~~~

      Please provide the package NVR for which bug is seen:

      RHEL 9.0 ~ 9.3

      Expected results

      Network will be accepted even though there are GUI logins.

      Actual results

      Network is not accepted when there are GUI logins.

      Other distribution also has this issue, please check:
      ~~~
      https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1907908.html
      https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1912821.html
      ~~~

              wtaymans@redhat.com Wim Odilia Taymans
              rhn-support-yzheng Yinghai Zheng
              Wim Odilia Taymans Wim Odilia Taymans
              Tomas Pelka Tomas Pelka
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: