@rcgoodfellow ran into this and the debug logs were a little confusing because multiple sockets were in play simultaneously, but had multiple processes trying to start VNC servers on the same port simultaneously, causing bind() with "address already in use". Could VncServer::start() return an io::Result<()> to bubble up errors, or perhaps even an io::Result<SomeHandle> to allow shutdown via the returned handle?