From owner-freebsd-emulation@FreeBSD.ORG Fri Jun 13 03:59:37 2014 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F169EEDE for ; Fri, 13 Jun 2014 03:59:37 +0000 (UTC) Received: from mail-ve0-x233.google.com (mail-ve0-x233.google.com [IPv6:2607:f8b0:400c:c01::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9E6B62AA0 for ; Fri, 13 Jun 2014 03:59:37 +0000 (UTC) Received: by mail-ve0-f179.google.com with SMTP id sa20so898118veb.38 for ; Thu, 12 Jun 2014 20:59:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vopenhouse.ca; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=bE3UpYVPVvYbYZNlCEuOmOUh5GzpK7rLjtHOb66Urho=; b=uIH/kJw4aVbp2yrCeGPFbcUGlnlDakO2+YrS+YxazQjq0vbqaY5lbZpbIQ7cIOmZWC ydUBDxeqd+/o2Hrjg0KNahCdHIvSrjqKi9HoSjRTLpzpnVYJC01tHrXbfgTgGKqlm3eo +NJyVP91iS70BHXqfDZbNTlVxgYVM3wkTCr6I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=bE3UpYVPVvYbYZNlCEuOmOUh5GzpK7rLjtHOb66Urho=; b=OJX3y3KobFvYiqn00JVRC79XrHPign4KPkMyBOAsvu052qivwrIL/MTn4QDYUSRUMX y2Yx1zUOvO1UuWe1Dmuye5BflxBIsDTbf+z3OcvUK67J2UIVf/3htTa+zh0wvhxNj5bR EAaKxrqfKVGMUY7T/ztf/Mvf5/aoKlx9cs1sRE1Lx1sAbmei6bTkTQA8fEM/8pSEqDpv a3ZbAxR3SPEMPL+VdjfjSBvzBUOrmmO9qnWFr4QIuXYbkqzkb+lnApI0VtHNmaZVqKtC S15IsIeFP4CH+cdMjnaJ4GwuoDgWESrKioDWURKOYS5owE0BcGFfw6L0cs+H8mW66ld9 IpYA== X-Gm-Message-State: ALoCoQnPr3o/gCKAxRbBkTZCAAC2B9QECs9klAYOISJ3RFzx8WR1Gv0/j9Q3ktsTALvNGsIDRuhJ MIME-Version: 1.0 X-Received: by 10.221.64.80 with SMTP id xh16mr28558vcb.35.1402631976406; Thu, 12 Jun 2014 20:59:36 -0700 (PDT) Received: by 10.220.197.130 with HTTP; Thu, 12 Jun 2014 20:59:36 -0700 (PDT) X-Originating-IP: [23.16.233.58] In-Reply-To: References: Date: Thu, 12 Jun 2014 20:59:36 -0700 Message-ID: Subject: Re: FreeBSD Port: emulators/virtualbox-ose From: Ron Thomas To: =?UTF-8?Q?Bernhard_Fr=C3=B6hlich?= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18 Cc: "freebsd-emulation@freebsd.org" X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jun 2014 03:59:38 -0000 On Thu, Jun 12, 2014 at 8:32 PM, Ron Thomas wrote: > > On Thu, Jun 12, 2014 at 7:29 AM, Bernhard Fr=C3=B6hlich > wrote: > >> On Thu, Jun 12, 2014 at 3:17 AM, Ron Thomas 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