From mboxrd@z Thu Jan 1 00:00:00 1970 From: Allan Graves Subject: Re: 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM Date: Wed, 04 Nov 2009 13:54:17 -0500 Message-ID: <4AF1CDD9.8010009@oracle.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org 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" 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" 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 >>>> 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 >>>>>>> >>>>>>> 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 >>>> >>> >>> > >