Allan Graves
2009-Oct-30 01:23 UTC
[Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM
(Please excuse double posting - I was told xen-users was not the right list, to put it on xen-devel, as it was not a technical support query, but an issue.) The following program will crash with a fp exception on an INTEL 64 bit HVM domU only: #include <setjmp.h> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } This can be seen using both Linux and Windows 64 bit Guests. My machine is a Core 2 Duo with both VT-D and VT-X extensions enabled. Unfortunately, this is blocking our usage of 64 bit HVM Windows guests. A similar issue was reported in KVM and recently fixed, some of their analysis is below: --------------------------------------------------> >> It seems that the problem can be reproduced by compiling the > >> following simple program using cygwin''s gcc. The program crashes on > >> w2k3-amd64 on kvm-83 on core2-duo, and it does not crash on the > >> same w2k3-amd64 installation on kvm-83 on AMD Phenom. > >> > >> #include <setjmp.h> > >> > >> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } > >> > >> The problem seems to be in the instruction ``mov gs,ax'''' (Intel > >> syntax) in the longjmp() code. If I let the virtual machine execute > >> the instruction, the program crashes. However, if I step over the > >> instruction using the vs2008 debugger, the program completes > >> without crashing. Thus, I think that this is the instruction that > >> Avi is looking for, but I don''t know how to proceed from here. > >> -------------------------------------------------------http://markmail.org/message/owy3x7pf6oywdx5e#query:+page:1+mid:spz6vmdothb2njfb+state:results Anyone have a solution to this? :) Allan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-Oct-31 14:58 UTC
Re: [Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM
What version of Xen are you using? This bug may be fixed in Xen 3.3.2 and Xen 3.4.1. -- Keir On 30/10/2009 01:23, "Allan Graves" <allan.graves@oracle.com> wrote:> (Please excuse double posting - I was told xen-users was not the right > list, to put it on xen-devel, as it was not a technical support query, > but an issue.) > > > The following program will crash with a fp exception on an INTEL 64 bit > HVM domU only: > #include <setjmp.h> > jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } > > > This can be seen using both Linux and Windows 64 bit Guests. > > > My machine is a Core 2 Duo with both VT-D and VT-X extensions enabled. > Unfortunately, this is blocking our usage of 64 bit HVM Windows guests. > > A similar issue was reported in KVM and recently fixed, some of their > analysis is below: > -------------------------------------------------- >>>> It seems that the problem can be reproduced by compiling the >>>> following simple program using cygwin''s gcc. The program crashes on >>>> w2k3-amd64 on kvm-83 on core2-duo, and it does not crash on the >>>> same w2k3-amd64 installation on kvm-83 on AMD Phenom. >>>> >>>> #include <setjmp.h> >>>> >>>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>>> >>>> The problem seems to be in the instruction ``mov gs,ax'''' (Intel >>>> syntax) in the longjmp() code. If I let the virtual machine execute >>>> the instruction, the program crashes. However, if I step over the >>>> instruction using the vs2008 debugger, the program completes >>>> without crashing. Thus, I think that this is the instruction that >>>> Avi is looking for, but I don''t know how to proceed from here. >>>> ------------------------------------------------------- > http://markmail.org/message/owy3x7pf6oywdx5e#query:+page:1+mid:spz6vmdothb2njf > b+state:results > > > > Anyone have a solution to this? :) > > Allan > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Allan Graves
2009-Nov-01 19:32 UTC
Re: [Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM
Keir - Hmm... according to /sys/hypervisor/version, I''m running 3.4.0. Is there a reasonable chance this is fixed in 3.4.1? I haven''t seen anything in the changelogs... Allan Keir Fraser wrote:> What version of Xen are you using? This bug may be fixed in Xen 3.3.2 and > Xen 3.4.1. > > -- Keir > > On 30/10/2009 01:23, "Allan Graves" <allan.graves@oracle.com> wrote: > > >> (Please excuse double posting - I was told xen-users was not the right >> list, to put it on xen-devel, as it was not a technical support query, >> but an issue.) >> >> >> The following program will crash with a fp exception on an INTEL 64 bit >> HVM domU only: >> #include <setjmp.h> >> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >> >> >> This can be seen using both Linux and Windows 64 bit Guests. >> >> >> My machine is a Core 2 Duo with both VT-D and VT-X extensions enabled. >> Unfortunately, this is blocking our usage of 64 bit HVM Windows guests. >> >> A similar issue was reported in KVM and recently fixed, some of their >> analysis is below: >> -------------------------------------------------- >> >>>>> It seems that the problem can be reproduced by compiling the >>>>> following simple program using cygwin''s gcc. The program crashes on >>>>> w2k3-amd64 on kvm-83 on core2-duo, and it does not crash on the >>>>> same w2k3-amd64 installation on kvm-83 on AMD Phenom. >>>>> >>>>> #include <setjmp.h> >>>>> >>>>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>>>> >>>>> The problem seems to be in the instruction ``mov gs,ax'''' (Intel >>>>> syntax) in the longjmp() code. If I let the virtual machine execute >>>>> the instruction, the program crashes. However, if I step over the >>>>> instruction using the vs2008 debugger, the program completes >>>>> without crashing. Thus, I think that this is the instruction that >>>>> Avi is looking for, but I don''t know how to proceed from here. >>>>> ------------------------------------------------------- >>>>> >> http://markmail.org/message/owy3x7pf6oywdx5e#query:+page:1+mid:spz6vmdothb2njf >> b+state:results >> >> >> >> Anyone have a solution to this? :) >> >> Allan >> >> >> >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >> > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-Nov-01 21:24 UTC
Re: [Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM
Well, what would you expect the changelog to say? It''s fixed in the xen-3.4-testing.hg repository by changeset 19697, which is a backport of xen-unstable.hg:19953. -- Keir On 01/11/2009 19:32, "Allan Graves" <allan.graves@oracle.com> wrote:> Keir - > > Hmm... according to /sys/hypervisor/version, I''m running 3.4.0. > > Is there a reasonable chance this is fixed in 3.4.1? I haven''t seen > anything in the changelogs... > > > Allan > > > > Keir Fraser wrote: >> What version of Xen are you using? This bug may be fixed in Xen 3.3.2 and >> Xen 3.4.1. >> >> -- Keir >> >> On 30/10/2009 01:23, "Allan Graves" <allan.graves@oracle.com> wrote: >> >> >>> (Please excuse double posting - I was told xen-users was not the right >>> list, to put it on xen-devel, as it was not a technical support query, >>> but an issue.) >>> >>> >>> The following program will crash with a fp exception on an INTEL 64 bit >>> HVM domU only: >>> #include <setjmp.h> >>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>> >>> >>> This can be seen using both Linux and Windows 64 bit Guests. >>> >>> >>> My machine is a Core 2 Duo with both VT-D and VT-X extensions enabled. >>> Unfortunately, this is blocking our usage of 64 bit HVM Windows guests. >>> >>> A similar issue was reported in KVM and recently fixed, some of their >>> analysis is below: >>> -------------------------------------------------- >>> >>>>>> It seems that the problem can be reproduced by compiling the >>>>>> following simple program using cygwin''s gcc. The program crashes on >>>>>> w2k3-amd64 on kvm-83 on core2-duo, and it does not crash on the >>>>>> same w2k3-amd64 installation on kvm-83 on AMD Phenom. >>>>>> >>>>>> #include <setjmp.h> >>>>>> >>>>>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>>>>> >>>>>> The problem seems to be in the instruction ``mov gs,ax'''' (Intel >>>>>> syntax) in the longjmp() code. If I let the virtual machine execute >>>>>> the instruction, the program crashes. However, if I step over the >>>>>> instruction using the vs2008 debugger, the program completes >>>>>> without crashing. Thus, I think that this is the instruction that >>>>>> Avi is looking for, but I don''t know how to proceed from here. >>>>>> ------------------------------------------------------- >>>>>> >>> http://markmail.org/message/owy3x7pf6oywdx5e#query:+page:1+mid:spz6vmdothb2n >>> jf >>> b+state:results >>> >>> >>> >>> Anyone have a solution to this? :) >>> >>> Allan >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xensource.com >>> http://lists.xensource.com/xen-devel >>> >> >> >>_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Allan Graves
2009-Nov-04 18:54 UTC
Re: [Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM
Keir, Thank you. Umm... I guess I wasn''t sure exactly what the changelog should say - but clearly something other than what I would have titled it. Which is probably cause I don''t think I could have fixed the bug. :) In any case, 3.4.1 does fix the issue! Thank you so much for helping me through this! Allan Keir Fraser wrote:> Well, what would you expect the changelog to say? It''s fixed in the > xen-3.4-testing.hg repository by changeset 19697, which is a backport of > xen-unstable.hg:19953. > > -- Keir > > On 01/11/2009 19:32, "Allan Graves" <allan.graves@oracle.com> wrote: > >> Keir - >> >> Hmm... according to /sys/hypervisor/version, I''m running 3.4.0. >> >> Is there a reasonable chance this is fixed in 3.4.1? I haven''t seen >> anything in the changelogs... >> >> >> Allan >> >> >> >> Keir Fraser wrote: >>> What version of Xen are you using? This bug may be fixed in Xen 3.3.2 and >>> Xen 3.4.1. >>> >>> -- Keir >>> >>> On 30/10/2009 01:23, "Allan Graves" <allan.graves@oracle.com> wrote: >>> >>> >>>> (Please excuse double posting - I was told xen-users was not the right >>>> list, to put it on xen-devel, as it was not a technical support query, >>>> but an issue.) >>>> >>>> >>>> The following program will crash with a fp exception on an INTEL 64 bit >>>> HVM domU only: >>>> #include <setjmp.h> >>>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>>> >>>> >>>> This can be seen using both Linux and Windows 64 bit Guests. >>>> >>>> >>>> My machine is a Core 2 Duo with both VT-D and VT-X extensions enabled. >>>> Unfortunately, this is blocking our usage of 64 bit HVM Windows guests. >>>> >>>> A similar issue was reported in KVM and recently fixed, some of their >>>> analysis is below: >>>> -------------------------------------------------- >>>> >>>>>>> It seems that the problem can be reproduced by compiling the >>>>>>> following simple program using cygwin''s gcc. The program crashes on >>>>>>> w2k3-amd64 on kvm-83 on core2-duo, and it does not crash on the >>>>>>> same w2k3-amd64 installation on kvm-83 on AMD Phenom. >>>>>>> >>>>>>> #include <setjmp.h> >>>>>>> >>>>>>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>>>>>> >>>>>>> The problem seems to be in the instruction ``mov gs,ax'''' (Intel >>>>>>> syntax) in the longjmp() code. If I let the virtual machine execute >>>>>>> the instruction, the program crashes. However, if I step over the >>>>>>> instruction using the vs2008 debugger, the program completes >>>>>>> without crashing. Thus, I think that this is the instruction that >>>>>>> Avi is looking for, but I don''t know how to proceed from here. >>>>>>> ------------------------------------------------------- >>>>>>> >>>> http://markmail.org/message/owy3x7pf6oywdx5e#query:+page:1+mid:spz6vmdothb2n >>>> jf >>>> b+state:results >>>> >>>> >>>> >>>> Anyone have a solution to this? :) >>>> >>>> Allan >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Xen-devel mailing list >>>> Xen-devel@lists.xensource.com >>>> http://lists.xensource.com/xen-devel >>>> >>> >>> > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-Nov-04 19:06 UTC
Re: [Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM
Ha, well I''m glad the solution was so straightforward! :-) K. On 04/11/2009 18:54, "Allan Graves" <allan.graves@oracle.com> wrote:> Keir, > > Thank you. Umm... I guess I wasn''t sure exactly what the changelog > should say - but clearly something other than what I would have titled > it. Which is probably cause I don''t think I could have fixed the bug. :) > > In any case, 3.4.1 does fix the issue! > > Thank you so much for helping me through this! > > Allan > > > > Keir Fraser wrote: >> Well, what would you expect the changelog to say? It''s fixed in the >> xen-3.4-testing.hg repository by changeset 19697, which is a backport of >> xen-unstable.hg:19953. >> >> -- Keir >> >> On 01/11/2009 19:32, "Allan Graves" <allan.graves@oracle.com> wrote: >> >>> Keir - >>> >>> Hmm... according to /sys/hypervisor/version, I''m running 3.4.0. >>> >>> Is there a reasonable chance this is fixed in 3.4.1? I haven''t seen >>> anything in the changelogs... >>> >>> >>> Allan >>> >>> >>> >>> Keir Fraser wrote: >>>> What version of Xen are you using? This bug may be fixed in Xen 3.3.2 and >>>> Xen 3.4.1. >>>> >>>> -- Keir >>>> >>>> On 30/10/2009 01:23, "Allan Graves" <allan.graves@oracle.com> wrote: >>>> >>>> >>>>> (Please excuse double posting - I was told xen-users was not the right >>>>> list, to put it on xen-devel, as it was not a technical support query, >>>>> but an issue.) >>>>> >>>>> >>>>> The following program will crash with a fp exception on an INTEL 64 bit >>>>> HVM domU only: >>>>> #include <setjmp.h> >>>>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>>>> >>>>> >>>>> This can be seen using both Linux and Windows 64 bit Guests. >>>>> >>>>> >>>>> My machine is a Core 2 Duo with both VT-D and VT-X extensions enabled. >>>>> Unfortunately, this is blocking our usage of 64 bit HVM Windows guests. >>>>> >>>>> A similar issue was reported in KVM and recently fixed, some of their >>>>> analysis is below: >>>>> -------------------------------------------------- >>>>> >>>>>>>> It seems that the problem can be reproduced by compiling the >>>>>>>> following simple program using cygwin''s gcc. The program crashes on >>>>>>>> w2k3-amd64 on kvm-83 on core2-duo, and it does not crash on the >>>>>>>> same w2k3-amd64 installation on kvm-83 on AMD Phenom. >>>>>>>> >>>>>>>> #include <setjmp.h> >>>>>>>> >>>>>>>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); } >>>>>>>> >>>>>>>> The problem seems to be in the instruction ``mov gs,ax'''' (Intel >>>>>>>> syntax) in the longjmp() code. If I let the virtual machine execute >>>>>>>> the instruction, the program crashes. However, if I step over the >>>>>>>> instruction using the vs2008 debugger, the program completes >>>>>>>> without crashing. Thus, I think that this is the instruction that >>>>>>>> Avi is looking for, but I don''t know how to proceed from here. >>>>>>>> ------------------------------------------------------- >>>>>>>> >>>>> http://markmail.org/message/owy3x7pf6oywdx5e#query:+page:1+mid:spz6vmdothb >>>>> 2n >>>>> jf >>>>> b+state:results >>>>> >>>>> >>>>> >>>>> Anyone have a solution to this? :) >>>>> >>>>> Allan >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Xen-devel mailing list >>>>> Xen-devel@lists.xensource.com >>>>> http://lists.xensource.com/xen-devel >>>>> >>>> >>>> >> >>_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel