Date: Thu, 12 Jun 2014 20:59:36 -0700 From: Ron Thomas <ron@vopenhouse.ca> To: =?UTF-8?Q?Bernhard_Fr=C3=B6hlich?= <decke@freebsd.org> Cc: "freebsd-emulation@freebsd.org" <freebsd-emulation@freebsd.org> Subject: Re: FreeBSD Port: emulators/virtualbox-ose Message-ID: <CAHf5H2nHEM=d9V_bq5fF_cYQOgVC6ui9QCshYfyGJs6U4zaUVQ@mail.gmail.com> In-Reply-To: <CAHf5H2=7p59kBBWMhNnxAVCjwOeE9sPjXh%2BLMSE8vAZHM8jRZg@mail.gmail.com> References: <CAHf5H2n6NRcKNBtwCn_PU6bhPoMoyc_4uUMG0G=8XPCN6d2BsQ@mail.gmail.com> <CAHf5H2k3WEAuV=G5rUvdcwUBWK6KcPRcTcYhW-9-zTvoB0k=Lw@mail.gmail.com> <CAE-m3X2Lo0o_Ka%2BsCGNPxVa2sCzsOfKfSJaHyQZDkhv04BvHLw@mail.gmail.com> <CAHf5H2=7p59kBBWMhNnxAVCjwOeE9sPjXh%2BLMSE8vAZHM8jRZg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 12, 2014 at 8:32 PM, Ron Thomas <ron@vopenhouse.ca> wrote: > > On Thu, Jun 12, 2014 at 7:29 AM, Bernhard Fr=C3=B6hlich <decke@freebsd.or= g> > wrote: > >> On Thu, Jun 12, 2014 at 3:17 AM, Ron Thomas <ron@vopenhouse.ca> wrote: >> > Not sure if this is the right venue for this, if not, could you point >> me in >> > the right direction? >> >> You're absolutely at the right place. >> >> > VBoxHeadless crashes on VNC disconnect. Every time I close a VNC sessi= on >> > VBoxHeadless crashes. I am starting VirtualBox using "service >> vboxheadless >> > start" >> > >> > #uname -a >> > FreeBSD my.domain.com 9.2-RELEASE-p6 FreeBSD 9.2-RELEASE-p6 #0: Tue >> May 13 >> > 08:21:53 UTC 2014 >> > root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC >> > amd64 >> > >> > #pkg version | grep 'virtualbox' >> > virtualbox-ose-4.3.12_1 =3D >> > virtualbox-ose-kmod-4.3.12 =3D >> > >> > Installed with following options: >> > DBUS >> > DEBUG >> > GUESTADDITIONS >> > PYTHON >> > UDPTUNNEL >> > VNC >> > >> > >> > (gdb) backtrace >> > #0 0x0000000805963e48 in ConsoleVRDPServer::AuthDisconnect >> > (this=3D0x805013f00, uuid=3D@0x7ffffeeb3ce0, u32ClientId=3D4294967295)= at >> > >> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Main= /src-client/ConsoleVRDPServer.cpp:3339 >> > #1 0x0000000805919ddb in Console::VRDPClientDisconnect >> (this=3D0x805095800, >> > u32ClientId=3D4294967295, fu32Intercepted=3D0) at >> > >> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Main= /src-client/ConsoleImpl.cpp:1411 >> > #2 0x000000080596962c in ConsoleVRDPServer::VRDPCallbackIntercept >> > (pvCallback=3D0x805013f00, u32ClientId=3D4294967295, fu32Intercept=3D0= , >> > ppvIntercept=3D0x80596962c) >> > at >> > >> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Main= /src-client/ConsoleVRDPServer.cpp:1016 >> > #3 0x00000008084014c0 in VNCServerImpl::clientGoneHook >> (cl=3D0x80a078000) at >> > >> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/ExtP= acks/VNC/VBoxVNC.cpp:1294 >> > #4 0x00000008086178f8 in rfbClientConnectionGone () from >> > /usr/local/lib/libvncserver.so.0 >> > #5 0x0000000808611dec in clientInput () from >> > /usr/local/lib/libvncserver.so.0 >> > #6 0x0000000800829d34 in pthread_getprio () from /lib/libthr.so.3 >> > #7 0x0000000000000000 in ?? () >> >> The stacktrace looks very much like a bug in libvncserver. There is no >> information passed to >> libvncserver that makes me believe that the passed data is wrong so I >> guess it this is nothing >> that VBox can fix. >> >> >> https://www.virtualbox.org/browser/vbox/trunk/src/VBox/ExtPacks/VNC/VBox= VNC.cpp#L1297 >> >> It might be worth trying to recompile libvncserver port with debug >> options to get a full stacktrace >> but it is somewhere here: >> >> >> https://github.com/LibVNC/libvncserver/blob/79e68d065004b24811d68e211c27= b918654aabed/libvncserver/main.c#L509 >> > > When I use make config, There doesn't appear to be debug options in the > net/libvncserver port > Ok so I found out something new to me (still pretty new to all this), for libvncserver I did: #make WITH_DEBUG=3Dyes install I think that is right, I'm still pretty new to this. Also located the VirtualBox log file which says: 00:05:27.642965 !!Assertion Failed!! 00:05:27.642966 Expression: mAuthLibrary && (mpfnAuthEntry || mpfnAuthEntry2 || mpfnAuthEntry3) 00:05:27.642967 Location : /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Main/sr= c-client/ConsoleVRDPServer.cpp(3348) void ConsoleVRDPServer::AuthDisconnect(const com::Guid&, uint32_t) Not sure if this helps. > > >> >> and the patch that we have in our libvncserver port looks quite like >> it fixes a similar issue in >> another place to me >> >> >> http://svnweb.freebsd.org/ports/head/net/libvncserver/files/patch-libvnc= server__sockets.c?revision=3D340725&view=3Dmarkup >> >> so my first idea would be to do something like that to libvncserver: >> >> >> --- main.c.orig 2014-06-12 16:20:35.163489814 +0200 >> +++ main.c 2014-06-12 16:22:00.598491327 +0200 >> @@ -546,10 +546,10 @@ >> } >> >> /* We have some space on the transmit queue, send some data */ >> - if (FD_ISSET(cl->sock, &wfds)) >> + if (cl->sock >=3D 0 && FD_ISSET(cl->sock, &wfds)) >> rfbSendFileTransferChunk(cl); >> >> - if (FD_ISSET(cl->sock, &rfds) || FD_ISSET(cl->sock, &efds)) >> + if (cl->sock >=3D 0 && (FD_ISSET(cl->sock, &rfds) || >> FD_ISSET(cl->sock, &efds))) >> rfbProcessClientMessage(cl); >> } >> >> >> This patch is completely untested was produced within 2 minutes of >> looking at the code and >> I am not familiar with the VNC code at all so this might be completely >> nonsense - please take >> it for what it's worth. >> >> > I tried your patch then recompiled both libvncserver then virtualbox, no > luck. Any other suggestions? > > >> Since the libvncserver port is unmaintained right now but bapt@ was >> the former maintainer I >> will CC him just in case he knows something about it. >> >> -- >> Bernhard Froehlich >> http://www.bluelife.at/ >> > > > > Ron > Ron
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHf5H2nHEM=d9V_bq5fF_cYQOgVC6ui9QCshYfyGJs6U4zaUVQ>