|
Description
|
I got the following panic stress testing an amd64 machine (browneyes.central)
sched:
#pf Page fault
Bad kernel fault at addr=0x0
pid=0, pc=0xfffffffffb8419e0, sp=0xfffffe8000323bf8, eflags=0x10246
cr0: 8005003b<pg,wp,ne,et,ts,mp,pe> cr4: 6f0<xmme,fxsr,pge,mce,pae,pse>
cr2: 0 cr3: e132000 cr8: c
rdi: 0 rsi: 1855 rdx: 1
rcx: 1 r8: cfffd006b r9: 1
rax: 0 rbx: 0 rbp: fffffe8000323c60
r10: 743e4f9c r11: fffffe8000323ac0 r12: ffffffff82dcd680
r13: fffffffff3e520c9 r14: ffffffff83cd9680 r15: ffffffff82f24c00
fsb: ffffffff80000000 gsb: ffffffff850af800 ds: 43
es: 43 fs: 0 gs: 1c3
trp: e err: 2 rip: fffffffffb8419e0
cs: 28 rfl: 10246 rsp: fffffe8000323bf8
ss: 30
fffffe80003239c0 unix:die+f5 ()
fffffe8000323af0 unix:trap+16f1 ()
fffffe8000323b00 unix:_cmntrap+201 ()
fffffe8000323c60 unix:atomic_add_ptr+0 ()
fffffe8000323c70 unix:intr_thread+50 ()
syncing file systems...
The panic seems to be in the following av_dispatch_autovect code
if (av->av_ticksp && av->av_prilevel <= LOCK_LEVEL)
atomic_add_64(av->av_ticksp, intr_get_time());
It seems like av->av_ticksp became NULL after the 'if' reference guard.
The core file, currently located at
/net/haulass.central/export/workspaces/cth/cores/av_dispatch_autovect ,
is also attached.
This code seems to be added as part of 6272601 in common/io/avintr.c
Chris,
Could you turn off intrd(1m) and see if you can reproduce this?
|