Listener count goes negative / fallback override issue (devel branch)
Runnning icecast from devel branch on Debian 12, compiled from source, at some point on some mounts, I get a very high number of listeners, or probably a negative value, as this lies around 2^64-x
, as mentioned in the error log:
[2024-03-03 21:12:59] INFO source/source_main listener count on /xxx now 18446744073709551614
And this is also displayed in streamlist (listeners stanza), and there is also an issue with the "Connected" stanza (why does that one has a capital C? :P):
<source mount="/xxx">
<fallback>/xxx-last</fallback>
<listeners>18446744073709551614</listeners>
<Connected>9873</Connected>
<content-type>audio/mpeg</content-type>
<health>yellow</health>
<maintenance comment="This is an experimental node. Do not use!">
<flag value="format-generic" maintenance-level="warning">Legacy or unsupported streaming format is used.</flag>
</maintenance>
<dumpfile_written>0</dumpfile_written>
</source>
I can't really make sense of the Connected value… There was 0 listener on that mount when that happened, and probably 0 socket for it besides the source (overall, the server had 150 sockets amongst clients and sources, and there was no attack or anything happening to it in reality, this is a testbed). Adding clients to the mount made the counter go back to 0, then higher, and disconnecting made it go negative again…
Server was up for ~2 days, and is still live, no special CPU/RAM usage pattern there, just odd numbers.