NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/46224: fatal page fault, kernfs_readdir()
>Number: 46224
>Category: kern
>Synopsis: fatal page fault, kernfs_readdir()
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Mar 19 02:30:01 +0000 2012
>Originator: Petar Bogdanovic
>Release: NetBSD 6.0_BETA (16.03.2012)
>Organization:
>Environment:
amd64
>Description:
a pretty recent netbsd-6 kernel (date: 16.03., arch: amd64) just
crashed several times. The bug seems reproducible and does not
appear, when no kernfs is involved:
$ mount
/dev/raid0a on / type ffs (log, NFS exported, local)
kernfs on /kern type kernfs (local)
$ sudo find / -name '*,v'
/etc/mtree/special.local,v
(...many more lines...)
/var/backups/boot.cfg.current,v
uvm_fault(0xfffffe8114c4dbd0, 0x0, 1) -> e
fatal page fault in supervisor mode
trap type 6 code 0 rip ffffffff804f4ceb cs 8 rflags 10297 cr2 0 cpl 0
rsp fffffe80016077a0
kernel: page fault trap, code=0
Stopped in pid 847.1 (find) at netbsd:kernfs_readdir+0x687: movq
7fb0b30e
(%rip),%rdi
db{1}> bt
kernfs_readdir() at netbsd:kernfs_readdir+0x687
VOP_READDIR() at netbsd:VOP_READDIR+0x65
vn_readdir() at netbsd:vn_readdir+0xf6
sys___getdents30() at netbsd:sys___getdents30+0x76
syscall() at netbsd:syscall+0xc4
The same situation yields a slightly different result when
ddb.onpanic=0 and ends with what seems to be a complete meltdown
after the core was successfully dumped:
uvm_fault(0xfffffe811556ad40, 0x0, 1) -> e
fatal page fault in supervisor mode
trap type 6 code 0 rip ffffffff804f4ceb cs 8 rflags 10297 cr2 0 cpl 0
rsp fffffe80015b77a0
panic: trap
cpu1: Begin traceback...
printf_nolog() at netbsd:printf_nolog
startlwp() at netbsd:startlwp
alltraps() at netbsd:alltraps+0xa2
VOP_READDIR() at netbsd:VOP_READDIR+0x65
vn_readdir() at netbsd:vn_readdir+0xf6
sys___getdents30() at netbsd:sys___getdents30+0x76
syscall() at netbsd:syscall+0xc4
cpu1: End traceback...
(..dump begins, finishes..)
pmap_kenter_pa: mapping already present
pmap_kenter_pa: mapping already present
pmap_kenter_pa: mapping already present
(..many, many more identical lines..)
(..takes as long as the core dump..)
pmap_kenter_pa: mapping already present
pmap_kenter_pa: mapping already present
pmap_kenter_pa: mapping already present
succeeded
Skipping crash dump on recursive panic
panic: wdc_exec_command: polled command not done
cpu1: Begin traceback...
printf_nolog() at netbsd:printf_nolog
wdccommand() at netbsd:wdccommand
wd_flushcache() at netbsd:wd_flushcache+0xd7
wd_shutdown() at netbsd:wd_shutdown+0x3e
pmf_system_shutdown() at netbsd:pmf_system_shutdown+0x81
cpu_reboot() at netbsd:cpu_reboot+0x2c
vpanic() at netbsd:vpanic+0x1dd
printf_nolog() at netbsd:printf_nolog
startlwp() at netbsd:startlwp
alltraps() at netbsd:alltraps+0xa2
VOP_READDIR() at netbsd:VOP_READDIR+0x65
vn_readdir() at netbsd:vn_readdir+0xf6
sys___getdents30() at netbsd:sys___getdents30+0x76
syscall() at netbsd:syscall+0xc4
cpu1: End traceback...
rebooting...
>How-To-Repeat:
find /kern -ls
>Fix:
none
Home |
Main Index |
Thread Index |
Old Index