Bug#497505: [Pkg-virtualbox-devel] Bug#497505: virtualbox-ose doesn't work with linux 2.6.26
Hi On Samstag, 13. September 2008, Frans Pop wrote: # No longer assign to linux-2.6 as the issue has been confirmed for VBox reassign 497505 virtualbox-ose 1.6.2-dfsg-4 tags 497505 patch fixed-upstream thanks On Friday 12 September 2008, Frans Pop wrote: I've taken a look at the upstream SVN repository and it looks like the fix is in changeset 12305 [1]. There are differences between the code there and the source in Debian. That changeset seems to e.g. depend on changeset 12299 [2]. [...] Well, turns out I was wrong. The two patchsets applied cleanly so I was able to do that myself. It did not work though. After looking again it turned out that changesets 12303, 12307 and 12308 were related. After applying those changesets as well, the problem seems to be fixed. A virtual machine that was failing for me (a clean Debian Lenny install) now boots reliably with 2.6.26-1-686 (on an amd64 host running unstable with 2.6.27-rc6 kernel). [...] Please consider applying the attached patch and pushing the new version for Lenny. The patch contains the cumulative diff for the mentioned changesets. Initial testing confirms it to be working very well for me, thanks! As a consequence of this patch, section titleOther incompatibilities/title para For reasons not yet known VirtualBox does not work reliably with 686 optimized linux kernel 2.6.26. If you experience any problem here, please switch to the standard 486 optimized kernel for which these problems have not been reported. /para /section can be removed from virtualbox-ose.README.Debian.xml again as well. Regards Stefan Lippers-Hollmann signature.asc Description: This is a digitally signed message part.
Bug#497505: virtualbox-ose doesn't work with linux 2.6.26
I've taken a look at the upstream SVN repository and it looks like the fix is in changeset 12305 [1]. There are differences between the code there and the source in Debian. That changeset seems to e.g. depend on changeset 12299 [2]. I have not looked much deeper, but at first glance it looks like it should be possible to backport the fix for someone skilled enough in C++ (which I'm not). HTH, FJP [1] http://www.virtualbox.org/changeset/12305 [2] http://www.virtualbox.org/changeset/12299 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#497505: virtualbox-ose doesn't work with linux 2.6.26
# No longer assign to linux-2.6 as the issue has been confirmed for VBox reassign 497505 virtualbox-ose 1.6.2-dfsg-4 tags 497505 patch fixed-upstream thanks On Friday 12 September 2008, Frans Pop wrote: I've taken a look at the upstream SVN repository and it looks like the fix is in changeset 12305 [1]. There are differences between the code there and the source in Debian. That changeset seems to e.g. depend on changeset 12299 [2]. I have not looked much deeper, but at first glance it looks like it should be possible to backport the fix for someone skilled enough in C++ (which I'm not). Well, turns out I was wrong. The two patchsets applied cleanly so I was able to do that myself. It did not work though. After looking again it turned out that changesets 12303, 12307 and 12308 were related. After applying those changesets as well, the problem seems to be fixed. A virtual machine that was failing for me (a clean Debian Lenny install) now boots reliably with 2.6.26-1-686 (on an amd64 host running unstable with 2.6.27-rc6 kernel). Note that the installer itself has never been affected as D-I uses the 486 kernel flavor. The problem only showed for me when trying to boot into an installed system with the 686 kernel flavor. Please consider applying the attached patch and pushing the new version for Lenny. The patch contains the cumulative diff for the mentioned changesets. Cheers, FJP diff -u virtualbox-ose-1.6.2-dfsg/debian/changelog virtualbox-ose-1.6.2-dfsg/debian/changelog --- virtualbox-ose-1.6.2-dfsg/debian/changelog +++ virtualbox-ose-1.6.2-dfsg/debian/changelog @@ -1,3 +1,11 @@ +virtualbox-ose (1.6.2-dfsg-5~fjp) UNRELEASED; urgency=low + + * Apply changesets 12299, 12303, 12305, 12307 and 12308 from upstream SVN +to fix errors running 2.6.26-686 kernels in a Virtual Machine. +Closes: #497505. + + -- Frans Pop [EMAIL PROTECTED] Sat, 13 Sep 2008 00:04:23 +0200 + virtualbox-ose (1.6.2-dfsg-4) unstable; urgency=medium * Adding patch from Gonéri Le Bouder [EMAIL PROTECTED] to fix FTBFS with diff -u virtualbox-ose-1.6.2-dfsg/debian/patches/00list virtualbox-ose-1.6.2-dfsg/debian/patches/00list --- virtualbox-ose-1.6.2-dfsg/debian/patches/00list +++ virtualbox-ose-1.6.2-dfsg/debian/patches/00list @@ -13,0 +14 @@ +14-recompiler-flush-tb-cache.dpatch only in patch2: unchanged: --- virtualbox-ose-1.6.2-dfsg.orig/debian/patches/14-recompiler-flush-tb-cache.dpatch +++ virtualbox-ose-1.6.2-dfsg/debian/patches/14-recompiler-flush-tb-cache.dpatch @@ -0,0 +1,276 @@ +#!/bin/sh /usr/share/dpatch/dpatch-run +## 14-recompiler-flush-tb-cache.dpatch by Frans Pop [EMAIL PROTECTED] +## +## DP: Flush the recompilers translation block cache. + [EMAIL PROTECTED]@ + +only in patch2: +unchanged: +--- virtualbox-ose-1.6.2-dfsg.orig/include/VBox/em.h virtualbox-ose-1.6.2-dfsg/include/VBox/em.h +@@ -313,6 +313,13 @@ + */ + EMDECL(int) EMInterpretPortIO(PVM pVM, PCPUMCTXCORE pCtxCore, PDISCPUSTATE pCpu, uint32_t cbOp); + ++/** ++ * Flushes the REM translation blocks the next time we execute code there. ++ * ++ * @param pVM The VM handle. ++ */ ++EMDECL(void) EMFlushREMTBs(PVM pVM); ++ + EMDECL(uint32_t) EMEmulateCmp(uint32_t u32Param1, uint32_t u32Param2, size_t cb); + EMDECL(uint32_t) EMEmulateAnd(uint32_t *pu32Param1, uint32_t u32Param2, size_t cb); + EMDECL(uint32_t) EMEmulateInc(uint32_t *pu32Param1, size_t cb); +only in patch2: +unchanged: +--- virtualbox-ose-1.6.2-dfsg.orig/include/VBox/rem.h virtualbox-ose-1.6.2-dfsg/include/VBox/rem.h +@@ -67,7 +67,7 @@ + REMR3DECL(int) REMR3Step(PVM pVM); + REMR3DECL(int) REMR3BreakpointSet(PVM pVM, RTGCUINTPTR Address); + REMR3DECL(int) REMR3BreakpointClear(PVM pVM, RTGCUINTPTR Address); +-REMR3DECL(int) REMR3State(PVM pVM); ++REMR3DECL(int) REMR3State(PVM pVM, bool fFlushTBs); + REMR3DECL(int) REMR3StateBack(PVM pVM); + REMR3DECL(void) REMR3StateUpdate(PVM pVM); + REMR3DECL(void) REMR3A20Set(PVM pVM, bool fEnable); +only in patch2: +unchanged: +--- virtualbox-ose-1.6.2-dfsg.orig/src/VBox/VMM/EM.cpp virtualbox-ose-1.6.2-dfsg/src/VBox/VMM/EM.cpp +@@ -720,11 +720,12 @@ + /* + * Switch to REM, step instruction, switch back. + */ +-int rc = REMR3State(pVM); ++int rc = REMR3State(pVM, pVM-em.s.fREMFlushTBs); + if (VBOX_SUCCESS(rc)) + { + rc = REMR3Step(pVM); + REMR3StateBack(pVM); ++pVM-em.s.fREMFlushTBs = false; + } + LogFlow((emR3RemStep: returns %Vrc cs:eip=%04x:%08x\n, rc, CPUMGetGuestCS(pVM), CPUMGetGuestEIP(pVM))); + return rc; +@@ -778,11 +779,12 @@ + if (!fInREMState) + { + STAM_PROFILE_START(pVM-em.s.StatREMSync, b); +-rc = REMR3State(pVM); ++rc = REMR3State(pVM, pVM-em.s.fREMFlushTBs); + STAM_PROFILE_STOP(pVM-em.s.StatREMSync, b); + if (VBOX_FAILURE(rc)) + break; + fInREMState = true; ++pVM-em.s.fREMFlushTBs = false; + + /* +
Bug#497505: virtualbox-ose doesn't work with linux 2.6.26
Hi Just as a status update, Ubuntu has added a patch[1], disabling interrupts in the critical boot up path, to their kernel today, which avoids this issue from triggering - and after initial testing, it seems to succeed. On the other hand, looking at the VirtualBox bug tracker[2], it seems to have been identified as a real bug in VirtualBox' recompiler (which is supposed to have been fixed in VirtualBox 2.0.2). Given the circumstances that this patch to the kernel only seems to paper around the real issue, I do not recommend to add it to Debian's kernel though. Regards Stefan Lippers-Hollmann [1] http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-intrepid.git;a=commitdiff;h=00d6c877bc34ff6e2705385764f6e7426cd362a8 [2] http://www.virtualbox.org/ticket/1875#comment:7 signature.asc Description: This is a digitally signed message part.
Bug#497505: virtualbox-ose doesn't work with linux 2.6.26
Package: virtualbox-ose, linux-image-2.6 Version: 1.6.2-dfsg-4 Severity: important Please see here for details http://virtualbox.org/ticket/1875 http://lkml.org/lkml/2008/8/20/359 http://lists.alioth.debian.org/pipermail/pkg-virtualbox-devel/2008-August/000925.html Apparently it's unclear which party is at fault. However, I'd like to get this documented here as well, so I try reporting it against both packages. Don't worry about the version informatin below, I testesd it with 1.6.4 to no avail. Michael -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (x86_64) Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages virtualbox-ose depends on: ii adduser3.110 add and remove users and groups ii debconf [debconf-2.0] 1.5.23Debian configuration management sy ii libc6 2.7-13GNU C Library: Shared libraries ii libgcc11:4.3.1-9 GCC support library ii libgl1-mesa-glx [libgl1] 7.0.3-5 A free implementation of the OpenG ii libglib2.0-0 2.16.5-1 The GLib library of C routines ii libidl00.8.10-0.1library for parsing CORBA IDL file ii libqt3-mt 3:3.3.8b-5Qt GUI Library (Threaded runtime v ii libsdl1.2debian1.2.13-2 Simple DirectMedia Layer ii libstdc++6 4.3.1-9 The GNU Standard C++ Library v3 ii libx11-6 2:1.1.4-2 X11 client-side library ii libxcursor11:1.1.9-1 X cursor management library ii libxml22.6.32.dfsg-3 GNOME XML library ii libxslt1.1 1.1.24-2 XSLT processing library - runtime ii libxt6 1:1.0.5-3 X11 toolkit intrinsics library Versions of packages virtualbox-ose recommends: hi virtualbox-ose-mod 1.6.4-dfsg-1+2.6.26-2 VirtualBox modules for Linux (kern hi virtualbox-ose-mod 1.6.4-dfsg-1+2.6.26-2 VirtualBox modules for Linux (kern Versions of packages virtualbox-ose suggests: ii bridge-utils1.4-5Utilities for configuring the Linu ii virtualbox-ose-source 1.6.4-dfsg-1 x86 virtualization solution - kern -- debconf information: * virtualbox-ose/upstream_version_change: true -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]