mumble-voip / mumble

Mumble is an open-source, low-latency, high quality voice chat software.
https://www.mumble.info
Other
6.28k stars 1.11k forks source link

Murmur doesn't close 'semi-open' TCP connections #1417

Closed MiskyWhixer closed 1 year ago

MiskyWhixer commented 9 years ago

I run a VServer with an (extern) monitoring service. The monitor service opens a connection to a given tcp port. If the connection is successful... all is fine. If not, I get a message that the service on the given port is not available. The problem is, that murmur doesn't close this 'partial' connection. It counts every 'semi-open' connection as a user on the server. For a better understanding I have a part of the log at this link:

http://miskywhixer.de/kram/mumble_log.txt

If a 'real' client connect to the server, all connections are closed (see log). I use the 'timeout=30' function in the murmur.ini but this doesn't solve the problem.

With this bug you can fill the server with 'fake users' until the user limit is reached.

murmur version: 1.2.8 & all 1.3.0 Snapshots (Windows)

askreet commented 9 years ago

Am I reading correctly that these connections are closed after 4 hours (likely by your operating system's own TCP timeout)?

MiskyWhixer commented 9 years ago

No, the 'connections' on murmur are closed until a real client connect to the server. See in log when I connect at '2014-09-29 19:54:25.654' all 'fake user connections' are dropped. First '... Timeout' then '... Connection closed ..'. For the operating system there is no open connection at all.

Kissaki commented 9 years ago

Can you be more specific about the “partial” TCP connections? What are they, on a TCP level?

How can I easily reproduce them?

HarpyWar commented 8 years ago

I'm experiencing the same bug ONLY on Windows (I use Windows Server 2008 R2). Sometimes users counter in a Mumble connection dialog doesn't flush, even when a virtual server is empty in fact. It has ping, but it does not let new users connect to it. It just says "Connecting to server xxx" until it says "Disconnected from server".

Feedback from a user:

We are normally about 5-10 users in the server, but at that hours (from 22 to 24:30) we have WoW raid, and we are about 15-22 users." When it kicks people randomly, it finishes with 5 -7 users inside, or it just disconnects. The duration of the process is about one hour and a half to 3 hours, but sometimes it has been a bit more. Sometimes sombody can recconect, but the rest cant (no server response).

Since 1.2.9 (or one of 1.2.5-9 versions, I don't know exactly) it was fixed "partially". But the fix affected only on a visual user counter. For instance 4/500, as it displayed on a screenshot, but nobody can join a virtual server. 66386523-34d9-4ab7-9507-cf5a9df21919

And I don't know how to reproduce this. Nothing strange in logs of an "overpopulated" virtual server, and normally it will not appear. I have a lot of virtual servers and the issue appears randomly on a part of them (or may be not all users reported about the problem).

I've solved it temporarily by increasing slots to 500 and one time a day whole Murmur instance is restarted every morning (restart of a single virtual server will not help). But actually this is not a solution, just bypassing.

Krzmbrzl commented 1 year ago

The issue of regular TCP connections inflating the user count has been fixed by #4817. See also #4277