Hello,
We are noticing excessive memory consumption with long term client connections to tvncserver.exe. We observe ever increasing memory consumption at ~2GB after 2 days with ~2-3 persistent client connections.
This is on a machine running Windows 10 Enterprise LTSB 2016 Build 1607 displaying a frequently updated/changing foreground application. Please see attached screenshot.
Thank you
Hi!
What was the server version?
Hello,
My apologies. The server version was 2.8.59. On the client/viewer side, at least one connection was using 2.8.27.
I believe I am possibly hitting the same issue, but this is on Windows 10 Home Edition, so I do not feel it is specific to the Windows release. What I notice appears to be a runaway thread problem which leads to the memory exhaustion.
TightVNC Server For Windows Version 2.8.59 (built Dec 17, 2020 at 12:34:01)
Windows 10 Home Version 2004 OS Build 19041.1165
Experience Windows Feature Experience Pack 120.2212.3530.0
When the server starts, it typically is running with 24-25 threads. What I notice is that st some point(s) threads seem to start being allocated wildly and not released. As an example, at this point I have 33k+ of threads allocated to tvnserver.exe. The majority of these all show the same stack:
All these threads report Wait:Suspended
I have seen this continue to allocated threads into even higher amounts until it effectively deadlocks the Windows system with swapping until I basically need to just power it off due to response times being so slow.
My suspicion is that these bursts of allocations seem to happen when the VNC session is basically idle (and possibly when the host screen has gone to idle background screen) but I have not definitively locked down if this is the exact pattern.
I increased logging to 9, but I did not see anything obvious or tell-tale from my general skimming of the log file. The only "thread" occurrence I see if a repeated
I am connected from a Remmina 1.4.2 client (Ubuntu Ubuntu 20.04.3 LTS). Interestingly I use this same client to connect to a the same version tvnserver.exe running on a Windows 10 Enterprise server (Version 20H2, OS build 19042.1165, Feature Experience Pack 120.2212.3530.0) and I do not observe this behavior. I have compared the 2 server's configurations' via the UI and I do not see any differences. If there is something I can do to provide more information (debug build, additional logging, etc.) let me know and I will try to provide.
NOTE: disconnected the client from my 33k thread tvnserver.exe and it immediately dropped down to 14 threads.
Last edit: Damien Cymbal 2021-09-06
Hi,
could you look for crash.dmp file in
C:\Windows\System32\config\systemprofile\AppData\Roaming\TightVNC\ ?
and test the version https://www.tightvnc.com/download/2.8.63/tightvnc-2.8.63-gpl-setup-64bit.msi
So far my testing with the 2.8.63 release has shown good results. I have not observed the runaway thread / OOM issues with this and they were fairly easy to reproduce with the previous version.
I let it run overnight and the system did bluescreen. This time I did not get a dump in TightVNC ( have seen them at times generated, and I typically clear them out because they are so large). System did generate a MEMORY.DMP, it looks like one of the DX drivers bombed based on a procexp64 query (running to monitor thread/mem of tvnserver.exe). Possibly due to resource constraints?
I will try the version listed above and see if I can repro and will keep an eye out for a TVNC specific dump file.
P.S. I also updated my Windows system to the latest build and applied all updates prior to this run: Windows 10 Home Version 21H1 OS build 19043.1202
Experience Windows Feature Experience Pack 120.2212.3530.0