<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - PulseAudio gets reliably killed upon a big number of client connections"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94629">94629</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>PulseAudio gets reliably killed upon a big number of client connections
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>PulseAudio
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>core
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>pulseaudio-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>darwish.07@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>pulseaudio-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>lennart@poettering.net
          </td>
        </tr></table>
      <p>
        <div>
        <pre>On master branch [1], connections from a high number of clients
_reliably_ kills the PulseAudio daemon.

Here is a minimal script that triggers the bug:

LARGE_WAVE_FILE=...
for i in {1..60}; do
    echo "Client #$i";
    ./src/pacat $LARGE_WAVE_FILE &
    sleep 1
done

Here are some important factors:

  1. The bug is always triggered in regular -O2 build, ALSA sink.
     This usually happens after client #45. [2] [3]

  2. Disabling SHM (--disable-shm) makes triggering the bug much
     quicker. Only after connection from client #27

  3. Compiling at -O0 also makes the bug triggered much quicker.
     Only after connection from client #28

  4. The bug _disappears_ when choosing the NULL sink as default
     This is the case even after leaving the pacat clients run
     for an hour

  5. In the point #4 above, resetting ALSA sink back as the
     default sink triggers the bug again.

  6. This bug affects all versions of PulseAudiob back to v5.0!
     I could not test older versions (v4.0, v3.0, ..) as they
     always fail at runtime with my current toolchain. [4] [5]

Any thoughts on how to track this issue further?

Thanks,


==> footnotes:

[1] As of 19 March 2016, 4731690a21edc59acfd0bd27f810d5c895ac7629

[2] No logs are produced from the Linux kernel in this case.
    Check Arun's work at <a href="http://goo.gl/0mq3ym">http://goo.gl/0mq3ym</a> for context.

[3] This is an old "AMD Athlon(tm) II X2 260" dual-core desktop
    machine

[4] Arch Linux, GCC 5.3.0 with target x86_64-unknown-linux-gnu,
    glibc version 2.23

[5] Runtime failure for v4.0 is:
    hashmap.c: Assertion 'h->iterate_list_head' failed at
    pulsecore/hashmap.c:151, function pa_hashmap_put(). Aborting.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>