Problems with OSXvnc on MacIntel (no display updates)

I’ve got one of the new intel-based MACs running Tiger and OSXvnc 1.61 and I’ve
run into two fairly major problems. I can connect to it from a windows machine
or from my linux desktop (using vncviewer) but in both cases, we see no screen
refreshes. VNC is handling keyboard and mouse events fine, but the screen
never refreshes so I have to minimize and re-open my vnc client any time I want
to see what the MAC’s screen looks like “now”. :-/ Weird. I’ve noticed something odd
in the output though:

2005-09-30 18:27:36.930 OSXvnc-server[837] Waiting for clients
2005-09-30 18:27:36.936 OSXvnc-server[837] Registering Rendezvous Service(_rfb._tcp.) - fuji.local
2005-09-30 18:27:36.936 OSXvnc-server[837] Rendezvous(_vnc._tcp) - Disabled
2005-09-30 18:27:36.944 OSXvnc-server[837] IPv6: Started Listener Thread on port 5900

If I’m reading that right, OSXvnc is using Rendezvous for some messaging, but
then disables it (or Rendezous disables itself)? Could this be why I’m getting no
updates?

Also, like much older versions of OSXvnc (several years ago), I’m finding that
OSXvnc dies when the user logs out and it must be manually restarted. In the log
file, I see the client disconnecting and then what looks like the same stuff I see upon
startup (registering the rendezvous service again and waiting for clients), but then
I get this error:

2005-09-30 18:11:18.750 OSXvnc-server[672] CFLog (0): CFMessagePort: bootstrap_register(): failed 1100 (0x44c), port = 0x6b03, name = ‘Processes-0.524289’
See /usr/include/servers/bootstrap_defs.h for the error codes.
2005-09-30 18:11:18.753 OSXvnc-server[672] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (Processes-0.524289)
CFMessagePortCreateLocal failed (name = Processes-0.524289 error = 0)

The problem with OSXvnc dying anytime a user logs out I can work around – I’ll
just blow the dust off of the watchdog script I used ages 'n ages ago on our powerpc
powered mac and re-use it here to restart VNC anytime it tips over. But not having the
display ever refresh is a real pain.

Anyone have any ideas? For either problem?

Brent

Thanks for the report bbice:

I’m not sure what problem you are seeing with your Intel Mac, ours is working fine with 1.61.

Are you running the original Mac OS that it came with? Can you get me the build number under “About This Mac”?

On the Rendezvous stuff. This is ONLY used for advertising of the service not for providing the VNC protocol itself. The message you are seeing is about OSXvnc only advertising on one service name (_rfb) and not (_vnc) which we used in our initial version but have switched to a more standardized one.

The part about “crashing” on logout is a known situation and it’s caused by the Mac OS insisting that OSXvnc closedown before it will logout a user (it will send increasing levels of KILL signals until it goes away). The error you see is what you get when trying to access the display buffer without the user loged in (at the GUI level) or being priveledged (root).

Are you running the original Mac OS that it came with? Can you get me the build number under “About This Mac”?

It says it’s 10.4.2 (881072). I’m still on the steep side of the learning curve where OSX is concerned, but I assume the 881072 is the build number?
I didn’t do the initial setup, but I’ll ask and find out if it was a fresh install of OSX or if it’s what the machine shipped with.

The part about “crashing” on logout is a known situation and it’s caused by the Mac OS insisting that OSXvnc closedown before it will logout a user (it will send increasing levels of KILL signals until it goes away).

Ah, ok. But the setting in the Startup pagetab to restart if VNC terminates unexpectedly should still restart it, right? It restarts it fine on a powermac g5 we have which is also running 10.4.2… Strange…

Brent

1: To get the Build Number bring up About this Mac and then click on the Version 10.X.X tag to have it toggle to the build #.

2: Umm this probably isn’t as clear as it should be but the “Restart if it dies” only works as long as the GUI application is running (which of course it can’t if you log off because like all your other GUI apps it gets closed). What will stay up is if you install a “Startup Item” using the Configure Startup Item buttons. Those are independent of the user process and does include a little “keep alive” script which will keep the daemon up.

Ah, ok. It’s definitely build 881072. The fellow who did the initial setup of the machine said he used the pre-installed OS but did install all updates available from Apple so it ought to be as patched and up to date as it can be. I’d also checked for updates last Friday and it said it found none.

2: Umm this probably isn’t as clear as it should be but the “Restart if it dies” only works as long as the GUI application is running (which of course it can’t if you log off because like all your other GUI apps it gets closed). What will stay up is if you install a “Startup Item” using the Configure Startup Item buttons. Those are independent of the user process and does include a little “keep alive” script which will keep the daemon up.

Hmmm. Ok. Well I clicked on "Configure Startup Item button, entered the admin password, and it says it configured a startup item. I had all three checkboxes checked (start on boot, terminate on fast user switch, and restart if server dies unexpectedly). It still dies when I log out. I’ll try a reboot later today and see if it starts automatically and if it will then stay up after logouts after the reboot. (I’d reboot now but a user is logged in via ssh and doing work).

I still dunno why I’m not seeing any screen refreshes. I grabbed a newer version of the tightvnc client which supports a newer version of the VNC protocol (and has a helpful refresh button I can click on) but I’m still having to manually refresh the screen.

Brent

Hmmm, this doesn’t seem to be working on my MacIntel box either. I confirmed that I had a startup item configured (I clicked on the configure startup item button again and rebooted). After the reboot, it DID start VNC automatically and I could see a keepalive process:

root 159 0.0 0.1 27684 584 ?? S 2:41PM 0:00.01 /bin/sh /Library/StartupItems/OSXvnc/OSXvnc-keepalive /Library
root 160 0.0 26.1 384652 271352 ?? S 2:41PM 0:00.83 /Library/StartupItems/OSXvnc/OSXvnc-server -rfbport 0 -desktop

After I logged in via VNC and then logged out, however, I saw the VNC server die and a few seconds later saw the keepalive process die too:
fuji:~ root# !ps
ps -gauxw |grep -i vnc
root 159 0.0 0.1 27684 564 ?? S 2:41PM 0:00.01 /bin/sh /Library/StartupItems/OSXvnc/OSXvnc-keepalive /Library
fuji:~ root# !ps
ps -gauxw |grep -i vnc
root 321 0.0 0.0 18040 284 p0 R+ 3:26PM 0:00.00 grep -i vnc

Are you using the same version/build of OSX on your MacIntel box, Jonathan?
Any ideas or suggestions?

Brent