I have the following situation between two Catalina machines on the same LAN (Mac Mini server/MBP client): & are plugged into the same small Level-One switch (that's also where their Internet comes through). Everything works without the smallest problem (eg. SMB, http, or ssh between them), except that VNC between the two machines does not work reliably:

Frequently, a running session will switch to "Reconnecting..." and not actually succeed but just remain stuck in that state. If I then stop the VNC viewer (stock Apple app) and re-establish, I may observe either scenario: i) I see the blue login-screen, but before the cursor activates in the password-prompt, the VNC viewer switches to "Reconnecting...", or I may not actually be able to establish a session at all, and starting the viewer will eventually time out with an error message.

Sometimes this can be fixed by repeatedly(!) ssh-ing into the server and re-launching screen sharing via launchctl kill KILL system/com.apple.screensharing, but not reliably. Note that ssh, ping and file-sharing work reliably all the time.

Below is a packet capture when I can't even establish a connection - after the last events it's just crickets. I don't speak enough TCP to actually interpret this situation.

15:23:31.961405 IP > Flags [S], seq 1496079150, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 1193977540 ecr 0,sackOK,eol], length 0
15:23:31.961941 IP > Flags [S.], seq 1324118796, ack 1496079151, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 3635444727 ecr 1193977540,sackOK,eol], length 0
15:23:31.961967 IP > Flags [.], ack 1, win 2058, options [nop,nop,TS val 1193977540 ecr 3635444727], length 0
15:23:31.962639 IP > Flags [.], ack 1, win 2058, options [nop,nop,TS val 3635444727 ecr 1193977540], length 0

Also other machines (or VNC clients) cannot connect to the server in that situation, and the tcpdump looks identical from the server-side.

Does anyone have an idea what could be the problem here?

(PS: The closest report here is maybe Screen sharing fails to connect, but is slightly different since it's old and hence unclear to determine if it's an identical instance, and it also did not have a solution.)

You must log in to answer this question.

Browse other questions tagged .