[prev in list] [next in list] [prev in thread] [next in thread] 

List:       netbsd-current-users
Subject:    Re: cpuctl panic(!)
From:       Masanobu SAITOH <msaitoh () execsw ! org>
Date:       2014-07-25 3:21:30
Message-ID: 53D1CD3A.7060008 () execsw ! org
[Download RAW message or body]

On 2014/07/25 7:40, Patrick Welche wrote:
> On Thu, Jul 24, 2014 at 11:36:43PM +0100, Patrick Welche wrote:
>> On Thu, Jul 24, 2014 at 11:21:29PM +0100, David Laight wrote:
>>> On Wed, Jun 18, 2014 at 12:43:57PM +0100, Patrick Welche wrote:
>>>> Surprise (-current/amd64):
>>>>
>>>> # cpuctl identify 0
>>>> cpu0: highest basic info 0000000d
>>>> cpu0: highest extended info 80000008
>>>> cpu0: "Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz"
>>>> cpu0: Intel Xeon E3-12xx, 2nd gen i7, i5, i3 2xxx (686-class), 2492.10 MHz
>>>> cpu0: family 0x6 model 0x2a stepping 0x7 (id 0x206a7)
>>>> ...
>>>> cpu0: xsave features 0x7<x87,SSE,AVX>
>>>> cpu0: xsave instructions 0x1<XSAVEOPT>
>>>> cpu0: xsave area size: current 832, maximum 832, xgetbv enabled
>>>> [1]   Segmentation fault (core dumped) cpuctl identify 0
>>>>
>>>> Program terminated with signal 11, Segmentation fault.
>>>> #0  0x00000000004053d0 in x86_xgetbv ()
>>>> (gdb) bt
>>>> #0  0x00000000004053d0 in x86_xgetbv ()
>>>> #1  0x000000000040467d in identifycpu (fd=3, cpuname=0x7f7fffffdb30 "cpu0")
>>>>      at /usr/src/usr.sbin/cpuctl/arch/i386.c:1824
>>>> #2  0x0000000000401cd0 in cpu_identify (argv=0x7f7fffffdbd8)
>>>>      at /usr/src/usr.sbin/cpuctl/cpuctl.c:277
>>>> #3  0x0000000000401644 in main (argc=2, argv=0x7f7fffffdbd0)
>>>>      at /usr/src/usr.sbin/cpuctl/cpuctl.c:116
>>>
>>> The cpu features indicate that xgetbv is available, but when it is executes
>>> there cpu faults.
>>> Clearly that shouldn't happen.
>>> IIRC qemu is buggy - is that bare metal?
>>
>> It was bare metal - I need to remember which piece of metal though!
>
> It seems to be fixed: this looks like the same cpu, and no core dump
> on Tuesday's -current:

  I can reproduce on one of my machine.

  When I saw the first mail in this thread, I tried all of my
x86 machines, but I couldn't reproduce the problem. And then,
I noticed that it can be reproduced when compiling cpuctl with
LDSTATIC=-static on one of my machine.

(i386)
-------------------------------
five(msaitoh)% ./cpuctl identify 0
Cannot bind to target CPU.  Output may not accurately describe the target.
Run as root to allow binding.

cpu0: highest basic info 0000000d
cpu0: highest extended info 80000008
cpu0: "Intel(R) Xeon(R) CPU  @ 1.80GHz"
cpu0: Intel Xeon E3-1200v2 and 3rd gen core, Ivy Bridge (686-class), 1800.13 MHz
cpu0: family 0x6 model 0x3a stepping 0x9 (id 0x306a9)
cpu0: features 0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE>
cpu0: features 0xbfebfbff<MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2>
cpu0: features 0xbfebfbff<SS,HTT,TM,SBF>
cpu0: features1 0x7fbae3ff<SSE3,PCLMULQDQ,DTES64,MONITOR,DS-CPL,VMX,SMX,EST>
cpu0: features1 0x7fbae3ff<TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE41,SSE42,X2APIC>
cpu0: features1 0x7fbae3ff<POPCNT,DEADLINE,AES,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
cpu0: features2 0x28100000<XD,RDTSCP,EM64T>
cpu0: features3 0x1<LAHF>
cpu0: xsave features 0x7<x87,SSE,AVX>
cpu0: xsave instructions 0x1<XSAVEOPT>
cpu0: xsave area size: current 832, maximum 832, xgetbv enabled
Segmentation fault (core dumped)
------------------------------------

I suspect that the program is accessing garbage.




> # cpuctl identify 0
> cpu0: highest basic info 0000000d
> cpu0: highest extended info 80000008
> cpu0: "Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz"
> cpu0: Intel Xeon E3-12xx, 2nd gen i7, i5, i3 2xxx (686-class), 2492.01 MHz
> cpu0: family 0x6 model 0x2a stepping 0x7 (id 0x206a7)
> cpu0: features 0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE>
> cpu0: features 0xbfebfbff<MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2>
> cpu0: features 0xbfebfbff<SS,HTT,TM,SBF>
> cpu0: features1 0x1fbae3ff<SSE3,PCLMULQDQ,DTES64,MONITOR,DS-CPL,VMX,SMX,EST>
> cpu0: features1 0x1fbae3ff<TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE41,SSE42,X2APIC>
> cpu0: features1 0x1fbae3ff<POPCNT,DEADLINE,AES,XSAVE,OSXSAVE,AVX>
> cpu0: features2 0x28100800<SYSCALL/SYSRET,XD,RDTSCP,EM64T>
> cpu0: features3 0x1<LAHF>
> cpu0: xsave features 0x7<x87,SSE,AVX>
> cpu0: xsave instructions 0x1<XSAVEOPT>
> cpu0: xsave area size: current 832, maximum 832, xgetbv enabled
> cpu0: enabled xsave 0x7<x87,SSE,AVX>
> cpu0: I-cache 32KB 64B/line 8-way, D-cache 32KB 64B/line 8-way
> cpu0: L2 cache 256KB 64B/line 8-way
> cpu0: L3 cache 3MB 64B/line 12-way
> cpu0: 64B prefetching
> cpu0: ITLB 64 4KB entries 4-way, 2M/4M: 8 entries
> cpu0: DTLB 64 4KB entries 4-way, 2M/4M: 32 entries (L0)
> cpu0: L2 STLB 512 4KB entries 4-way
> cpu0: Initial APIC ID 0
> cpu0: Cluster/Package ID 0
> cpu0: Core ID 0
> cpu0: SMT ID 0
> cpu0: DSPM-eax 0x77<DTS,IDA,ARAT,PLN,CME,PLTM>
> cpu0: DSPM-ecx 0x9<HWF,EPB>
> cpu0: SEF highest subleaf 00000000
> cpu0: microcode version 0x23, platform ID 4
>
> Cheers,
>
> Patrick
>


-- 
-----------------------------------------------
                 SAITOH Masanobu (msaitoh@execsw.org
                                  msaitoh@netbsd.org)
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic