[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-bugs] [Bug 1432] New: libc6-i686 segfaults: cmov on %gs not supported by Xen hypervisor



http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1432

           Summary: libc6-i686 segfaults: cmov on %gs not supported by Xen
                    hypervisor
           Product: Xen
           Version: 3.0.3
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Hypervisor
        AssignedTo: xen-bugs@xxxxxxxxxxxxxxxxxxx
        ReportedBy: mseaborn@xxxxxxxxxxxxxxxx


I spent some time tracking down this issue yesterday.  It has been fixed in the
Xen hypervisor, but I thought I would record it here in case other people hit
it.  It is present in the version of Xen in Debian etch.

The problem was that the hypervisor did not support the cmov instruction on the
%gs segment register used for TLS access.

This manifested itself in a segfault in readdir64_r(), with the same backtrace
as in this post:
http://lkml.org/lkml/2007/11/28/233
('"hwcap 0 nosegneg" doesnt work with paravirt_ops xen as of 2.6.23.9')
The instruction that segfaulted was:
0xb7ed113c <readdir64_r+220>:   cmovne %gs:(%edx),%eax

This happened in Ubuntu's libc6 (running in a chroot on top of Debian).

This was fixed in Xen in July 2007:
http://xenbits.xensource.com/xen-3.3-testing.hg?rev/f1b62eb7f8be

We hit this because we inadvertently upgraded the kernel to a version in which
the number of the nosegneg hwcap bit had been changed from 0 to 1, which meant
that the Xen (nosegneg) version of glibc was no longer being used.


-- 
Configure bugmail: 
http://bugzilla.xensource.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

_______________________________________________
Xen-bugs mailing list
Xen-bugs@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-bugs


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.