Date: Sat, 12 May 2012 15:35:19 -0400 From: Gary Palmer <gjp@in-addr.com> To: freebsd-emulation@freebsd.org Subject: Re: headless virtualbox crashing - possible problem with interaction with libvncserver (including patch) Message-ID: <20120512193519.GC31698@in-addr.com> In-Reply-To: <20120512193138.GB31698@in-addr.com> References: <20120512193138.GB31698@in-addr.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--jho1yZJdad60DJr+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sat, May 12, 2012 at 03:31:38PM -0400, Gary Palmer wrote: > Hi, > > I have virtualbox-ose-4.1.14 and libvncserver-0.9.9 installed on FreeBSD 9 > and while I could start one VM using VBoxHeadless fine, the 2nd one would > start but if I tried to attach to the VNC server it would crash with a bus > error. The only thing I noticed in the startup messages was > > 12/05/2012 19:01:24 Listening for VNC connections on TCP port 5901 > 12/05/2012 19:01:24 rfbListenOnTCP6Port: error in bind IPv6 socket: Address already in use > > I tracked this down to libvncserver having IPv6 support but virtualbox > not setting the IPv6 port, just the IPv4 port. I recompiled with debugging > symbols and the attached patch and the crashes have stopped. I'm > inclined to suspect that the patch stops the crash. I'm half pondering > altering the patch a little so that if a port isn't specified it uses the > autoprobe feature of libvncserver to find a free port rather than blindly > assuming 5900 all the time. The patch got stripped, probably for having the wrong MIME type. Let me try again. Gary --jho1yZJdad60DJr+ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="patch-src-VBox-Frontends-VBoxHeadless-FramebufferVNC.cpp.txt" --- src/VBox/Frontends/VBoxHeadless/FramebufferVNC.cpp.orig 2012-05-12 19:50:26.807639833 +0100 +++ src/VBox/Frontends/VBoxHeadless/FramebufferVNC.cpp 2012-05-12 19:50:38.568636058 +0100 @@ -89,7 +89,10 @@ vncServer = rfbGetScreen(0, NULL, mWidth, mHeight, 8, 3, 1); vncServer->screenData = (void*)this; if (mVncPort) + { vncServer->port = mVncPort; + vncServer->ipv6port = mVncPort; + } char *pszDesktopName; rc = RTStrAPrintf(&pszDesktopName, "%s - VirtualBox", pszName); if (rc >= 0) --jho1yZJdad60DJr+--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120512193519.GC31698>