Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Mar 2010 13:19:39 +0300
From:      "Alexander Zagrebin" <alexz@visp.ru>
To:        "'Bernhard Froehlich'" <decke@bluelife.at>
Cc:        freebsd-emulation@freebsd.org
Subject:   RE: Call for testers: VirtualBox 3.1.4 update
Message-ID:  <2DFB65D67E9140B6B82B1608007C5200@vosz.local>
In-Reply-To: <b125726c2b23907bc4a2dc547ca8e091@bluelife.at>
References:  <b125726c2b23907bc4a2dc547ca8e091@bluelife.at>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

------=_NextPart_000_0105_01CAC442.2AF6BF60
Content-Type: text/plain;
	charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

VirtualBox still crashes when saving state in the headless mode.

Try these commands to reproduce the bug (may be the VirtualBox needs
to be compiled without X11):

$ VBoxHeadless -s Test &
$ VBoxManage controlvm Test savestate
Sun VirtualBox Command Line Management Interface Version 3.1.4_OSE
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...
Error: failed to save machine state. No error message available!

The reason is an arithmetic exception (division by zero) in the
displayMakeThumbnail (src/VBox/Main/DisplayImpl.cpp, line 161)
due to cx and cy are set to 0.

cxThumbnail =3D (kMaxSizeThumbnail * cx) / cy;

The one of possible solutions - don't make the thumbnail (see attached =
patches)=20

--=20
Alexander Zagrebin
=20

> -----Original Message-----
> From: owner-freebsd-emulation@freebsd.org=20
> [mailto:owner-freebsd-emulation@freebsd.org] On Behalf Of=20
> Bernhard Froehlich
> Sent: Friday, March 12, 2010 1:21 PM
> To: freebsd-emulation@FreeBSD.org
> Subject: Call for testers: VirtualBox 3.1.4 update
>=20
> Grias di,
>=20
> we are preparing the VirtualBox 3.1.4 update to fix the=20
> vtophys problems
> with the current port on 9-CURRENT and STABLE kernels and need some
> feedback for this. Many thanks to all developers and testers=20
> that helped
> to track this issue down and Alexander Eichner for all the work and
> fixing it.
>=20
>=20
> Changelog from VirtualBox is available here:
> http://www.virtualbox.org/wiki/Changelog
>=20
> Changes in the port:
>   - VirtualBox and Guest Additions updated to 3.1.4
>   - Add UNIQUENAME to fix options file clashes between the virtualbox
>     ports [0]
>   - Fixed vtophys problems on CURRENT and STABLE kernes newer than
>     January 23th [1]
>   - Fixed page double wiring issue in rtR0MemObjNativeAllocPage [2]
>=20
> PR: ports/143361 [0]
> Submitted by: Martin Birgmeier <martin.birgmeier AT aon.at> [0]
>               Alexander Eichner <Alexander.Eichner AT Sun.COM> [1]
> Thanks To: All testers on emulation@ and current@ [1]
>            Giovanni Trematerra <giovanni.trematerra AT gmail.com> [1]
>            Ian Freislich <ianf AT clue.co.za> [1]
> Reported by: Alan Cox <alc AT cs dot rice dot edu> [2]
>=20
>=20
> How to upgrade:
>   - Fetch the new ports:
>     # fetch=20
> http://svn.bluelife.at/nightlies/virtualbox-port-r758.tar.gz
>     # tar xf virtualbox-port-r758.tar.gz
>=20
>   - Build the new ports:
>     # cd virtualbox-ose-kmod && make
>     # cd ../virtualbox-ose && make
>=20
>   - If build was ok, deinstall old port
>     # pkg_delete virtualbox-\*
>=20
>   - Install new ports:
>     # cd ../virtualbox-ose-kmod && make install clean
>     # cd ../virtualbox-ose && make install clean
>=20
> For FreeBSD guests within VirtualBox please use the
> emulators/virtualbox-ose-additions port from the FreeBSD ports tree.
>=20
>=20
> Check the wiki page for known problems:=20
> http://wiki.freebsd.org/VirtualBox
>=20
> Please report any functionality which was working with=20
> previous versions
> of VirtualBox and no longer working with 3.1.4 or any build failure.
>=20
> Many thanks to the VirtualBox developers, all testers and=20
> patch submitters
> and the whole vbox@ team.
>=20
>=20
> Happy Testing!
>=20
> - - Bernhard (decke) on behalf of the FreeBSD Vbox Team
>=20
> --=20
> Bernhard Fr=D1=86hlich
> http://www.bluelife.at/
> _______________________________________________
> freebsd-emulation@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
> To unsubscribe, send any mail to=20
> "freebsd-emulation-unsubscribe@freebsd.org"
>=20
>=20
> !DSPAM:1,4b9a15a910826779316940!
>=20

------=_NextPart_000_0105_01CAC442.2AF6BF60
Content-Type: application/octet-stream;
	name="patch-src-VBox-Main-DisplayImpl.cpp"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="patch-src-VBox-Main-DisplayImpl.cpp"

--- src/VBox/Main/DisplayImpl.cpp.orig	2010-02-12 22:49:23.000000000 =
+0300=0A=
+++ src/VBox/Main/DisplayImpl.cpp	2010-03-15 10:17:24.303396897 +0300=0A=
@@ -432,9 +432,11 @@=0A=
 =0A=
         if (RT_SUCCESS(rc))=0A=
         {=0A=
+	    if (cx && cy) {=0A=
             /* Prepare a small thumbnail and a PNG screenshot. */=0A=
             displayMakeThumbnail(pu8Data, cx, cy, &pu8Thumbnail, =
&cbThumbnail, &cxThumbnail, &cyThumbnail);=0A=
             displayMakePNG(pu8Data, cx, cy, &pu8PNG, &cbPNG, &cxPNG, =
&cyPNG);=0A=
+            }=0A=
 =0A=
             /* This can be called from any thread. */=0A=
             that->mpDrv->pUpPort->pfnFreeScreenshot =
(that->mpDrv->pUpPort, pu8Data);=0A=

------=_NextPart_000_0105_01CAC442.2AF6BF60
Content-Type: application/octet-stream;
	name="patch-src-VBox-Devices-Graphics-DevVGA.cpp"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="patch-src-VBox-Devices-Graphics-DevVGA.cpp"

--- src/VBox/Devices/Graphics/DevVGA.cpp.orig	2010-02-12 =
22:48:12.000000000 +0300=0A=
+++ src/VBox/Devices/Graphics/DevVGA.cpp	2010-03-15 10:43:10.189226010 =
+0300=0A=
@@ -4973,6 +4973,8 @@=0A=
      */=0A=
     updateDisplayAll(pThis);=0A=
 =0A=
+    if (pThis->last_scr_width && pThis->last_scr_height)=0A=
+    {=0A=
     /*=0A=
      * The display connector interface is temporarily replaced with the =
fake one.=0A=
      */=0A=
@@ -5038,10 +5040,19 @@=0A=
             *pcy =3D Connector.cy;=0A=
         }=0A=
     }=0A=
+    }=0A=
+    else=0A=
+    {=0A=
+        rc =3D VINF_SUCCESS;=0A=
+        *ppu8Data =3D NULL;=0A=
+        *pcbData =3D 0;=0A=
+        *pcx =3D 0;=0A=
+        *pcy =3D 0;=0A=
+    }=0A=
 =0A=
     PDMCritSectLeave(&pThis->lock);=0A=
 =0A=
-    LogFlow(("vgaPortTakeScreenshot: returns %Rrc (cbData=3D%d cx=3D%d =
cy=3D%d)\n", rc, cbRequired, Connector.cx, Connector.cy));=0A=
+    LogFlow(("vgaPortTakeScreenshot: returns %Rrc (cbData=3D%d cx=3D%d =
cy=3D%d)\n", rc, *pcbData, *pcx, *pcy));=0A=
     return rc;=0A=
 }=0A=
 =0A=

------=_NextPart_000_0105_01CAC442.2AF6BF60--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2DFB65D67E9140B6B82B1608007C5200>