Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Feb 2011 15:38:16 +0100
From:      Monthadar Al Jaberi <monthadar@gmail.com>
To:        freebsd-net@freebsd.org
Subject:   if_alloc() page fault, VirtualBox + VIMAGE
Message-ID:  <AANLkTin%2BAw_9FunfDHYyx-FCNMZpCzRavbohAUSCy%2B7X@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

I am running FreeBSD Current (201010) as guest in VirtualBox on an
Ubuntu 10.04. FreeBSD is compiled with VIMAGE option.

I loaded a module (my own) that calls if_alloc(IFT_IEEE80211), but I
get a panic:

Kernel page fault with the following non-sleepable locks held:
exclusive rw ifnet_rw (ifnet_rw) r = 0 (0xc0fc8284) locked @
/usr/src/sys/net/if.c:414
KDB: stack backtrace:
db_trace_self_wrapper(c0cf3cdb,1,0,0,0,...) at db_trace_self_wrapper+0x26
kdb_backtrace(19e,1,ffffffff,c0f9b194,c2fc9a1c,...) at kdb_backtrace+0x2a
_witness_debugger(c0cf6408,c2fc9a30,4,1,0,...) at _witness_debugger+0x25
witness_warn(5,0,c0d2c479,3,c4070d48,...) at witness_warn+0x1fe
trap(c2fc9abc) at trap+0x195
calltrap() at calltrap+0x6
--- trap 0xc, eip = 0xc0970999, esp = 0xc2fc9afc, ebp = 0xc2fc9b1c ---
ifindex_alloc_locked(c0d003cf,c2fc9b36,19e,19e,c15ab714,...) at
ifindex_alloc_locked+0x19
if_alloc(47,c4085a16,3,c0de9614,c32aa780,...) at if_alloc+0x85
wtap_attach(c31a7800,c40857c0,0,4,0,...) at wtap_attach+0x29
new_wtap(c32aa780,0,c2fc9bf0,c083ac9b,c3cbb200,...) at new_wtap+0x9b
wtap_ioctl(c3cbb200,80045701,c31edaa0,1,c3f90b40,...) at wtap_ioctl+0x36
devfs_ioctl_f(c3cfe3b8,80045701,c31edaa0,c3185d00,c3f90b40,...) at
devfs_ioctl_f+0x10b
kern_ioctl(c3f90b40,3,80045701,c31edaa0,fc9cec,...) at kern_ioctl+0x20d
ioctl(c3f90b40,c2fc9cec,c2fc9d28,c0cf5783,0,...) at ioctl+0x134
syscallenter(c3f90b40,c2fc9ce4,c2fc9ce4,0,0,...) at syscallenter+0x263
syscall(c2fc9d28) at syscall+0x34
Xint0x80_syscall() at Xint0x80_syscall+0x21
--- syscall (54, FreeBSD ELF32, ioctl), eip = 0x28181203, esp =
0xbfbfec3c, ebp = 0xbfbfec58 ---


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0x18
fault code		= supervisor read, page not present
instruction pointer	= 0x20:0xc0970999
stack pointer	        = 0x28:0xc2fc9afc
frame pointer	        = 0x28:0xc2fc9b1c
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		= 1203 (ioctl)
panic: from debugger
cpuid = 0
Uptime: 21s
Physical memory: 495 MB
Dumping 55 MB: 40 24 8


Without VIMAGE option if_alloc returns fine, I thought if I dont
create any VNETs the system should behave like normal... what is the
problem?

Best regards,

-- 
//Monthadar Al Jaberi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTin%2BAw_9FunfDHYyx-FCNMZpCzRavbohAUSCy%2B7X>