Date: Mon, 27 Sep 2010 20:51:29 +0300 From: Nikos Vassiliadis <nvass9573@gmx.com> To: Julian Elischer <julian@freebsd.org> Cc: freebsd-virtualization@freebsd.org Subject: Re: VIMAGE + NDIS Message-ID: <4CA0D9A1.8090607@gmx.com> In-Reply-To: <4CA0B8B1.9040304@freebsd.org> References: <4CA04A35.5030107@gmx.com> <4CA0B8B1.9040304@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote: >> #10 0xc0978200 in rt_dispatch (m=0xc764ad00, sa=0x0) at >> /usr/src/sys/net/rtsock.c:1374 >> 1374 if (V_loif) >> (kgdb) list >> 1369 } >> 1370 *(unsigned short *)(tag + 1) = sa->sa_family; >> 1371 m_tag_prepend(m, tag); >> 1372 } >> 1373 #ifdef VIMAGE >> 1374 if (V_loif) >> 1375 m->m_pkthdr.rcvif = V_loif; >> 1376 else { >> 1377 m_freem(m); >> 1378 return; >> (kgdb) >> > > ok so probably there is a code-path to this point that does not first > set up the current-vnet pointer before doing this. > what you need to do is to produce a stack-trace so we can see how it got > here, > and then we can figure out where on that path we should set the pointer. Here it is: (kgdb) #0 doadump () at pcpu.h:231 #1 0xc04d48b9 in db_fncall (dummy1=1, dummy2=0, dummy3=-1058443808, dummy4=0xeef1d720 "") at /usr/src/sys/ddb/db_command.c:548 #2 0xc04d4cb1 in db_command (last_cmdp=0xc0df4bdc, cmd_table=0x0, dopager=1) at /usr/src/sys/ddb/db_command.c:445 #3 0xc04d4e0a in db_command_loop () at /usr/src/sys/ddb/db_command.c:498 #4 0xc04d6d0d in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_main.c:229 #5 0xc08e17ce in kdb_trap (type=12, code=0, tf=0xeef1d948) at /usr/src/sys/kern/subr_kdb.c:535 #6 0xc0c0ae7f in trap_fatal (frame=0xeef1d948, eva=24) at /usr/src/sys/i386/i386/trap.c:929 #7 0xc0c0b140 in trap_pfault (frame=0xeef1d948, usermode=0, eva=24) at /usr/src/sys/i386/i386/trap.c:851 #8 0xc0c0bad5 in trap (frame=0xeef1d948) at /usr/src/sys/i386/i386/trap.c:533 #9 0xc0bec9ac in calltrap () at /usr/src/sys/i386/i386/exception.s:166 #10 0xc0978200 in rt_dispatch (m=0xc764ad00, sa=0x0) at /usr/src/sys/net/rtsock.c:1374 #11 0xc0978864 in rt_ifmsg (ifp=0xc6c3d400) at /usr/src/sys/net/rtsock.c:1168 #12 0xc76704a1 in ?? () #13 0xc6c3d400 in ?? () #14 0xeef1daa8 in ?? () #15 0xeef1daf4 in ?? () #16 0xc769ecb3 in NdisMIndicateStatusComplete (adapter=0xc76b9200) at /usr/src/sys/modules/ndis/../../compat/ndis/subr_ndis.c:3105 #17 0xc766d8a1 in ?? () #18 0xc76b9200 in ?? () #19 0xc76c0000 in ?? () #20 0xc76f1000 in ?? () #21 0xeef1dacc in ?? () #22 0xc79d2afd in ndis_bcmwl5_sys_drv_data_start () from /boot/modules/bcmwl5_sys.ko #23 0x006c0000 in ?? () #24 0xeef1dbb4 in ?? () #25 0xc79dcdac in ndis_bcmwl5_sys_drv_data_start () from /boot/modules/bcmwl5_sys.ko #26 0xc76c0000 in ?? () #27 0xc76c0000 in ?? () #28 0xc7340800 in ?? () #29 0xc086adcc in hardclock_cpu (usermode=7077888) at /usr/src/sys/kern/kern_clock.c:447 #30 0xc79d2afd in ndis_bcmwl5_sys_drv_data_start () from /boot/modules/bcmwl5_sys.ko #31 0x006c0000 in ?? () #32 0xeef1dbb4 in ?? () #33 0xc79dcdac in ndis_bcmwl5_sys_drv_data_start () from /boot/modules/bcmwl5_sys.ko #34 0xc76c0000 in ?? () #35 0xc76c0000 in ?? () #36 0xc7340800 in ?? () #37 0xc086adcc in hardclock_cpu (usermode=-949223424) at /usr/src/sys/kern/kern_clock.c:447 Previous frame inner to this frame (corrupt stack?) (kgdb) and the panic, in case it helps: Fatal trap 12: page fault while in kernel mode cpuid = 1; apic id = 01 fault virtual address = 0x18 fault code = supervisor read, page not present instruction pointer = 0x20:0xc0978200 stack pointer = 0x28:0xeef1d988 frame pointer = 0x28:0xeef1d9a0 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 = 1404 (Windows Workitem 3) panic: from debugger cpuid = 1 KDB: stack backtrace: Physical memory: 2916 MB Dumping 113 MB: 98 82 66 50 34 18 2 Thanks, Nikos
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CA0D9A1.8090607>