Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

VNC disconnects randomly

Post Reply
mloiaco
8
8
Posts: 10
Joined: 2009-06-01 15:36

VNC disconnects randomly

Post by mloiaco »

Using ultravnc viewer 1.0.5.6, the connection randomly drops - sometimes as quickly as 2-3 minutes, and other times it takes an hour or more. The only suspicious thing I see in the server log is:

.\vncservice.cpp : SelectHDESK to Winlogon (2c) from 230
--An existing connection was forcibly closed by the remote host.

What does this message mean?

Also, if it helps, the server and viewer are connected over a secure VPN tunnel.

Any ideas why this happens or how to fix it?
mloiaco
8
8
Posts: 10
Joined: 2009-06-01 15:36

Re: VNC disconnects randomly

Post by mloiaco »

Here are the relevant snippets from the viewer and server log files...I hope someone can help me understand this problem - or at least how to interpret these logs. Also, I have two specific questions:

Q1: What is the meaning of this progression (from the viewer log):
bufsize expanded to 205056
zlibbufsize expanded to 205056
zlibbufsize expanded to 397444
rdr::Exception (1): rdr::SystemException: read: Unknown error (10054)
Socket error 10054: An existing connection was forcibly closed by the remote host.

It looks like some kind of buffer (zlibbufsize) keeps expanding right before the crash. Does anyone know what zlibbuffsize is, and why it would expand, and if/how it would make VNC crash if it got too large?

Q2: In the server log, I always see the message:
".\vncservice.cpp : SelectHDESK to Winlogon (2c) from 204" right before the crash message ("--An existing connection was forcibly closed by the remote host."). What is the meaning of SelectHDESK to Winlogon? What is SelectHDESK? What is the meaning of the numbers (2c) and 204 within that message?




---------------Viewer Log---------------
Started and Winsock (v 2) initialised
bufsize expanded to 4352
Registered connection with app
Clipboard changed
Don't send initial clipboard!
Connected to 192.168.131.131 port 5900
RFB server supports protocol version 3.6
Connected to RFB server, using protocol version 3.4
VNC authentication succeeded
Read a 25-byte string
Desktop name "olm_1 ( 192.168.131.131 ) "
Geometry 1280 x 1024 depth 32
Screen work area is 1600 x 1170
Reset keyboard for first use
Flush dead key gives: 1 character(s): 0x0020 ( )
Cache: Cache buffer bitmap creation
Screen work area is 1600 x 1170
Update-processing thread started
Screen work area is 1600 x 1170
Screen work area is 1600 x 1170
ServerState- reading 11 bytes
ServerState (1, 1)
New input state 0Receiving cursor shape update, cursor 32x32
Receiving cursor shape update, cursor 32x32
bufsize expanded to 205056
zlibbufsize expanded to 205056
zlibbufsize expanded to 397444
rdr::Exception (1): rdr::SystemException: read: Unknown error (10054)
Socket error 10054: An existing connection was forcibly closed by the remote host.






-----------------------Server Log--------------------
.\vncmenu.cpp : ############### Usernames change: old="DL", new="DL"
Tue Jun 02 18:32:52 2009
.\vsocket.cpp : VSocket() m_pDSMPlugin = NULL
.\vncsockconnect.cpp : accepted connection from 192.168.134.79
.\vncserver.cpp : AddClient() started
.\vncclient.cpp : vncClient() executing...
.\vncclient.cpp : TEST 4
.\vncserver.cpp : AddClient() done
.\vncclient.cpp : client connected : 192.168.134.79 (1)
.\vncclient.cpp : DSMPlugin Pointer to socket OK
Tue Jun 02 18:32:53 2009
.\vncclient.cpp : m_ms_logon set to false.\vncclient.cpp : negotiated version
Entered InitAuthenticated:\data\ultravnc\ultravnc project root\ultravnc\winvnc\winvnc\vncPasswd.h : PASSWD : ToText called
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
password authenticationTue Jun 02 18:32:56 2009
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack call - Runningasservice
.\vncmenu.cpp : ########### vncMenu::AddTrayIcon - UserName = DL
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ############### Usernames change: old="DL", new="DL"
Tue Jun 02 18:32:58 2009
.\vncdesktop.cpp : initialising desktop handler
--The specified module could not be found.
.\vncDesktopSW.cpp : SWinit
--The specified procedure could not be found.
.\vncdesktopthread.cpp : Hook changed 1
.\vncdesktopthread.cpp : Hook changed 2
.\vncdesktop.cpp : KillScreenSaver...
.\vncservice.cpp : threadname, inputname differ
--Access is denied.
.\vncservice.cpp : SelectDesktop
.\vncservice.cpp : OpenInputdesktop2 NULL
.\vncservice.cpp : OpenInputdesktop2 OK
.\vncservice.cpp : SelectHDESK to Default (160) from 2c
.\vncdesktop.cpp : InitVideo driver Called
.\vncdesktop.cpp : Driver option disabled
.\vncdesktop.cpp : No driver used
.\vncdesktop.cpp : bitmap dimensions are 1280 x 1024
.\vncdesktop.cpp : created memory bitmap
.\vncdesktop.cpp : got bitmap format
.\vncdesktop.cpp : attempting to enable DIBsection blits
.\vncdesktop.cpp : enabled fast DIBsection blits OK
--Not enough storage is available to process this command.
.\vncdesktop.cpp : no palette data for truecolour display
.\vncbuffer.cpp : request local buffer[5242880]
.\vncbuffer.cpp : fast blits detected - using DIBsection buffer
.\vncbuffer.cpp : local buffer=5242880
.\vncDesktopSW.cpp : GetQuarterSize
.\vncDesktopSW.cpp : GetQuarterSize
d:\data\ultravnc\ultravnc project root\ultravnc\winvnc\winvnc\vncEncodeMgr.h : raw encoder requested
.\vncencoder.cpp : settranslatefunction called
.\vncencoder.cpp : only 8, 16 or 32 bits supported remotely - 0 requested
.\vncencoder.cpp : settranslatefunction called
.\vncencoder.cpp : no translation required
.\vncdesktop.cpp : SethookMechanism called
.\vncdesktop.cpp : Sethook_restart_wanted hook=0 driver=0
d:\data\ultravnc\ultravnc project root\ultravnc\winvnc\winvnc\vncEncodeMgr.h : request client buffer[5242892]
.\vncserver.cpp : Authenticated() done
.\vncclient.cpp : authenticated connection
.\vncbuffer.cpp : request local buffer[5242880]
.\vncbuffer.cpp : fast blits detected - using DIBsection buffer
.\vncbuffer.cpp : local buffer=5242880
.\vncclient.cpp : init update thread
.\vncclient.cpp : starting update thread
.\vncdesktopthread.cpp : Hook changed
.\vncclient.cpp : sent pixel format to client
.\vncclient.cpp : enable update thread
.\vncclient.cpp : enable/disable synced
.\vncservice.cpp : threadname, inputname differ
.\vncservice.cpp : SelectDesktop
.\vncservice.cpp : OpenInputdesktop2 NULL
.\vncservice.cpp : OpenInputdesktop2 OK
.\vncservice.cpp : SelectHDESK to Default (204) from 2c
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
Tue Jun 02 18:32:59 2009
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncclient.cpp : disable update thread
.\vncclient.cpp : enable/disable synced
d:\data\ultravnc\ultravnc project root\ultravnc\winvnc\winvnc\vncEncodeMgr.h : SetClientFormat called
.\vncencoder.cpp : settranslatefunction called
.\vncencoder.cpp : no translation required
.\vncclient.cpp : enable update thread
.\vncclient.cpp : enable/disable synced
.\vncclient.cpp : disable update thread
.\vncclient.cpp : enable/disable synced
.\vncclient.cpp : Tight found
d:\data\ultravnc\ultravnc project root\ultravnc\winvnc\winvnc\vncEncodeMgr.h : Tight encoder requested
.\vncencoder.cpp : settranslatefunction called
.\vncencoder.cpp : only 8, 16 or 32 bits supported remotely - 0 requested
.\vncencoder.cpp : settranslatefunction called
.\vncencoder.cpp : no translation required
d:\data\ultravnc\ultravnc project root\ultravnc\winvnc\winvnc\vncEncodeMgr.h : request client buffer[264781]
.\vncclient.cpp : ZRLE found
.\vncclient.cpp : compression level requested: 9
.\vncclient.cpp : X-style cursor shape updates enabled
.\vncclient.cpp : Full-color cursor shape updates enabled
.\vncclient.cpp : PointerPos protocol extension enabled
.\vncclient.cpp : image quality level requested: 4
.\vncclient.cpp : XOR protocol extension enabled
.\vncclient.cpp : LastRect protocol extension enabled
.\vncclient.cpp : Cache protocol extension enabled
.\vncclient.cpp : ServerState protocol extension enabled
.\vncclient.cpp : KeepAlive protocol extension enabled
.\vncclient.cpp : FTProtocolVersion protocol extension enabled
.\vncclient.cpp : enable update thread
.\vncclient.cpp : enable/disable synced
.\vncencoder.cpp : remote palette data requested
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncEncodeTight.cpp : calling deflateInit2 with zlib level:9
.\vncEncodeTight.cpp : calling deflateInit2 with zlib level:9
.\vncEncodeTight.cpp : calling deflateInit2 with zlib level:9
Tue Jun 02 18:33:00 2009
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktop.cpp : ### PixelsGrid 0 created !
.\vncdesktop.cpp : ### PixelsGrid 1 created !
.\vncdesktop.cpp : ### PixelsGrid 2 created !
.\vncdesktop.cpp : ### PixelsGrid 3 created !
.\vncdesktop.cpp : ### PixelsGrid 4 created !
.\vncdesktop.cpp : ### PixelsGrid 5 created !
.\vncdesktop.cpp : ### PixelsGrid 6 created !
.\vncdesktop.cpp : ### PixelsGrid 7 created !
.\vncdesktop.cpp : ### PixelsGrid 8 created !
.\vncdesktop.cpp : ### PixelsGrid 9 created !
.\vncdesktop.cpp : ### PixelsGrid 10 created !
.\vncdesktop.cpp : ### PixelsGrid 11 created !
.\vncdesktop.cpp : ### PixelsGrid 12 created !
.\vncdesktop.cpp : ### PixelsGrid 13 created !
.\vncdesktop.cpp : ### PixelsGrid 14 created !
.\vncdesktop.cpp : ### PixelsGrid 15 created !
.\vncdesktop.cpp : ### PixelsGrid 16 created !
.\vncdesktop.cpp : ### PixelsGrid 17 created !
.\vncdesktop.cpp : ### PixelsGrid 18 created !
.\vncdesktop.cpp : ### PixelsGrid 19 created !
.\vncdesktop.cpp : ### PixelsGrid 20 created !
.\vncdesktop.cpp : ### PixelsGrid 21 created !
.\vncdesktop.cpp : ### PixelsGrid 22 created !
.\vncdesktop.cpp : ### PixelsGrid 23 created !
.\vncdesktop.cpp : ### PixelsGrid 24 created !
.\vncdesktop.cpp : ### PixelsGrid 25 created !
.\vncdesktop.cpp : ### PixelsGrid 26 created !
.\vncdesktop.cpp : ### PixelsGrid 27 created !
.\vncdesktop.cpp : ### PixelsGrid 28 created !
.\vncdesktop.cpp : ### PixelsGrid 29 created !
.\vncdesktop.cpp : ### PixelsGrid 30 created !
.\vncdesktop.cpp : ### PixelsGrid 31 created !
.\vncdesktop.cpp : ### PixelsGrid 32 created !
.\vncdesktop.cpp : ### PixelsGrid 33 created !
.\vncdesktop.cpp : ### PixelsGrid 34 created !
.\vncdesktop.cpp : ### PixelsGrid 35 created !
.\vncdesktop.cpp : ### PixelsGrid 36 created !
.\vncdesktop.cpp : ### PixelsGrid 37 created !
.\vncdesktop.cpp : ### PixelsGrid 38 created !
.\vncdesktop.cpp : ### PixelsGrid 39 created !
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
Tue Jun 02 18:33:01 2009
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack
--The specified module could not be found.
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack call - Runningasservice
.\vncmenu.cpp : ########### vncMenu::AddTrayIcon - UserName = DL
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ############### Usernames change: old="DL", new="DL"
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
Tue Jun 02 18:33:02 2009
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
...
Tue Jun 02 19:06:35 2009
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncclient.cpp : ******** Sending 1 Cache Rects
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncclient.cpp : ******** Sending 1 Cache Rects
Tue Jun 02 19:06:36 2009
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack call - Runningasservice
.\vncmenu.cpp : ########### vncMenu::AddTrayIcon - UserName = DL
Tue Jun 02 19:07:13 2009
.\vncservice.cpp : SelectHDESK to Winlogon (2c) from 204
--An existing connection was forcibly closed by the remote host.
.\vncclient.cpp : client disconnected : 192.168.134.79 (1)
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ############### Usernames change: old="DL", new="DL"
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack call - Runningasservice
.\vncmenu.cpp : ########### vncMenu::AddTrayIcon - UserName = DL
.\vncdesktopthread.cpp : WaitMessage()
.\vncdesktopthread.cpp : WaitMessage() skip
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ############### Usernames change: old="DL", new="DL"
.\vncclient.cpp : disable update thread
.\vncclient.cpp : enable/disable synced
.\vncclient.cpp : kill update thread
.\vncclient.cpp : stopping update thread
client sent 5016 updates
.\vncclient.cpp : update thread gone
.\vncserver.cpp : removing authorised client
.\vncserver.cpp : deleting desktop server
.\vncdesktop.cpp : killing screen server
.\vncdesktopthread.cpp : quitting desktop server thread
.\vncdesktop.cpp : SetBlankMonitor: monitor on, using alpha false
.\vncdesktop.cpp : Monitor22 -1
.\vncdesktop.cpp : Monitor3 61808 -1
.\vncdesktop.cpp : SetDisableInput: inputs enabled
--The system cannot find the file specified.
Tue Jun 02 19:07:14 2009
.\vncservice.cpp : SelectHDESK to Winlogon (2c) from 160
--Access is denied.
.\vncdesktop.cpp : SetBlankMonitor: monitor on, using alpha false
.\vncdesktop.cpp : SetDisableInput: inputs enabled
--The system cannot find the file specified.
Tue Jun 02 19:07:15 2009
.\vncserver.cpp : desktop deleted
.\vncserver.cpp : RemoveClient() done
.\vncclient.cpp : ~vncClient() executing...
.\vncclient.cpp : deleting socket
.\vsocket.cpp : closing socket
Tue Jun 02 19:07:17 2009
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack
.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: DL
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack call -
Last edited by mloiaco on 2009-06-02 18:37, edited 1 time in total.
chezbut
Posts: 2
Joined: 2009-09-30 02:24
Location: Sunnyvale, CA

Re: VNC disconnects randomly

Post by chezbut »

I am also having this issue.
I see this repeatedly

.\vncservice.cpp : @@@@@@@@@@@@@ GetCurrentUser - UserNAme found: {user xxxx}
--Overlapped I/O operation is in progress.
.\vncmenu.cpp : ########### vncMenu::TIMER TrayIcon 5s hack
Wed Sep 23 18:01:14 2009
mloiaco
8
8
Posts: 10
Joined: 2009-06-01 15:36

Re: VNC disconnects randomly

Post by mloiaco »

Turns out there was no problem with VNC, but rather the machine running the VNC server. Never found out what the problem was, but when we switched to a different machine, the problems went away.
Post Reply