zfs: Fatal trap 12: page fault while in kernel mode

From: Juergen Unger <lists_at_jpru.de>
Date: Mon, 27 Jul 2009 09:25:03 +0200
Hi,

I have one box where I am doing an zfs-receive job every
five minutes for each of eleven zvols.  Beside this no
other service runs on this box.
The system is an current checked out Jul 25 09:11 CET
compiled with the following options:

> include GENERIC
> options KVA_PAGES=512
> options KDB
> options DDB

uname -a:

> FreeBSD testbox 8.0-BETA2 FreeBSD 8.0-BETA2 #0: Sat Jul 25 21:43:42 CEST 2009     root_at_testbox:/usr/obj/usr/src/sys/ZFS-DEBUG  i386

loader.conf:

> geom_mirror_load="YES"
> vm.kmem_size="1536M"
> vm.kmem_size_max="1536M"
> vfs.zfs.arc_max="100M"
> vfs.zfs.prefetch_disable=1

This runs quite well for a few hours but after max 20 to 30
hours I get this error:

> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0x4c
> fault code              = supervisor read, page not present
> instruction pointer     = 0x20:0x80883d93
> stack pointer           = 0x28:0xfcd29b74
> frame pointer           = 0x28:0xfcd29b94
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 36 (vnlru)
> [thread pid 36 tid 100062 ]
> Stopped at      _sx_xlock+0x43: movl    0x10(%ebx),%eax
> db> bt
> Tracing pid 36 tid 100062 td 0x87166480
> _sx_xlock(3c,0,874aa28d,70f,8ae9a9f8,...) at _sx_xlock+0x43
> dmu_buf_update_user(0,8ae9a9f8,0,0,0,...) at dmu_buf_update_user+0x35
> zfs_znode_dmu_fini(8ae9a9f8,874b312d,1114,110b,879ab000,...) at zfs_znode_dmu_f3
> zfs_freebsd_reclaim(fcd29c3c,1,0,8ec63754,fcd29c60,...) at zfs_freebsd_reclaim+0
> VOP_RECLAIM_APV(874b65a0,fcd29c3c,0,0,8ec637c8,...) at VOP_RECLAIM_APV+0xa5
> vgonel(8ec637c8,0,80c77037,386,0,...) at vgonel+0x1a4
> vnlru_free(80f2a0f0,0,80c77037,300,3e8,...) at vnlru_free+0x2d5
> vnlru_proc(0,fcd29d38,80c652bc,33e,871932a8,...) at vnlru_proc+0x80
> fork_exit(8090d960,0,fcd29d38) at fork_exit+0xb8
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0, eip = 0, esp = 0xfcd29d70, ebp = 0 ---
> db> 

any suggestions ?

Juergen


Received on Mon Jul 27 2009 - 05:43:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC