kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

jared rr spiegel
>Number:         5205
>Category:       kernel
>Synopsis:       multiprocessor kernel crashes on via .MP board; uniproc is fine.
>Confidential:   yes
>Severity:       serious
>Priority:       low
>Responsible:    bugs
>State:          open
>Quarter:        
>Keywords:      
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 20 01:10:01 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     jared rr spiegel
>Release:        npx.c,v 1.40 (and earlier)
>Organization:
net
>Environment:
       
        System      : OpenBSD 4.0
        Architecture: OpenBSD.i386
        Machine     : i386
>Description:
        when using a multiprocessor kernel ( tested with GENERIC.MP from aug.18
        snapshots, and with -current sources updated from rt.fm right afterwards. ),
        the kernel will ddb> with page fault trap in npxdna_xmm+0x71.
       
        problem first noticed in 3.8-current sources from march 2nd,
        ( as that's when we got this motherboard ):

http://marc.theaimsgroup.com/?l=openbsd-misc&m=114349086101214&w=2

        NOTE - the posting to marc had me using in-kernel raid --
        all the information in this report below is on a kernel
        that doesn't have the raid stuff.

        we have been using uniprocessor kernel on this box since
        seeing the crash happen ( which was at the first boot upon
        using the .MP kernel ) and uniproc. doesn't experience this issue.

        we got a 2nd motherboard/case/etc to bring up a 2nd box for
        testing/debugging/etc, and also to try to eliminate if it was a
        'bad-board' issue; the 2nd box has the same identical problem.

        by virtue of the fact (it seems) that nobody else is having
        this problem, i'm willing to make arrangements to ship the
        PC to someone.  it would be rad to get it back (my cost), but i'm
        prepared to accept that not being the case and the dev. can keep
        it.

        the machine has bios serial console and i have remote power
        control, so if someone is interested in that (as opposed to
        me physically shipping the PC), i'd be more than happy to
        oblige someone all the access to that they fancy.

        i have tried duplicating the issue on netbsd -current snapshots
        june 8th, 2006 ) and was unable to get it to crash after beating
        the hell out of it for about 4-5 days.  i didn't try freebsd.

        here is info from ddb, as well as some objdump of the part of
        npx.c that it is pooping at.  this dmesg is from a kernel
        i compiled right after the snapshot (aug.18) also showed the
        crash - it's a straight up GENERIC.MP.

================================================================================
OpenBSD 4.0-beta (GENERIC.MP) #1: Sat Aug 19 16:49:21 EDT 2006
    [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
cpu0: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,APIC,SEP,MTRR,PGE,CMOV,PAT,MMX,FXSR,SSE
real mem  = 467103744 (456156K)
avail mem = 417976320 (408180K)
using 4256 buffers containing 23457792 bytes (22908K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(f9) BIOS, date 10/28/05, BIOS32 rev. 0 @ 0xfa2a0, SM
BIOS rev. 2.3 @ 0xf0000 (37 entries)
bios0: VIA Technologies, Inc. CN400-8237
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
apm0: flags 70102 dobusy 1 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xf0000/0xcaf4
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfca40/176 (9 entries)
pcibios0: PCI Exclusive IRQs: 5 10 11
pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT82C596A ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xef000/0x1000!
mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: RNG AES
cpu0: apic clock running at 132 MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
mainbus0: bus 0 is type PCI
mainbus0: bus 1 is type PCI
mainbus0: bus 2 is type ISA
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 3, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "VIA PM800 AGP" rev 0x00
pchb1 at pci0 dev 0 function 1 "VIA PM800 Errors" rev 0x00
pchb2 at pci0 dev 0 function 2 "VIA PM800 Host" rev 0x00
pchb3 at pci0 dev 0 function 3 "VIA PM800 DRAM" rev 0x00
pchb4 at pci0 dev 0 function 4 "VIA PM800 PMC" rev 0x00
pchb5 at pci0 dev 0 function 7 "VIA PM800 PCI" rev 0x00
ppb0 at pci0 dev 1 function 0 "VIA VT8377 AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "VIA PM800 Unichrome S3" rev 0x02: aperture at 0x
f0000000, size 0x10000000
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
fxp0 at pci0 dev 9 function 0 "Intel 8255x" rev 0x10, i82551: apic 2 int 17 (ir
q 11), address 00:e0:81:59:a3:97
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
vge0 at pci0 dev 10 function 0 "VIA VT612x" rev 0x11: apic 2 int 18 (irq 5), ad
dress 00:e0:81:59:a3:95
ciphy0 at vge0 phy 1: Cicada CS8201 10/100/1000TX PHY, rev. 2
pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA
pciide0: using apic 2 int 20 (irq 11) for native-PCI interrupt
pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel 0
 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide1 channel 0 drive 0: <Maxtor 2F030L0>
wd0: 16-sector PIO, LBA, 29325MB, 60058656 sectors
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6
pciide1: channel 1 ignored (disabled)
uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
 10)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
 10)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
 11)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
 11)
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x86: apic 2 int 21 (irq 5
)
ehci0: timed out waiting for BIOS
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: VIA EHCI root hub, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
viapm0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00
iic0 at viapm0
adt0 at iic0 addr 0x2e: adm1027 rev 0x6a
auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: apic 2 int 22 (irq
 5)
ac97: codec id 0x49434552 (ICEnsemble VIA VT1616i)
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
audio0 at auvia0
vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x78: apic 2 int 23 (irq 10),
 address 00:e0:81:59:a3:96
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 10: OUI 0x004063
, model 0x0032
isa0 at mainbus0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lm0 at isa0 port 0x290/8: W83697HF
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
biomask 0 netmask 0 ttymask 0
pctr: user-level cycle counter enabled
apm0: disconnected
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
cpu1: RNG AES

================================================================================
kernel: page fault trap, code=0
Stopped at      npxdna_xmm+0x71:        movl    0x14c(%ebx),%eax
ddb{0}> trace
npxdna_xmm(d081d660) at npxdna_xmm+0x71
Xdna(d078daf4,d1178b00,0,e7bc9000,0) at Xdna+0x39
softclock(58,10,10,10,e7bc9000) at softclock+0x22c
Bad frame pointer: 0xe7bcaf20
ddb{0}> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT       COMMAND
  9545    199   5107   1000  3   0x2004086  piperd     as
  8227    199   5107   1000  7      0x4006             cc1
   199  13229   5107   1000  3   0x2004086  wait       cc
 13229   5107   5107   1000  3   0x2004086  pause      sh
 30550  28148  30550   1000  3   0x2004086  ttyin      ksh
 28148  19700  19700   1000  3   0x2000184  select     sshd
 19700  15461  19700      0  3   0x2004084  netio      sshd
  5107   5097   5107   1000  3   0x2004086  wait       make
  5097   3769   5097   1000  3   0x2004086  pause      ksh
  3769  25440  25440   1000  3   0x2000184  select     sshd
 25440  15461  25440      0  3   0x2004084  netio      sshd
  3591      1   3591   1000  3   0x2004086  ttyin      ksh
  1444      1   1444      0  3   0x2004086  ttyin      getty
  9969      1   9969      0  3   0x2004086  ttyin      getty
 18717      1  18717      0  3   0x2004086  ttyin      getty
  9557      1   9557      0  3   0x2004086  ttyin      getty
 31520      1  31520      0  3   0x2004086  ttyin      getty
 29053      1  29053      0  3   0x2000084  select     cron
 15461      1  15461      0  3   0x2000084  select     sshd
  2849      1   2849      0  3   0x2040184  select     sendmail
 20654      1  20654      0  3   0x2000184  select     inetd
  2697   1131   1131     83  3   0x2000184  poll       ntpd
  1131      1   1131      0  3   0x2000084  poll       ntpd
 23920  18038  18038     73  3   0x2000184  poll       syslogd
 18038      1  18038      0  3   0x200008c  netio      syslogd
   771      1    771     77  3   0x2000184  poll       dhclient
 10286      1  17823      0  3   0x2000086  poll       dhclient
    17      0      0      0  3   0x2100204  crypto_wa  crypto
    16      0      0      0  3   0x2100204  aiodoned   aiodoned
    15      0      0      0  3   0x2100204  syncer     update
    14      0      0      0  3   0x2100204  cleaner    cleaner
    13      0      0      0  3    0x100204  reaper     reaper
    12      0      0      0  3   0x2100204  pgdaemon   pagedaemon
    11      0      0      0  3   0x2100204  pftm       pfpurge
    10      0      0      0  3   0x2100204  wait       wskbd_hotkey
     9      0      0      0  3   0x2100204  timeout    sensors
     8      0      0      0  3   0x2100204  usbevt     usb4
     7      0      0      0  3   0x2100204  usbevt     usb3
     6      0      0      0  3   0x2100204  usbevt     usb2
     5      0      0      0  3   0x2100204  usbevt     usb1
     4      0      0      0  3   0x2100204  usbtsk     usbtask
     3      0      0      0  3   0x2100204  usbevt     usb0
     2      0      0      0  3   0x2100204  kmalloc    kmthread
     1      0      1      0  3   0x2004084  wait       init
     0     -1      0      0  3   0x2080204  scheduler  swapper
ddb{0}> show register
ds                  0x10
es                  0x10
fs                  0x58
gs                  0x10
edi           0xd081d660        cpu_info_primary
esi                 0x20
ebp           0xe7bcaeac
ebx                    0
edx                  0x2
ecx                    0
eax                    0
eip           0xd0596859        npxdna_xmm+0x71
cs                   0x8
eflags           0x10246
esp           0xe7bcae84
ss            0xe7bc0010
npxdna_xmm+0x71:        movl    0x14c(%ebx),%eax
ddb{0}> machine ddbcpu 1
Stopped at      Debugger+0x4:   leave
ddb{1}> trace
Debugger(d117bc00,d0773460,0,e8daaf10,d032cc2b) at Debugger+0x4
i386_ipi_handler(b0,58,10,10,10) at i386_ipi_handler+0x57
Xintripi() at Xintripi+0x47
--- interrupt ---
_kernel_proc_lock(d6a0e9e4,1,d6a0e9e4,0,d117bc00) at _kernel_proc_lock+0x8d
trap() at trap+0x5f9
--- trap (number 6) ---
0x1c1a334f:
ddb{1}> show registers
ds                  0x10
es                  0x10
fs                  0x58
gs                  0x10
edi           0xd117bc00        end+0x95d4d0
esi                    0
ebp           0xe8daaecc
ebx                  0x7
edx           0xd076ef04        kernel_lock
ecx                  0x7
eax           0xffffff7f        APTD+0x401f7f
eip           0xd0454250        Debugger+0x4
cs                   0x8
eflags             0x246
esp           0xe8daaecc
ss            0xe8da0010
Debugger+0x4:   leave

================================================================================
$ objdump --line --disassemble npx.o > npx.dis; fgrep '<npxdna_xmm>' npx.dis
00000468 <npxdna_xmm>:
$ typeset -i16 offset=$(( 0x468 + 0x71 )); echo 0x${offset#*#}
0x4d9
#
/usr/src/sys/arch/i386/isa/npx.c:614
 4d0:   83 ec 0c                sub    $0xc,%esp
 4d3:   56                      push   %esi
 4d4:   e8 fc ff ff ff          call   4d5 <npxdna_xmm+0x6d>
/usr/src/sys/arch/i386/isa/npx.c:621
 4d9:   8b 83 4c 01 00 00       mov    0x14c(%ebx),%eax
 4df:   8b 90 a8 02 00 00       mov    0x2a8(%eax),%edx
 4e5:   83 c4 10                add    $0x10,%esp
 4e8:   85 d2                   test   %edx,%edx
 4ea:   0f 85 80 00 00 00       jne    570 <npxdna_xmm+0x108>
/usr/src/sys/arch/i386/isa/npx.c:624
 4f0:   83 60 74 f7             andl   $0xfffffff7,0x74(%eax)
#
$ sed -ne 1p -e 621p /usr/src/sys/arch/i386/isa/npx.c
/*      $OpenBSD: npx.c,v 1.40 2006/07/25 19:16:51 kettenis Exp $       */
        if (p->p_addr->u_pcb.pcb_fpcpu != NULL)

================================================================================
ddb{0}> x /i npxdna_xmm+0x60,0x20
npxdna_xmm+0x60:        andb    %al,%al
npxdna_xmm+0x62:        orl     $0x8,%eax
npxdna_xmm+0x65:        movl    %eax,%cr0
npxdna_xmm+0x68:        subl    $0xc,%esp
npxdna_xmm+0x6b:        pushl   %esi
npxdna_xmm+0x6c:        call    splx
npxdna_xmm+0x71:        movl    0x14c(%ebx),%eax
npxdna_xmm+0x77:        movl    0x2a8(%eax),%edx
npxdna_xmm+0x7d:        addl    $0x10,%esp
npxdna_xmm+0x80:        testl   %edx,%edx
npxdna_xmm+0x82:        jnz     npxdna_xmm+0x108
npxdna_xmm+0x88:        andl    $-9,0x74(%eax)
npxdna_xmm+0x8c:        clts
npxdna_xmm+0x8e:        subl    $0xc,%esp
npxdna_xmm+0x91:        pushl   $0xc0
npxdna_xmm+0x96:        call    splraise
npxdna_xmm+0x9b:        movl    %ebx,0x98(%edi)
npxdna_xmm+0xa1:        movl    %eax,%esi
npxdna_xmm+0xa3:        movl    0x14c(%ebx),%eax
npxdna_xmm+0xa9:        movl    %edi,0x2a8(%eax)
npxdna_xmm+0xaf:        movl    %esi,0(%esp)
npxdna_xmm+0xb2:        call    splx
npxdna_xmm+0xb7:        incl    uvmexp+0x150
npxdna_xmm+0xbd:        movl    0x154(%ebx),%edx
npxdna_xmm+0xc3:        addl    $0x10,%esp
npxdna_xmm+0xc6:        testb   $0x1,%dl
npxdna_xmm+0xc9:        jnz     npxdna_xmm+0xec
npxdna_xmm+0xcb:        movl    0x14c(%ebx),%eax
npxdna_xmm+0xd1:        fldcw   0x80(%eax)
npxdna_xmm+0xd7:        orl     $0x1,%edx
npxdna_xmm+0xda:        movl    %edx,0x154(%ebx)
npxdna_xmm+0xe0:        movl    $0x1,%eax

================================================================================
if i compile a GENERIC.MP with 'COPTS=-mcpu=c3' instead of the default 'COPTS=-O2',
it still crashes at the same point in the npx.c:
#
kernel: page fault trap, code=0
Stopped at      npxdna_xmm+0xa7:        movl    0x14c(%eax),%eax
ddb{0}> trace
npxdna_xmm(d0a54660) at npxdna_xmm+0xa7
Xdna(d09c4af4,d07c9b23,e7e1df34,a0) at Xdna+0x39
softclock(58,10,10,10,e7e1c000) at softclock+0x3cc
Bad frame pointer: 0xe7e1df30
ddb{0}> show reg
ds                  0x10
es                  0x10
fs                  0x58
gs                  0x10
edi           0xd099cf93        buffer.0+0x13
esi           0xd02025de        Xdoreti+0x6
ebp           0xe7e1de7c
ebx                    0
edx                  0x2
ecx                 0x2d
eax                    0
eip           0xd077524a        npxdna_xmm+0xa7
cs                   0x8
eflags           0x10282        gdt_desc+0x91c6
esp           0xe7e1de64
ss            0xe7e10010
npxdna_xmm+0xa7:        movl    0x14c(%eax),%eax
#
00000627 <npxdna_xmm>:
#
/usr/src/sys/arch/i386/isa/npx.c:614
 6bd:   83 ec 0c                sub    $0xc,%esp
 6c0:   ff 75 f8                pushl  0xfffffff8(%ebp)
 6c3:   e8 fc ff ff ff          call   6c4 <npxdna_xmm+0x9d>
                        6c4: R_386_PC32 splx
 6c8:   83 c4 10                add    $0x10,%esp
/usr/src/sys/arch/i386/isa/npx.c:621
 6cb:   8b 45 fc                mov    0xfffffffc(%ebp),%eax
 6ce:   8b 80 4c 01 00 00       mov    0x14c(%eax),%eax
 6d4:   83 b8 a8 02 00 00 00    cmpl   $0x0,0x2a8(%eax)
 6db:   74 10                   je     6ed <npxdna_xmm+0xc6>
/usr/src/sys/arch/i386/isa/npx.c:622
 6dd:   83 ec 08                sub    $0x8,%esp
 6e0:   6a 01                   push   $0x1
 6e2:   ff 75 fc                pushl  0xfffffffc(%ebp)
 6e5:   e8 fc ff ff ff          call   6e6 <npxdna_xmm+0xbf>
                        6e6: R_386_PC32 npxsave_proc
 6ea:   83 c4 10                add    $0x10,%esp

>How-To-Repeat:
        i have been compiling kernels to test the crashing, and thus far
        i haven't made it through a single kernel compile without it crashing
        at some point therein.  it is not crashing on the same C source
        file each time.  doesn't matter if it's compiling GENERIC or GENERIC.MP,
        etcetc.

        have also had it crash while 'tar xzpf'ing a file, as well
        as have had it crash while sitting there idling, have had it crash
        while ssh'd into it and catting a boatload of textfiles to terminal
        quickly ( ethernet LAN )... etc

        the kernel-compile test is what i'm using because it gets me to the
        crash quickly and "reliably", not because it's the only way to trigger
        the crash.
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

Mark Kettenis
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: Mark Kettenis <[hidden email]>
To: jared rr spiegel <[hidden email]>
Cc:  
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Mon, 21 Aug 2006 22:52:09 +0200 (CEST)

 Can you try running with the attached patch?  Please rebuild a kernel
 from scratch (on another i386 box?) with a standard kernel config
 without setting any compiler options.
 
 Mark
 
 Index: npx.c
 ===================================================================
 RCS file: /cvs/src/sys/arch/i386/isa/npx.c,v
 retrieving revision 1.40
 diff -u -p -r1.40 npx.c
 --- npx.c 25 Jul 2006 19:16:51 -0000 1.40
 +++ npx.c 21 Aug 2006 20:49:44 -0000
 @@ -588,6 +588,7 @@ npxdna_xmm(struct cpu_info *ci)
  #else
  p = curproc;
  #endif
 + KASSERT(p != NULL);
 
  IPRINTF(("%s: dna for %lx%s\n", ci->ci_dev.dv_xname, (u_long)p,
     (p->p_md.md_flags & MDP_USEDFPU) ? " (used fpu)" : ""));

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

jared rr spiegel
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: jared rr spiegel <[hidden email]>
To: Mark Kettenis <[hidden email]>, [hidden email]
Cc:  
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Tue, 22 Aug 2006 00:43:57 -0400

 On Mon, Aug 21, 2006 at 10:52:09PM +0200, Mark Kettenis wrote:
 > Can you try running with the attached patch?  Please rebuild a kernel
 > from scratch (on another i386 box?) with a standard kernel config
 > without setting any compiler options.
 
   hrm.  welp, diff applied clean a-ok; here's the md5 after the patch:
 
 MD5 (npx.c) = ee2e6469cb331d43ca40ff50ad2bfae9
 
   seemed to be running OK, actually, had not crashed - was on:
 
 /usr/src/sys/arch/i386/compile/GENERIC.MP/../../../../dev/i2o/ioprbs.c
 
   and then *poop*.  i just doublechecked everything i did along
   the way, and it all checks out.... ( diff applies clean, recent checkout,
   etc ), but i'm confused about the 'npxdna_s87' in here -- i thought
   ( from looking at the npx.c ) that it would set 'npxdna_func' to the _xmm
   one if it found I686_CPU defined, and _s87 if I686_CPU was not defined...
 
   haven't seen _s87 anywhere in the testing i've done other than the one
   time i tried setting npxdna_func to the _s87 version as a test...
   ( still crashed back then ).
 
   but here it is nonetheless - just did another cvs update - the only
   '?' or 'M' i have are the backup of npx.c i made and the npx.c; the
   /etc/mk.conf was all commented out and i have no /etc/malloc.conf
   symlink...  <shrug> - maybe i just misunderstand and it's ok for
   the _s87 thing to show up this time around:
 
 [/usr/src/sys] $ sed -ne591p /usr/src/sys/arch/i386/isa/npx.c
         KASSERT(p != NULL);
 
 $ panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/arch/i386/isa/npx.c", line 591
 Stopped at      Debugger+0x4:   leave
 RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
 DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
 ddb{0}> show panic
 kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/arch/i386/is
 a/npx.c", line 591
 ddb{0}> trace
 Debugger(d0460171,7ef4d42a,e7bcae5c,0,20) at Debugger+0x4
 panic(d0663460,d06333f7,d067d025,d06e7760,24f) at panic+0x63
 tablefull(d06333f7,d06e7760,24f,d067d025,d6afe000) at tablefull
 npxdna_s87(d081d660) at npxdna_s87
 Xdna(d078daf4,d1178b00,0,e7bc9000,0) at Xdna+0x39
 softclock(58,10,10,10,e7bc9000) at softclock+0x22c
 Bad frame pointer: 0xe7bcaf20
 ddb{0}> ps
    PID   PPID   PGRP    UID  S       FLAGS  WAIT       COMMAND
  22656   8473  28155   1000  3   0x2004086  piperd     as
  21034   8473  28155   1000  7      0x4006             cc1
   8473  17162  28155   1000  3   0x2004086  wait       cc
  17162  28155  28155   1000  3   0x2004086  pause      sh
   5921   1876   5921   1000  3   0x2044186  ttyin      systat
   1876  27564   1876   1000  3   0x2004086  pause      ksh
  27564  25716  25716   1000  3   0x2000184  select     sshd
  25716  21746  25716      0  3   0x2004084  netio      sshd
  28155   3706  28155   1000  3   0x2004086  wait       make
   5398  17546   5398   1000  3   0x2004086  ttyin      ksh
  17546  29301  29301   1000  3   0x2000184  select     sshd
  29301  21746  29301      0  3   0x2004084  netio      sshd
   3706  12238   3706   1000  3   0x2004086  pause      ksh
  12238   2294   2294   1000  3   0x2000184  select     sshd
   2294  21746   2294      0  3   0x2004084  netio      sshd
  13220      1  13220   1000  3   0x2004086  ttyin      ksh
   1588      1   1588      0  3   0x2004086  ttyin      getty
  12924      1  12924      0  3   0x2004086  ttyin      getty
  12833      1  12833      0  3   0x2004086  ttyin      getty
  16275      1  16275      0  3   0x2004086  ttyin      getty
  14552      1  14552      0  3   0x2004086  ttyin      getty
  22714      1  22714      0  3   0x2000084  select     cron
   1667      1   1667      0  3   0x2040184  select     sendmail
  21746      1  21746      0  3   0x2000084  select     sshd
  10281      1  10281      0  3   0x2000184  select     inetd
  25712  26625  26625     83  3   0x2000184  poll       ntpd
  26625      1  26625      0  3   0x2000084  poll       ntpd
  21439   5051   5051     73  3   0x2000184  poll       syslogd
   5051      1   5051      0  3   0x200008c  netio      syslogd
  29716      1  29716     77  3   0x2000184  poll       dhclient
  27216      1  22114      0  3   0x2000086  poll       dhclient
     17      0      0      0  3   0x2100204  crypto_wa  crypto
     16      0      0      0  3   0x2100204  aiodoned   aiodoned
     15      0      0      0  3   0x2100204  syncer     update
     14      0      0      0  3   0x2100204  cleaner    cleaner
     13      0      0      0  3    0x100204  reaper     reaper
     12      0      0      0  3   0x2100204  pgdaemon   pagedaemon
     11      0      0      0  3   0x2100204  pftm       pfpurge
     10      0      0      0  3   0x2100204  wait       wskbd_hotkey
      9      0      0      0  3   0x2100204  timeout    sensors
      8      0      0      0  3   0x2100204  usbevt     usb4
      7      0      0      0  3   0x2100204  usbevt     usb3
      6      0      0      0  3   0x2100204  usbevt     usb2
      5      0      0      0  3   0x2100204  usbevt     usb1
      4      0      0      0  3   0x2100204  usbtsk     usbtask
      3      0      0      0  3   0x2100204  usbevt     usb0
      2      0      0      0  3   0x2100204  kmalloc    kmthread
      1      0      1      0  3   0x2004084  wait       init
      0     -1      0      0  3   0x2080204  scheduler  swapper
 ddb{0}> machine ddbcpu 1
 Stopped at      Debugger+0x4:   leave
 RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
 DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
 ddb{1}> trace
 Debugger(d117bc00,b0,1,e7da6ee0,d0426a96) at Debugger+0x4
 i386_ipi_handler(b0,58,10,10,10) at i386_ipi_handler+0x57
 Xintripi() at Xintripi+0x47
 --- interrupt ---
 _kernel_proc_lock(d6a105ac,e7da2f68,8,cf7f2290,94c) at _kernel_proc_lock+0x8e
 syscall() at syscall+0xef
 --- syscall (number 73) ---
 0xf5339d5:
 ddb{1}> show reg
 ds                  0x10
 es                  0x10
 fs                  0x58
 gs                  0x10
 edi           0xd117bc00        end+0x95d4d0
 esi                    0
 ebp           0xe7da2e8c
 ebx                  0x7
 edx           0xd076ef04        kernel_lock
 ecx                  0x7
 eax           0xffffff7f        APTD+0x401f7f
 eip           0xd04541c4        Debugger+0x4
 cs                   0x8
 eflags             0x246
 esp           0xe7da2e8c
 ss            0xe7da0010
 Debugger+0x4:   leave
 ddb{1}> trace
 Debugger(d117bc00,b0,1,e7da6ee0,d0426a96) at Debugger+0x4
 i386_ipi_handler(b0,58,10,10,10) at i386_ipi_handler+0x57
 Xintripi() at Xintripi+0x47
 --- interrupt ---
 _kernel_proc_lock(d6a105ac,e7da2f68,8,cf7f2290,94c) at _kernel_proc_lock+0x8e
 syscall() at syscall+0xef
 --- syscall (number 73) ---
 0xf5339d5:
 ddb{0}> dmesg
 OpenBSD 4.0-beta (GENERIC.MP) #0: Mon Aug 21 19:12:26 EDT 2006
     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
 cpu0: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 cpu0: FPU,V86,DE,PSE,TSC,MSR,APIC,SEP,MTRR,PGE,CMOV,PAT,MMX,FXSR,SSE
 real mem  = 467103744 (456156K)
 avail mem = 417976320 (408180K)
 using 4256 buffers containing 23457792 bytes (22908K) of memory
 mainbus0 (root)
 bios0 at mainbus0: AT/286+(f9) BIOS, date 10/28/05, BIOS32 rev. 0 @ 0xfa2a0, SM
 BIOS rev. 2.3 @ 0xf0000 (37 entries)
 bios0: VIA Technologies, Inc. CN400-8237
 apm0 at bios0: Power Management spec V1.2
 apm0: AC on, battery charge unknown
 apm0: flags 70102 dobusy 1 doidle 1
 pcibios0 at bios0: rev 2.1 @ 0xf0000/0xcaf4
 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfca40/176 (9 entries)
 pcibios0: PCI Exclusive IRQs: 5 10 11
 pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT82C596A ISA" rev 0x00)
 pcibios0: PCI bus #1 is the last bus
 bios0: ROM list: 0xc0000/0x8000 0xef000/0x1000!
 mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
 cpu0 at mainbus0: apid 0 (boot processor)
 cpu0: RNG AES
 cpu0: apic clock running at 132 MHz
 cpu1 at mainbus0: apid 1 (application processor)
 cpu1: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
 mainbus0: bus 0 is type PCI
 mainbus0: bus 1 is type PCI
 mainbus0: bus 2 is type ISA
 ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 3, 24 pins
 ioapic0: misconfigured as apic 0, remapped to apid 2
 pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
 pchb0 at pci0 dev 0 function 0 "VIA PM800 AGP" rev 0x00
 pchb1 at pci0 dev 0 function 1 "VIA PM800 Errors" rev 0x00
 pchb2 at pci0 dev 0 function 2 "VIA PM800 Host" rev 0x00
 pchb3 at pci0 dev 0 function 3 "VIA PM800 DRAM" rev 0x00
 pchb4 at pci0 dev 0 function 4 "VIA PM800 PMC" rev 0x00
 pchb5 at pci0 dev 0 function 7 "VIA PM800 PCI" rev 0x00
 ppb0 at pci0 dev 1 function 0 "VIA VT8377 AGP" rev 0x00
 pci1 at ppb0 bus 1
 vga1 at pci1 dev 0 function 0 "VIA PM800 Unichrome S3" rev 0x02: aperture at 0x
 f0000000, size 0x10000000
 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
 wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
 fxp0 at pci0 dev 9 function 0 "Intel 8255x" rev 0x10, i82551: apic 2 int 17 (ir
 q 11), address 00:e0:81:59:a3:97
 inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
 vge0 at pci0 dev 10 function 0 "VIA VT612x" rev 0x11: apic 2 int 18 (irq 5), ad
 dress 00:e0:81:59:a3:95
 ciphy0 at vge0 phy 1: Cicada CS8201 10/100/1000TX PHY, rev. 2
 pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA
 pciide0: using apic 2 int 20 (irq 11) for native-PCI interrupt
 pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel 0
  configured to compatibility, channel 1 configured to compatibility
 wd0 at pciide1 channel 0 drive 0: <Maxtor 2F030L0>
 wd0: 16-sector PIO, LBA, 29325MB, 60058656 sectors
 wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6
 pciide1: channel 1 ignored (disabled)
 uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  10)
 usb0 at uhci0: USB revision 1.0
 uhub0 at usb0
 uhub0: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  10)
 usb1 at uhci1: USB revision 1.0
 uhub1 at usb1
 uhub1: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  11)
 usb2 at uhci2: USB revision 1.0
 uhub2 at usb2
 uhub2: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  11)
 usb3 at uhci3: USB revision 1.0
 uhub3 at usb3
 uhub3: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x86: apic 2 int 21 (irq 5
 )
 ehci0: timed out waiting for BIOS
 usb4 at ehci0: USB revision 2.0
 uhub4 at usb4
 uhub4: VIA EHCI root hub, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 viapm0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00
 iic0 at viapm0
 adt0 at iic0 addr 0x2e: adm1027 rev 0x6a
 auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: apic 2 int 22 (irq
  5)
 ac97: codec id 0x49434552 (ICEnsemble VIA VT1616i)
 ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
 audio0 at auvia0
 vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x78: apic 2 int 23 (irq 10),
  address 00:e0:81:59:a3:96
 ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 10: OUI 0x004063
 , model 0x0032
 isa0 at mainbus0
 isadma0 at isa0
 pckbc0 at isa0 port 0x60/5
 pckbd0 at pckbc0 (kbd slot)
 pckbc0: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard, using wsdisplay0
 pms0 at pckbc0 (aux slot)
 pckbc0: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pcppi0 at isa0 port 0x61
 midi0 at pcppi0: <PC speaker>
 spkr0 at pcppi0
 lm0 at isa0 port 0x290/8: W83697HF
 npx0 at isa0 port 0xf0/16: using exception 16
 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
 pccom0: console
 pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
 biomask 0 netmask 0 ttymask 0
 pctr: user-level cycle counter enabled
 apm0: disconnected
 dkcsum: wd0 matches BIOS drive 0x80
 root on wd0d
 rootdev=0x3 rrootdev=0x303 rawdev=0x302
 cpu1: RNG AES
 
 > Mark
 >
 > Index: npx.c
 > ===================================================================
 > RCS file: /cvs/src/sys/arch/i386/isa/npx.c,v
 > retrieving revision 1.40
 > diff -u -p -r1.40 npx.c
 > --- npx.c 25 Jul 2006 19:16:51 -0000 1.40
 > +++ npx.c 21 Aug 2006 20:49:44 -0000
 > @@ -588,6 +588,7 @@ npxdna_xmm(struct cpu_info *ci)
 >  #else
 >   p = curproc;
 >  #endif
 > + KASSERT(p != NULL);
 >  
 >   IPRINTF(("%s: dna for %lx%s\n", ci->ci_dev.dv_xname, (u_long)p,
 >      (p->p_md.md_flags & MDP_USEDFPU) ? " (used fpu)" : ""));

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

Mark Kettenis
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: Mark Kettenis <[hidden email]>
To: [hidden email]
Cc: [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Tue, 22 Aug 2006 21:34:50 +0200 (CEST)

 > Date: Tue, 22 Aug 2006 00:43:57 -0400
 > From: jared rr spiegel <[hidden email]>
 >
 >   the way, and it all checks out.... ( diff applies clean, recent checkout,
 >   etc ), but i'm confused about the 'npxdna_s87' in here -- i thought
 >   ( from looking at the npx.c ) that it would set 'npxdna_func' to the _xmm
 >   one if it found I686_CPU defined, and _s87 if I686_CPU was not defined...
 
 Don't worry.  You are just seeing ddb being a bit confused by
 "optimized" code.  Your box is still crashing in npxdna_xmm as this
 
 > $ panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/arch/i386/isa/npx.c", line 591
 
 panic message clearly shows.
 
 This clearly shouldn't happen.  I'll start digging around in the code
 to see whether I can find a possible cause.  Hopefully I'll be able to
 come back to you soon.
 
 Mark

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

jared rr spiegel
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: jared rr spiegel <[hidden email]>
To: Mark Kettenis <[hidden email]>
Cc: [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Tue, 22 Aug 2006 16:20:47 -0400

 On Tue, Aug 22, 2006 at 09:34:50PM +0200, Mark Kettenis wrote:
 > > Date: Tue, 22 Aug 2006 00:43:57 -0400
 > > From: jared rr spiegel <[hidden email]>
 > >
 > >   the way, and it all checks out.... ( diff applies clean, recent checkout,
 > >   etc ), but i'm confused about the 'npxdna_s87' in here -- i thought
 > >   ( from looking at the npx.c ) that it would set 'npxdna_func' to the _xmm
 > >   one if it found I686_CPU defined, and _s87 if I686_CPU was not defined...
 >
 > Don't worry.  You are just seeing ddb being a bit confused by
 > "optimized" code.  Your box is still crashing in npxdna_xmm as this
 >
 > > $ panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/arch/i386/isa/npx.c", line 591
 >
 > panic message clearly shows.
 
   phew; thought so.
 
   so i am certain i didn't f'ck this experiement up, i just did the normal
   'config GENERIC.MP; cd ../compile/GENERIC.MP && make depend bsd', which did
   include the '-O2' in the 'COPTS' part of the Makefile like it normally does.
 
   was that the correct intended situation, or was i supposed to get rid of
   the '-O2' so that it ended up using '-O0' ( like i think the shitty
   infopage says it does if you don't otherwise specify? ).
 
 > This clearly shouldn't happen.  I'll start digging around in the code
 > to see whether I can find a possible cause.  Hopefully I'll be able to
 > come back to you soon.
 
   awesome.  mickey@ had taken a look at it initially when i posted
   to misc@ originally, but i think that given that nobody else is reporting
   it and it can't be duplicated on any hardware but this stuff ( afaik ),
   it was not something i ought to have bothered him with heavily.
 
   back then, i did end up compiling one of the testing kernels with the IPRINTF
   thingy enabled in npx.c.  here's the output i was seeing on console
   after having that enabled ( don't know if this is relevant info or not ):
 
 ------------------------
 cpu0: done saving
 cpu0: fp proc save d6a76008
 cpu0: fp ipi to cpu1 save d6a76008
 cpu1: fp cpu save d6a76008
 cpu0: dna for d6a76440 (used fpu)
 cpu0: fp save d6a76008
 cpu1: dna for d6a76008 (used fpu)
 cpu0: fp cpu save d6a76008
 cpu1: fp init
 cpu0: done saving
 cpu1: done saving
 cpu0: dna for d6a76008 (used fpu)
 cpu0: fp save d6a76440
 cpu0: fp cpu save d6a76440
 cpu0: done saving
 cpu0: fp proc save d6a76008
 cpu0: fp ipi to cpu1 save d6a76008
 cpu1: fp cpu save d6a76008
 cpu0: dna for d6a76440 (used fpu)
 cpu0: fp save d6a76008
 cpu0: fp cpu save d6a76008
 <...>
 cpu1: dna for d6a76008 (used fpu)
 cpu1: fp init
 cpu0: fp cpu save d6a76008
 cpu1: done saving
 cpu0: done saving
 cpu0: dna for d6a76008 (used fpu)
 cpu0: fp save d6a76440
 cpu0: fp cpu save d6a76440
 cpu0: done saving
 cpu0: fp proc save d6a76008
 cpu0: fp ipi to cpu1 save d6a76008
 cpu1: fp cpu save d6a76008
 cpu0: dna for d6a76440 (used fpu)
 cpu0: fp save d6a76008
 cpu0: fp cpu save d6a76008
 cpu1: dna for d6a76008 (used fpu)
 cpu0: done saving
 cpu1: fp init
 cpu1: done saving
 cpu0: dna for d6a76008 (used fpu)
 cpu0: fp save d6a76440
 cpu0: fp cpu save d6a76440
 cpu0: done saving
 cpu0: fp proc save d6a76008
 cpu0: fp ipi to cpu1 save d6a76008
 cpu1: fp cpu save d6a76008
 cpu0: dna for d6a76440 (used fpu)
 cpu0: fp save d6a76008
 cpu0: fp cpu save d6a76008
 cpu1: dna for d6a76008 (used fpu)
 cpu0: done saving
 cpu1: fp init
 cpu1: done saving
 cpu0: dna for d6a76008 (used fpu)
 cpu0: fp save d6a76440
 cpu0: fp cpu save d6a76440
 cpu0: done saving
 cpu0: fp proc save d6a76008
 cpu0: fp ipi to cpu1 save d6a76008
 cpu1: fp cpu save d6a76008
 cpu1: dna for d6a76008 (used fpu)
 cpu1: fp init
 cpu1: done saving
 cpu1: fp proc save d6a76008
 cpu1: fp ipi to cpu0 save d6a76008
 cpu0: fp cpu save d6a76008
 kernel: page fault trap, code=0
 Stopped at      npxdna_xmm+0x47:        testb   $0x1,0x154(%ebx)
 ddb{0}> trace
 npxdna_xmm(d07cc720) at npxdna_xmm+0x47
 Xdna(d073cbb4,0,e7b95f14,d0202930,0) at Xdna+0x39
 softclock(58,10,10,10,e7b94000) at softclock+0x22c
 Bad frame pointer: 0xe7b95f20
 ddb{0}>
 ---------------------------------------------------
 
   iirc, when i had that IPRINTF kernel in place, it was
   crashing at the 0x47 "testb" jobby instead of the 0x71 like
   normal.
 
   iirc also i had compiled a DEBUG kernel and the console was
   constantly pummeled with :
 
 --------------------
 timeout delayed -4
 timeout delayed -3
 timeout delayed -4
 timeout delayed -4
 timeout delayed -4
 timeout delayed -4
 timeout delayed -4
 timeout delayed -5
 timeout delayed -5
 timeout delayed -6
 timeout delayed -7
 timeout delayed -8
 timeout delayed -8
 timeout delayed -8
 timeout delayed -6
 timeout delayed -7
 timeout delayed -5
 timeout delayed -1
 timeout delayed -1
 timeout delayed -1
 timeout delayed -2
 timeout delayed -3
 timeout delayed -1
 timeout delayed -2
 timeout delayed -1
 timeout delayed -2
 timeout delayed -2
 timeout delayed -1
 timeout delayed -1
 timeout delayed -2
 timeout delayed -3
 ---------------------
 
   but perhaps that is normal for MP.
 
   in the meantime, let me know if you want i should enable that
   IPRINTF thing again, or otherwise get a DEBUG kernel tested
   with that KASSERT diff you sent.
 
   superthanks,
   jared

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

Mark Kettenis
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: Mark Kettenis <[hidden email]>
To: [hidden email]
Cc: [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Wed, 23 Aug 2006 22:48:34 +0200 (CEST)

 > Date: Tue, 22 Aug 2006 16:20:47 -0400
 > From: jared rr spiegel <[hidden email]>
 >
 > On Tue, Aug 22, 2006 at 09:34:50PM +0200, Mark Kettenis wrote:
 >
 > > This clearly shouldn't happen.  I'll start digging around in the code
 > > to see whether I can find a possible cause.  Hopefully I'll be able to
 > > come back to you soon.
 
 Can you try the attached patch?  Please send me the dmesg and try to
 make it crash.
 
 Mark
 
 Index: machdep.c
 ===================================================================
 RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
 retrieving revision 1.364
 diff -u -p -r1.364 machdep.c
 --- machdep.c 20 Aug 2006 01:42:51 -0000 1.364
 +++ machdep.c 23 Aug 2006 20:20:12 -0000
 @@ -1248,6 +1248,7 @@ cyrix3_cpu_setup(struct cpu_info *ci)
  printf(" RNG");
  }
 
 +#if 0
  /* Enable AES engine if present and disabled */
  if (val & C3_CPUID_HAS_ACE) {
  #ifdef CRYPTO
 @@ -1260,6 +1261,7 @@ cyrix3_cpu_setup(struct cpu_info *ci)
  #endif /* CRYPTO */
  printf(" AES");
  }
 +#endif
 
  /* Enable ACE2 engine if present and disabled */
  if (val & C3_CPUID_HAS_ACE2) {

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

jared rr spiegel
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: jared rr spiegel <[hidden email]>
To: Mark Kettenis <[hidden email]>
Cc: [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Fri, 25 Aug 2006 09:23:10 -0400

 On Thu, Aug 24, 2006 at 08:39:31PM +0200, Mark Kettenis wrote:
 > > Date: Wed, 23 Aug 2006 20:25:43 -0400
 > > From: jared rr spiegel <[hidden email]>
 > >
 > > On Wed, Aug 23, 2006 at 10:48:34PM +0200, Mark Kettenis wrote:
 > > > > Date: Tue, 22 Aug 2006 16:20:47 -0400
 > > > > From: jared rr spiegel <[hidden email]>
 > > > >
 > > > > On Tue, Aug 22, 2006 at 09:34:50PM +0200, Mark Kettenis wrote:
 > > > >
 > > > > > This clearly shouldn't happen.  I'll start digging around in the code
 > > > > > to see whether I can find a possible cause.  Hopefully I'll be able to
 > > > > > come back to you soon.
 > > >
 > > > Can you try the attached patch?  Please send me the dmesg and try to
 > > > make it crash.
 > >
 > >   k, still crashed.
 >
 > Doh!  But it proves nothing since the patch left some code enabled
 > that I didn't want to be executed either.  Can you try the attached
 > instead?
 >
 > >   i left the KASSERT in place back in npx.c, lemmie know if i should have
 > >   removed it.
 >
 > That's fine, and probably a good idea.
 
   been running on the patch below since about 10h ago OK, actually.
 
   i've got the VIA board setup doing a "while :; do make clean depend bsd; done".
   previously it had not completed a single build successfully, now it's been
   cranking them out all night.  
 
   i'll leave it in the while loop during work today
 
   jared
 
 > Index: machdep.c
 > ===================================================================
 > RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
 > retrieving revision 1.364
 > diff -u -p -r1.364 machdep.c
 > --- machdep.c 20 Aug 2006 01:42:51 -0000 1.364
 > +++ machdep.c 24 Aug 2006 18:15:08 -0000
 > @@ -1173,7 +1173,9 @@ cyrix3_cpu_setup(struct cpu_info *ci)
 >   int model = (ci->ci_signature >> 4) & 15;
 >   int step = ci->ci_signature & 15;
 >  
 > +#if 0
 >   u_int64_t msreg;
 > +#endif
 >   u_int32_t regs[4];
 >   unsigned int val;
 >  #if !defined(SMALL_KERNEL)
 > @@ -1232,6 +1234,7 @@ cyrix3_cpu_setup(struct cpu_info *ci)
 >   } else
 >   val = 0;
 >  
 > +#if 0
 >   if (val & (C3_CPUID_HAS_RNG | C3_CPUID_HAS_ACE))
 >   printf("%s:", ci->ci_dev.dv_xname);
 >  
 > @@ -1301,6 +1304,7 @@ cyrix3_cpu_setup(struct cpu_info *ci)
 >   }
 >  
 >   printf("\n");
 > +#endif
 >   break;
 >   }
 >  #endif

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

jared rr spiegel
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: jared rr spiegel <[hidden email]>
To: Mark Kettenis <[hidden email]>
Cc: [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Fri, 1 Sep 2006 09:04:57 -0400

 On Thu, Aug 24, 2006 at 08:39:31PM +0200, Mark Kettenis wrote:
 > > Date: Wed, 23 Aug 2006 20:25:43 -0400
 > > From: jared rr spiegel <[hidden email]>
 > >   i left the KASSERT in place back in npx.c, lemmie know if i should have
 > >   removed it.
 >
 > That's fine, and probably a good idea.
 
   i tested a variation of the diff you last sent, since that diff
   removes the RNG and the AES.  i removed the #if 0 surrounding the
   u_int64_t msreg, and then i started the next #if 0 right below the
   "if (val & (C3_RNG | C3_ACE)" printf line, and ended that #if 0
   right before the printf at the bottom that gives a newline.
 
   it enabled the RNG and not the AES.  then i tested the machine and
   it still crashes:
 
 Index: machdep.c
 ===================================================================
 RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
 retrieving revision 1.364
 diff -u -u -r1.364 machdep.c
 --- machdep.c 20 Aug 2006 01:42:51 -0000 1.364
 +++ machdep.c 1 Sep 2006 12:59:22 -0000
 @@ -1248,6 +1248,8 @@
  printf(" RNG");
  }
 
 +#if 0
 +
  /* Enable AES engine if present and disabled */
  if (val & C3_CPUID_HAS_ACE) {
  #ifdef CRYPTO
 @@ -1300,6 +1302,7 @@
  printf(" RSA");
  }
 
 +#endif /* 0 */
  printf("\n");
  break;
  }
 
 
 OpenBSD 4.0 (GENERIC.MP) #4: Thu Aug 31 23:24:31 EDT 2006
     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
 cpu0: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 cpu0: FPU,V86,DE,PSE,TSC,MSR,APIC,SEP,MTRR,PGE,CMOV,PAT,MMX,FXSR,SSE
 real mem  = 467103744 (456156K)
 avail mem = 418000896 (408204K)
 using 4256 buffers containing 23457792 bytes (22908K) of memory
 mainbus0 (root)
 bios0 at mainbus0: AT/286+(f9) BIOS, date 10/28/05, BIOS32 rev. 0 @ 0xfa2a0, SM
 BIOS rev. 2.3 @ 0xf0000 (37 entries)
 bios0: VIA Technologies, Inc. CN400-8237
 apm0 at bios0: Power Management spec V1.2
 apm0: AC on, battery charge unknown
 apm0: flags 70102 dobusy 1 doidle 1
 pcibios0 at bios0: rev 2.1 @ 0xf0000/0xcaf4
 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfca40/176 (9 entries)
 pcibios0: PCI Exclusive IRQs: 5 10 11
 pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT82C596A ISA" rev 0x00)
 pcibios0: PCI bus #1 is the last bus
 bios0: ROM list: 0xc0000/0x8000 0xef000/0x1000!
 mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
 cpu0 at mainbus0: apid 0 (boot processor)
 cpu0: RNG
 cpu0: apic clock running at 132 MHz
 cpu1 at mainbus0: apid 1 (application processor)
 cpu1: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
 mainbus0: bus 0 is type PCI
 mainbus0: bus 1 is type PCI
 mainbus0: bus 2 is type ISA
 ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 3, 24 pins
 ioapic0: misconfigured as apic 0, remapped to apid 2
 pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
 pchb0 at pci0 dev 0 function 0 "VIA PM800 AGP" rev 0x00
 pchb1 at pci0 dev 0 function 1 "VIA PM800 Errors" rev 0x00
 pchb2 at pci0 dev 0 function 2 "VIA PM800 Host" rev 0x00
 pchb3 at pci0 dev 0 function 3 "VIA PM800 DRAM" rev 0x00
 pchb4 at pci0 dev 0 function 4 "VIA PM800 PMC" rev 0x00
 pchb5 at pci0 dev 0 function 7 "VIA PM800 PCI" rev 0x00
 ppb0 at pci0 dev 1 function 0 "VIA VT8377 AGP" rev 0x00
 pci1 at ppb0 bus 1
 vga1 at pci1 dev 0 function 0 "VIA PM800 Unichrome S3" rev 0x02: aperture at 0x
 f0000000, size 0x10000000
 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
 wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
 fxp0 at pci0 dev 9 function 0 "Intel 8255x" rev 0x10, i82551: apic 2 int 17 (ir
 q 11), address 00:e0:81:59:a3:97
 inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
 vge0 at pci0 dev 10 function 0 "VIA VT612x" rev 0x11: apic 2 int 18 (irq 5), ad
 dress 00:e0:81:59:a3:95
 ciphy0 at vge0 phy 1: Cicada CS8201 10/100/1000TX PHY, rev. 2
 pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA
 pciide0: using apic 2 int 20 (irq 11) for native-PCI interrupt
 pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel 0
  configured to compatibility, channel 1 configured to compatibility
 wd0 at pciide1 channel 0 drive 0: <Maxtor 2F030L0>
 wd0: 16-sector PIO, LBA, 29325MB, 60058656 sectors
 wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6
 pciide1: channel 1 ignored (disabled)
 uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  10)
 usb0 at uhci0: USB revision 1.0
 uhub0 at usb0
 uhub0: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  10)
 usb1 at uhci1: USB revision 1.0
 uhub1 at usb1
 uhub1: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  11)
 usb2 at uhci2: USB revision 1.0
 uhub2 at usb2
 uhub2: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq
  11)
 usb3 at uhci3: USB revision 1.0
 uhub3 at usb3
 uhub3: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x86: apic 2 int 21 (irq 5
 )
 ehci0: timed out waiting for BIOS
 usb4 at ehci0: USB revision 2.0
 uhub4 at usb4
 uhub4: VIA EHCI root hub, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 viapm0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00
 iic0 at viapm0
 "unknown" at iic0 addr 0x18 not configured
 adt0 at iic0 addr 0x2e: adm1027 rev 0x6a
 auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: apic 2 int 22 (irq
  5)
 ac97: codec id 0x49434552 (ICEnsemble VIA VT1616i)
 ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
 audio0 at auvia0
 vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x78: apic 2 int 23 (irq 10),
  address 00:e0:81:59:a3:96
 ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 10: OUI 0x004063
 , model 0x0032
 isa0 at mainbus0
 isadma0 at isa0
 pckbc0 at isa0 port 0x60/5
 pckbd0 at pckbc0 (kbd slot)
 pckbc0: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard, using wsdisplay0
 pms0 at pckbc0 (aux slot)
 pckbc0: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pcppi0 at isa0 port 0x61
 midi0 at pcppi0: <PC speaker>
 spkr0 at pcppi0
 lm0 at isa0 port 0x290/8: W83697HF
 npx0 at isa0 port 0xf0/16: using exception 16
 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
 pccom0: console
 pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
 biomask 0 netmask 0 ttymask 0
 pctr: user-level cycle counter enabled
 apm0: disconnected
 dkcsum: wd0 matches BIOS drive 0x80
 root on wd0d
 rootdev=0x3 rrootdev=0x303 rawdev=0x302
 cpu1: RNG
 panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/arch/
 i386/isa/npx.c", line 591
 Stopped at      Debugger+0x4:   leave
 RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
 DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
 ddb{0}> show panic
 kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/arch/i386/is
 a/npx.c", line 591
 ddb{0}> show reg
 ds                  0x10
 es                  0x10
 fs                  0x58
 gs                  0x10
 edi           0xd065fe40        addrmask+0x28e0
 esi           0xe7bc4e58
 ebp           0xe7bc4e2c
 ebx                    0
 edx                  0xc
 ecx           0xd0717004        kprintf_mutex
 eax                  0x1
 eip           0xd0454c78        Debugger+0x4
 cs                   0x8
 eflags             0x202
 esp           0xe7bc4e2c
 ss            0xe7bc0010
 Debugger+0x4:   leave
 ddb{0}> trace
 Debugger(d020365d,7fb9d668,e7bc4e5c,0,20) at Debugger+0x4
 panic(d065fe40,d062ff17,d0679a05,d06e4380,24f) at panic+0x63
 tablefull(d062ff17,d06e4380,24f,d0679a05,c0) at tablefull
 npxdna_s87(d08175c0) at npxdna_s87
 Xdna(d0787a54,0,e7bc4f14,d0202930,0) at Xdna+0x39
 softclock(58,10,10,10,e7bc3000) at softclock+0x22c
 Bad frame pointer: 0xe7bc4f20
 ddb{0}> ps
    PID   PPID   PGRP    UID  S       FLAGS  WAIT       COMMAND
   2016  28576  17483   1000  3   0x2004086  piperd     as
  18974  28576  17483   1000  7      0x4006             cc1
  28576   6192  17483   1000  3   0x2004086  wait       cc
   6192  17483  17483   1000  3   0x2004086  pause      sh
  17483   8314  17483   1000  3   0x2004086  wait       make
   8314   2832   8314   1000  3   0x2004086  pause      ksh
   2832  16295  16295   1000  3   0x2000184  select     sshd
  16295  14248  16295      0  3   0x2004084  netio      sshd
  24112      1  24112      0  3   0x2004086  ttyin      getty
   5335      1   5335      0  3   0x2004086  ttyin      getty
  24453      1  24453      0  3   0x2004086  ttyin      getty
  24132      1  24132      0  3   0x2004086  ttyin      getty
  28083      1  28083      0  3   0x2004086  ttyin      getty
   8548      1   8548      0  3   0x2004086  ttyin      getty
   1458      1   1458      0  3   0x2000084  select     cron
   6369      1   6369      0  3   0x2040184  select     sendmail
  14248      1  14248      0  3   0x2000084  select     sshd
  18344      1  18344      0  3   0x2000184  select     inetd
  21088  25316  25316     83  3   0x2000184  poll       ntpd
  25316      1  25316      0  3   0x2000084  poll       ntpd
  26799  18941  18941     73  3   0x2000184  poll       syslogd
  18941      1  18941      0  3   0x200008c  netio      syslogd
  25057      1  25057     77  3   0x2000184  poll       dhclient
   9487      1  30021      0  3   0x2000086  poll       dhclient
     17      0      0      0  3   0x2100204  crypto_wa  crypto
     16      0      0      0  3   0x2100204  aiodoned   aiodoned
     15      0      0      0  3   0x2100204  syncer     update
     14      0      0      0  3   0x2100204  cleaner    cleaner
     13      0      0      0  3    0x100204  reaper     reaper
     12      0      0      0  3   0x2100204  pgdaemon   pagedaemon
     11      0      0      0  3   0x2100204  pftm       pfpurge
     10      0      0      0  3   0x2100204  wait       wskbd_hotkey
      9      0      0      0  3   0x2100204  timeout    sensors
      8      0      0      0  3   0x2100204  usbevt     usb4
      7      0      0      0  3   0x2100204  usbevt     usb3
      6      0      0      0  3   0x2100204  usbevt     usb2
      5      0      0      0  3   0x2100204  usbevt     usb1
      4      0      0      0  3   0x2100204  usbtsk     usbtask
      3      0      0      0  3   0x2100204  usbevt     usb0
      2      0      0      0  3   0x2100204  kmalloc    kmthread
      1      0      1      0  3   0x2004084  wait       init
      0     -1      0      0  3   0x2080204  scheduler  swapper
 
   now i am trying the following:
 
 Index: machdep.c
 ===================================================================
 RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
 retrieving revision 1.364
 diff -u -u -r1.364 machdep.c
 --- machdep.c 20 Aug 2006 01:42:51 -0000 1.364
 +++ machdep.c 1 Sep 2006 12:55:27 -0000
 @@ -1234,6 +1234,7 @@
 
  if (val & (C3_CPUID_HAS_RNG | C3_CPUID_HAS_ACE))
  printf("%s:", ci->ci_dev.dv_xname);
 +#if 0
 
  /* Enable RNG if present and disabled */
  if (val & C3_CPUID_HAS_RNG) {
 @@ -1247,6 +1248,8 @@
  viac3_rnd_present = 1;
  printf(" RNG");
  }
 +
 +#endif /* 0 */
 
  /* Enable AES engine if present and disabled */
  if (val & C3_CPUID_HAS_ACE) {
 
 
   to see if it ever crashes if i have the RNG part skipped, but
   enable the AES.
 
   this is the dmesg that last diff ( skipping RNG ) made:
 
 OpenBSD 4.0 (GENERIC.MP) #5: Fri Sep  1 08:57:23 EDT 2006
     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
 cpu0: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 cpu0: FPU,V86,DE,PSE,TSC,MSR,APIC,SEP,MTRR,PGE,CMOV,PAT,MMX,FXSR,SSE
 real mem  = 467103744 (456156K)
 avail mem = 418000896 (408204K)
 using 4256 buffers containing 23457792 bytes (22908K) of memory
 mainbus0 (root)
 bios0 at mainbus0: AT/286+(f9) BIOS, date 10/28/05, BIOS32 rev. 0 @ 0xfa2a0, SMBIOS rev. 2.3 @ 0xf0000 (37 entries)
 bios0: VIA Technologies, Inc. CN400-8237
 apm0 at bios0: Power Management spec V1.2
 apm0: AC on, battery charge unknown
 apm0: flags 70102 dobusy 1 doidle 1
 pcibios0 at bios0: rev 2.1 @ 0xf0000/0xcaf4
 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfca40/176 (9 entries)
 pcibios0: PCI Exclusive IRQs: 5 10 11
 pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT82C596A ISA" rev 0x00)
 pcibios0: PCI bus #1 is the last bus
 bios0: ROM list: 0xc0000/0x8000 0xef000/0x1000!
 mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
 cpu0 at mainbus0: apid 0 (boot processor)
 cpu0: AES
 cpu0: apic clock running at 132 MHz
 cpu1 at mainbus0: apid 1 (application processor)
 cpu1: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
 mainbus0: bus 0 is type PCI
 mainbus0: bus 1 is type PCI
 mainbus0: bus 2 is type ISA
 ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 3, 24 pins
 ioapic0: misconfigured as apic 0, remapped to apid 2
 pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
 pchb0 at pci0 dev 0 function 0 "VIA PM800 AGP" rev 0x00
 pchb1 at pci0 dev 0 function 1 "VIA PM800 Errors" rev 0x00
 pchb2 at pci0 dev 0 function 2 "VIA PM800 Host" rev 0x00
 pchb3 at pci0 dev 0 function 3 "VIA PM800 DRAM" rev 0x00
 pchb4 at pci0 dev 0 function 4 "VIA PM800 PMC" rev 0x00
 pchb5 at pci0 dev 0 function 7 "VIA PM800 PCI" rev 0x00
 ppb0 at pci0 dev 1 function 0 "VIA VT8377 AGP" rev 0x00
 pci1 at ppb0 bus 1
 vga1 at pci1 dev 0 function 0 "VIA PM800 Unichrome S3" rev 0x02: aperture at 0xf0000000, size 0x10000000
 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
 wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
 fxp0 at pci0 dev 9 function 0 "Intel 8255x" rev 0x10, i82551: apic 2 int 17 (irq 11), address 00:e0:81:59:a3:97
 inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
 vge0 at pci0 dev 10 function 0 "VIA VT612x" rev 0x11: apic 2 int 18 (irq 5), address 00:e0:81:59:a3:95
 ciphy0 at vge0 phy 1: Cicada CS8201 10/100/1000TX PHY, rev. 2
 pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA
 pciide0: using apic 2 int 20 (irq 11) for native-PCI interrupt
 pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel 0 configured to compatibility, channel 1 configured to compatibility
 wd0 at pciide1 channel 0 drive 0: <Maxtor 2F030L0>
 wd0: 16-sector PIO, LBA, 29325MB, 60058656 sectors
 wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6
 pciide1: channel 1 ignored (disabled)
 uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 10)
 usb0 at uhci0: USB revision 1.0
 uhub0 at usb0
 uhub0: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 10)
 usb1 at uhci1: USB revision 1.0
 uhub1 at usb1
 uhub1: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 11)
 usb2 at uhci2: USB revision 1.0
 uhub2 at usb2
 uhub2: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 11)
 usb3 at uhci3: USB revision 1.0
 uhub3 at usb3
 uhub3: VIA UHCI root hub, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x86: apic 2 int 21 (irq 5)
 ehci0: timed out waiting for BIOS
 usb4 at ehci0: USB revision 2.0
 uhub4 at usb4
 uhub4: VIA EHCI root hub, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 viapm0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00
 iic0 at viapm0
 "unknown" at iic0 addr 0x18 not configured
 adt0 at iic0 addr 0x2e: adm1027 rev 0x6a
 auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: apic 2 int 22 (irq 5)
 ac97: codec id 0x49434552 (ICEnsemble VIA VT1616i)
 ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
 audio0 at auvia0
 vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x78: apic 2 int 23 (irq 10), address 00:e0:81:59:a3:96
 ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 10: OUI 0x004063, model 0x0032
 isa0 at mainbus0
 isadma0 at isa0
 pckbc0 at isa0 port 0x60/5
 pckbd0 at pckbc0 (kbd slot)
 pckbc0: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard, using wsdisplay0
 pms0 at pckbc0 (aux slot)
 pckbc0: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pcppi0 at isa0 port 0x61
 midi0 at pcppi0: <PC speaker>
 spkr0 at pcppi0
 lm0 at isa0 port 0x290/8: W83697HF
 npx0 at isa0 port 0xf0/16: using exception 16
 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
 pccom0: console
 pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
 biomask 0 netmask 0 ttymask 0
 pctr: user-level cycle counter enabled
 apm0: disconnected
 dkcsum: wd0 matches BIOS drive 0x80
 root on wd0d
 rootdev=0x3 rrootdev=0x303 rawdev=0x302
 cpu1: AES

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

jared rr spiegel
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: jared rr spiegel <[hidden email]>
To: Mark Kettenis <[hidden email]>
Cc: [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Fri, 1 Sep 2006 22:23:26 -0400

 On Fri, Sep 01, 2006 at 09:04:57AM -0400, jared rr spiegel wrote:
 >
 >   now i am trying the following:
 >
 > Index: machdep.c
 > ===================================================================
 > RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
 > retrieving revision 1.364
 > diff -u -u -r1.364 machdep.c
 > --- machdep.c 20 Aug 2006 01:42:51 -0000 1.364
 > +++ machdep.c 1 Sep 2006 12:55:27 -0000
 > @@ -1234,6 +1234,7 @@
 >  
 >   if (val & (C3_CPUID_HAS_RNG | C3_CPUID_HAS_ACE))
 >   printf("%s:", ci->ci_dev.dv_xname);
 > +#if 0
 >  
 >   /* Enable RNG if present and disabled */
 >   if (val & C3_CPUID_HAS_RNG) {
 > @@ -1247,6 +1248,8 @@
 >   viac3_rnd_present = 1;
 >   printf(" RNG");
 >   }
 > +
 > +#endif /* 0 */
 >  
 >   /* Enable AES engine if present and disabled */
 >   if (val & C3_CPUID_HAS_ACE) {
 >
 >
 >   to see if it ever crashes if i have the RNG part skipped, but
 >   enable the AES.
 >
 >   this is the dmesg that last diff ( skipping RNG ) made:
 >
 > OpenBSD 4.0 (GENERIC.MP) #5: Fri Sep  1 08:57:23 EDT 2006
 >     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
 > cpu0: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 > cpu0: FPU,V86,DE,PSE,TSC,MSR,APIC,SEP,MTRR,PGE,CMOV,PAT,MMX,FXSR,SSE
 <...>
 > cpu0 at mainbus0: apid 0 (boot processor)
 > cpu0: AES
 > cpu0: apic clock running at 132 MHz
 > cpu1 at mainbus0: apid 1 (application processor)
 > cpu1: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 > cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
 <...>
 > cpu1: AES
 
   this one has been building kernels just fine in a while loop
   initiated from a login over ssh (using aes128-cbc) all day long
   w/o issue.
 
   i imagine with the upcoming 4.0 and ultrasparcIII support, this
   via c3 thing may not be high on the list of priorities.  i'll hush
   up unless i can think of anything else useful to add for now

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

Mark Kettenis
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: Mark Kettenis <[hidden email]>
To: [hidden email]
Cc: [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Sun, 3 Sep 2006 14:03:40 +0200 (CEST)

 > Date: Fri, 1 Sep 2006 22:23:26 -0400
 > From: jared rr spiegel <[hidden email]>
 >
 > On Fri, Sep 01, 2006 at 09:04:57AM -0400, jared rr spiegel wrote:
 > >
 > >   now i am trying the following:
 > >
 > > Index: machdep.c
 > > ===================================================================
 > > RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
 > > retrieving revision 1.364
 > > diff -u -u -r1.364 machdep.c
 > > --- machdep.c 20 Aug 2006 01:42:51 -0000 1.364
 > > +++ machdep.c 1 Sep 2006 12:55:27 -0000
 > > @@ -1234,6 +1234,7 @@
 > >  
 > >   if (val & (C3_CPUID_HAS_RNG | C3_CPUID_HAS_ACE))
 > >   printf("%s:", ci->ci_dev.dv_xname);
 > > +#if 0
 > >  
 > >   /* Enable RNG if present and disabled */
 > >   if (val & C3_CPUID_HAS_RNG) {
 > > @@ -1247,6 +1248,8 @@
 > >   viac3_rnd_present = 1;
 > >   printf(" RNG");
 > >   }
 > > +
 > > +#endif /* 0 */
 > >  
 > >   /* Enable AES engine if present and disabled */
 > >   if (val & C3_CPUID_HAS_ACE) {
 > >
 > >
 > >   to see if it ever crashes if i have the RNG part skipped, but
 > >   enable the AES.
 > >
 > >   this is the dmesg that last diff ( skipping RNG ) made:
 > >
 > > OpenBSD 4.0 (GENERIC.MP) #5: Fri Sep  1 08:57:23 EDT 2006
 > >     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
 > > cpu0: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 > > cpu0: FPU,V86,DE,PSE,TSC,MSR,APIC,SEP,MTRR,PGE,CMOV,PAT,MMX,FXSR,SSE
 > <...>
 > > cpu0 at mainbus0: apid 0 (boot processor)
 > > cpu0: AES
 > > cpu0: apic clock running at 132 MHz
 > > cpu1 at mainbus0: apid 1 (application processor)
 > > cpu1: VIA Nehemiah ("CentaurHauls" 686-class) 1 GHz
 > > cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
 > <...>
 > > cpu1: AES
 >
 >   this one has been building kernels just fine in a while loop
 >   initiated from a login over ssh (using aes128-cbc) all day long
 >   w/o issue.
 
 So it is the RNG stuff that causes the problems.  Well, I'm not sure
 AES is completely in the clear, since that code has the same code as
 the RNG to twiddle with the TS and EM bits.  But then the kernel
 probably uses the RNG internally, which might be causing the problem.
 
 >   i imagine with the upcoming 4.0 and ultrasparcIII support, this
 >   via c3 thing may not be high on the list of priorities.  i'll hush
 >   up unless i can think of anything else useful to add for now
 
 Yeah, sorry I got a bit distracted ;-).  I'm afraid that 4.0 will
 still be broken.
 
 I still don't fully understand what happens.  Once I do, I'll probably
 be able to send you further patches with things to try out.
 
 Mark

Reply | Threaded
Open this post in threaded view
|

Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)

jared rr spiegel
In reply to this post by jared rr spiegel
The following reply was made to PR kernel/5205; it has been noted by GNATS.

From: jared rr spiegel <[hidden email]>
To: Mark Kettenis <[hidden email]>
Cc: [hidden email], [hidden email]
Subject: Re: kernel/5205: VIA VT-310DP page fault trap at npxdna_xmm+0x71 (GENERIC.MP)
Date: Sun, 3 Sep 2006 17:23:29 -0400

 On Sun, Sep 03, 2006 at 02:03:40PM +0200, Mark Kettenis wrote:
 > > Date: Fri, 1 Sep 2006 22:23:26 -0400
 > > From: jared rr spiegel <[hidden email]>
 > >
 > > On Fri, Sep 01, 2006 at 09:04:57AM -0400, jared rr spiegel wrote:
 > > <...>
 > > > cpu1: AES
 > >
 > >   this one has been building kernels just fine in a while loop
 > >   initiated from a login over ssh (using aes128-cbc) all day long
 > >   w/o issue.
 >
 > So it is the RNG stuff that causes the problems.  Well, I'm not sure
 > AES is completely in the clear, since that code has the same code as
 > the RNG to twiddle with the TS and EM bits.  But then the kernel
 > probably uses the RNG internally, which might be causing the problem.
 
   at least the w/RNG-only kernel did exhibit the same crashing tendency
   as the w/AES+RNG one; and the w/AES-only kernel did not crash
   at all -- i was worried that neither the w/RNG-only nor w/AES-only
   kernels would crash and it would be only the two in concert that made
   the crash.
 
 > >   i imagine with the upcoming 4.0 and ultrasparcIII support, this
 > >   via c3 thing may not be high on the list of priorities.  i'll hush
 > >   up unless i can think of anything else useful to add for now
 >
 > Yeah, sorry I got a bit distracted ;-).  I'm afraid that 4.0 will
 > still be broken.
 
   it's np - i'm making a 3.9 kernel w/o RNG now to install on the target production
   host.  i'll do the same for 4.0.
 
   having non-crashing bsd.mp w/o hw RNG is a bigger value in the short term
   than non-crashing uniproc bsd w/ hw RNG. :)