Hi Quentin, what is the expected behaviour of this sample? Should it run forever? Running this sample in a 32-bit guests stops with "segs unset" after a short time. After applying your patch and running the example in the guest, it runs forever.
But: If I run this sample on the host (Linux 4.5.4), it will always stop with "segs unset 1" after the first turn. Kind regards, Frank On Thursday 12 May 2016 14:47:01 quentin buathier wrote: > This is a sample in C++ which reproduce the problem randomly (1 ~ 2 > seconds). > On the same host / guest / cpu that my previous mail. > > 2016-05-12 12:20 GMT+02:00 quentin buathier <qbuath...@tetrane.com>: > > Hi Michal, > > > > I can't now give a way to reproduce the bug but I'll send an executable if > > I manage to reproduce the problem on something minimalist. > > > > But I can give you the context of the problem: > > Host OS: Debian jessie 64-bits > > Guest OS: Debian jessie 32-bits > > Processor: i7-2600 (and all i7 tested) > > > > PS: Sorry for the previous mail that was accidently sent > > > > Regards, > > > > 2016-05-12 12:18 GMT+02:00 quentin buathier <qbuath...@tetrane.com>: > >> Hi Michal, > >> > >> I can't now give a way to reproduce the bug. I'll send an executable if I > >> manage to reproduce the problem on something minimalist. > >> > >> But I can give you the context of the problem: > >> Host OS: Debian jessie 64-bits > >> > >> 2016-05-12 11:52 GMT+02:00 Michal Necasek <michal.neca...@oracle.com>: > >>> Hi Quentin, > >>> > >>> Thank you for the patch! > >>> > >>> Unfortunately (?) I can't reproduce the problem that was originally > >>> > >>> fixed. Could you please provide a bit more information? What's the host > >>> OS, > >>> guest OS, host CPU type? How to reproduce the problem? > >>> > >>> Regards, > >>> > >>> Michal > >>> > >>> On 5/12/2016 11:26 AM, quentin buathier wrote: > >>>> Hi, > >>>> > >>>> As I understand it, there used to be a problem with restoring the FPU > >>>> segments in case of a 64-bit hosts with a 32-bit guest. This issue has > >>>> been fixed by using the macros "SAVE_32_OR_64_FPU" and > >>>> "RESTORE_32_OR_64_FPU" in "src/VBox/VMM/VMMR0/CPUMR0A.asm" (when > >>>> Virtualbox was using fxsave and fxrstor to save and restore the FPU > >>>> context). > >>>> > >>>> But along with the recent support of xsave / xrstor, the bug was > >>>> reintroduced: if the CPU supports xsave/xrstor, Virtualbox uses these > >>>> instructions and the guest's FPU segments are not restored properly. > >>>> > >>>> Please find attached a possible patch to fix this issue (MIT licence). > >>>> > >>>> Regards, > >>>> > >>>> > >>>> _______________________________________________ > >>>> vbox-dev mailing list > >>>> vbox-dev@virtualbox.org > >>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev > >>> > >>> _______________________________________________ > >>> vbox-dev mailing list > >>> vbox-dev@virtualbox.org > >>> https://www.virtualbox.org/mailman/listinfo/vbox-dev -- Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstraße 25, D-80992 München Registergericht: Amtsgericht München, HRA 95603 Komplementärin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher _______________________________________________ vbox-dev mailing list vbox-dev@virtualbox.org https://www.virtualbox.org/mailman/listinfo/vbox-dev