Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

socket leak with local nginx proxy used by listener_add #444

Open
joulaud opened this issue Jan 25, 2024 · 0 comments
Open

socket leak with local nginx proxy used by listener_add #444

joulaud opened this issue Jan 25, 2024 · 0 comments

Comments

@joulaud
Copy link

joulaud commented Jan 25, 2024

With icecast-kh22 we observed that the metrics global.clients goes up and does not come back to initial value when listeners are disconnecting. This happens only when the activity is high (hundreds of new connections per second). At some point all new connections are (correctly) refused with a 403 (connection/_handle_get_request server client limit reached).

Thinking it was perhaps a problem with the counter global.clients tried to workaround by increasing the limit "clients" to an arbitrary insanely high value but this caused some system saturation of fd and caused more problems.

We observed in this case a big discrepancy between the count of TCP alloc (which climbs insanely high) and of TCP inuse (which stays near what we could expect), reinforcing the idea that some leak in socket management occurs in icecast-kh.

Configuration includes something like

  <mount>
    <mount-name>/*.mpeg3</mount-name>
    <authentication type="url">
      <option name="listener_add" value="http://localhost/proxyurl"/>
      <option name="timeout" value="99"/>
      <option name="presume_innocent" value="yes"/>
    </authentication>
  </mount>

We did not reproduce the problem without this configuration.

The same configuration with icecast-kh15 does not seem to have the same problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant