Panic in netgraph with VIMAGE

Milan Obuch freebsd-virtualization at dino.sk
Mon May 25 13:16:53 UTC 2009


Hi,
there is some bug in (most probably) netgraph code. I did fresh csup and 
rebuild today. Whenever I try to turn bluetooth on (equivalent to plugging in 
the dongle), panic occurs:

ubt0: <Micro Star International product 0xa97a, class 224/1, rev 2.00/31.64, 
addr 2> on usbus3
panic: 
in /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:634 
ng_make_node_common()
 vnet=0 curvnet=0
cpuid = 0

This does not occur with kernel from sources three days old.

Part from core.txt file:

#0  doadump () at pcpu.h:246
246<--->pcpu.h: No such file or directory.
<------>in pcpu.h
(kgdb) #0  doadump () at pcpu.h:246
#1  0xc0554e0e in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:420
#2  0xc05550e2 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:576
#3  0xc0b947c1 in ng_make_node_common (type=0xc0b8f9a0, nodepp=0xc416b3a8)
    at /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:634
#4  0xc0b8bcc4 in ubt_attach (dev=0xc4294280)
    
at /usr/src/sys/modules/netgraph/bluetooth/ubt/../../../../dev/usb/bluetooth/ng_ubt.c:443
#5  0xc057dcbf in device_attach (dev=0xc4294280) at device_if.h:178
#6  0xc057e88e in device_probe_and_attach (dev=0xc4294280)
    at /usr/src/sys/kern/subr_bus.c:2473
#7  0xc0b38240 in usb2_probe_and_attach_sub (udev=0xc41fd800, uaa=0xe4116c1c)
    at /usr/src/sys/modules/usb/usb/../../../dev/usb/usb_device.c:1131
#8  0xc0b3871a in usb2_probe_and_attach (udev=0xc41fd800, iface_index=255 'ÿ')
    at /usr/src/sys/modules/usb/usb/../../../dev/usb/usb_device.c:1288
#9  0xc0b40ff0 in uhub_explore (udev=0xc3f07000)
    at /usr/src/sys/modules/usb/usb/../../../dev/usb/usb_hub.c:218
#10 0xc0b31f29 in usb2_bus_explore (pm=0xc3ed0dd4)
    
at /usr/src/sys/modules/usb/usb/../../../dev/usb/controller/usb_controller.c:215
#11 0xc0b4343a in usb2_process (arg=0xc3ed0d74)
    at /usr/src/sys/modules/usb/usb/../../../dev/usb/usb_process.c:139
#12 0xc0530008 in fork_exit (callout=0xc0b43360 <usb2_process>,.
    arg=0xc3ed0d74, frame=0xe4116d38) at /usr/src/sys/kern/kern_fork.c:830
#13 0xc070b550 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:270

At line 634 in ng_base.c, there is

INIT_VNET_NETGRAPH(curvnet);

I have options VIMAGE in my kernel config (actually this is first one 
succesfully compiled with mentioned option, but I did not try it too often, 
it just failed to compile before).

Now I recompiled kernel again, this time without options VIMAGE in config, and 
panic does not occur.

So the original problem is INIT_VNET_NETGRAPH implementation in presence of 
options VIMAGE in kernel config. If anyone has anything to test, please let 
me know.

Regards,
Milan


More information about the freebsd-virtualization mailing list