Subject: i386-current page fault trap in profiled code
To: None <port-i386@netbsd.org>
From: john heasley <heas@shrubbery.net>
List: port-i386
Date: 11/01/2002 13:27:30
i experienced the following 3 page faults (2nd one with single-processor
kernel, other are MP) with kernel source from this past thursday morning
(but userland from ~week ago).
all 3 occured, apparently, while my tac_plus daemon was running. this
particular version was compiled with profiling. this was not a problem
with the previous motherboard (asus PIII), but is an issue with this
tyan dual-athlon.
it hasnt occured since rebuilding tac_plus without profiling.
i dont know enough to fix this. send-pr? need more info?
login: kernel: page fault trap, code=0
Stopped in pid 766 (tac_plus) at fuswintr+0x27: movzwl 0(%edx)
,%eax
db{1}> trace
fuswintr(e3335d3c,804ee88,0,e3335d3c) at fuswintr+0x27
statclock(e33c4fa4,6,e3242cc8,1000) at statclock+0x82
hardclock(e33c4fa4,c03039d0,0,0,4811bd80) at hardclock+0xc9
lapic_clockintr(e33c4fa4) at lapic_clockintr+0x73
Xintrltimer() at Xintrltimer+0x4a
--- interrupt ---
gdt_desc+0x804cddc:
db{1}> show reg
ds 0x10
es 0x10
fs 0x30
gs 0x10
edi 0xe3335d3c
esi 0x806fb4e gdt_desc+0x806daa2
ebp 0xe33c4f08
ebx 0xe33c13dc
edx 0x806fb4e gdt_desc+0x806daa2
ecx 0xe33c1000
eax 0x26d2 gdt_desc+0x626
eip 0xc010065b fuswintr+0x27
cs 0x8
eflags 0x10207 gdt_desc+0xe15b
esp 0xe33c4edc
ss 0x10
fuswintr+0x27: movzwl 0(%edx),%eax
db{1}>
db{1}> show reg/u
ds 0x10
es 0x10
fs 0x30
gs 0x10
edi 0xe3335d3c
esi 0x806fb4e gdt_desc+0x806daa2
ebp 0xe33c4f08
ebx 0xe33c13dc
edx 0x806fb4e gdt_desc+0x806daa2
ecx 0xe33c1000
eax 0x26d2 gdt_desc+0x626
eip 0xc010065b fuswintr+0x27
cs 0x8
eflags 0x10207 gdt_desc+0xe15b
esp 0xe33c4edc
ss 0x10
fuswintr+0x27: movzwl 0(%edx),%eax
login: kernel: pakernel: page fault trap, code=0
Stopped in pid 11043 (tac_plus) at fuswintr+0x27: movzwl 0(%edx)
,%eax
db{1}> trace
fuswintr(e33d097c,8057e34,0,5) at fuswintr+0x27
statclock(e3bb6c74,0,0,1) at statclock+0xf1
hardclock(e3bb6c74,c0138341,61,10,61) at hardclock+0xc9
lapic_clockintr(e3bb6c74) at lapic_clockintr+0x73
Xintrltimer() at Xintrltimer+0x4a
--- interrupt ---
db_putchar(61,c019f3b8,8074324,c01fc2ae,fffffff5) at db_putchar+0x38
putchar(61,10,0,8057e34) at putchar+0x128
kprintf(c02aa761,10,0,0,e3bb6dc0) at kprintf+0xa47
db_printf(c02aa761,c02add8e,10,10) at db_printf+0x1b
kdbprinttrap(6,0,e3bb6e20,c01e88bb) at kdbprinttrap+0x48
kdb_trap(6,0,e3bb6ec8,8065000) at kdb_trap+0x6c
trap() at trap+0x17f
--- trap (number 6) ---
i386_copyin(e33d097c,8057e34,1,2,0) at i386_copyin+0x43
trap() at trap+0x374
--- trap (number 3) ---
gdt_desc+0x8055d88:
login: kernel: page fault trap, code=0
Stopped in pid 4097 (tac_plus) at fuswintr+0x27: movzwl 0(%edx)
,%eax
db{1}> trace
fuswintr(e3389200,8053b02,0,e3389200) at fuswintr+0x27
statclock(e3464fa4,6,e33c1c98,1000) at statclock+0x82
hardclock(e3464fa4,c02ff910,0,0,0) at hardclock+0xc9
lapic_clockintr(e3464fa4) at lapic_clockintr+0x73
Xintrltimer() at Xintrltimer+0x4a
--- interrupt ---
gdt_desc+0x8051a56:
db{1}> show reg
ds 0x10
es 0x10
fs 0x30
gs 0x10
edi 0xe3389200
esi 0x807218a gdt_desc+0x80700de
ebp 0xe3464b1c
ebx 0xe34613dc
edx 0x807218a gdt_desc+0x80700de
ecx 0xe3461000
eax 0x4d0e gdt_desc+0x2c62
eip 0xc010065b fuswintr+0x27
cs 0x8
eflags 0x10213 gdt_desc+0xe167
esp 0xe3464af0
ss 0x10
fuswintr+0x27: movzwl 0(%edx),%eax
db{1}> show reg/u
ds 0x10
es 0x10
fs 0x30
gs 0x10
edi 0xe3389200
esi 0x807218a gdt_desc+0x80700de
ebp 0xe3464b1c
ebx 0xe34613dc
edx 0x807218a gdt_desc+0x80700de
ecx 0xe3461000
eax 0x4d0e gdt_desc+0x2c62
eip 0xc010065b fuswintr+0x27
cs 0x8
eflags 0x10213 gdt_desc+0xe167
esp 0xe3464af0
ss 0x10
fuswintr+0x27: movzwl 0(%edx),%eax
db{1}>