Fatal Trap 12 in kernel module uipc_mbuf2.c
Andre Oppermann
andre at freebsd.org
Sun Sep 5 15:59:04 PDT 2004
"Boris B.Samorodov" wrote:
>
> >Submitter-Id: current-users
> >Originator: Boris B. Samorodov
> >Organization: InPharmTech Co.
> >Confidential: no
> >Synopsis: Fatal Trap 12 in kernel module uipc_mbuf2.c
> >Severity: serious
> >Priority: medium
> >Category: kern
> >Class: sw-bug
> >Release: FreeBSD 5.3-BETA2 i386
> >Environment:
> System: FreeBSD gw.ipt.ru 5.3-BETA2 FreeBSD 5.3-BETA2 #6: Sat Sep 4 17:47:55 MSD 2004 bsam at gw.ipt.ru:/usr/obj/usr/src/sys/GW i386
>
> >Description:
> Fatal Trap 12, pointer: 0xc053a1f0.
>
> # addr2line -e /root/kernel/kernel.debug 0xc053a1f0
> -----
> ../../../kern/uipc_mbuf2.c:389
> -----
> # gdb6 -k /root/kernel/kernel.debug vmcore.1
> -----
> GNU gdb 20040803 [GDB v6.x for FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i386-portbld-freebsd5.3"...can not access 0xc070b588, invalid address (c070b588)
> can not access 0xc070b588, invalid address (c070b588)
>
> panic messages:
> ---
> dmesg: kvm_read: invalid address (c075cc54)
> can not access 0xc070b6c0, invalid address (c070b6c0)
> can not access 0xc070b6c0, invalid address (c070b6c0)
> ---
> #0 0x00000000 in ?? ()
> 0x00000000 in ?? ()
> (kgdb) list *m_tag_locate+0x40
> 0xc053a1f0 is in m_tag_locate (../../../kern/uipc_mbuf2.c:389).
> 384 if (t == NULL)
> 385 p = SLIST_FIRST(&m->m_pkthdr.tags);
> 386 else
> 387 p = SLIST_NEXT(t, m_tag_link);
> 388 while (p != NULL) {
> 389 if (p->m_tag_cookie == cookie && p->m_tag_id == type)
> 390 return p;
> 391 p = SLIST_NEXT(p, m_tag_link);
> 392 }
> 393 return NULL;
> (kgdb) q
> -----
> >How-To-Repeat:
> The host have to upstream interfaces to ISP, three internal
> networks with two interfaces (two internal networks are
> aliased in one inteface). The default route is to the first
> provider. We use policy routing to route our third network
> to second provider. $inet1 and $inet2 are aliases on one
> interface.
>
> After adding ipfw rule:
> # ipfw add fwd $provider2 ip from $inet3 to { not $inet1 or not $inet2 }
> gateway paniced.
>
> I know, that in fact the rule has to be "not $inet1,$inet2".
> But logically the first rule has the value "all". OS must not
> trap.
Does it panic 'reliablily' in the same place or is it more of a random
occurence? I'm not long in the office tomorrow (my test machine is there)
but I'll try to reproduce it within the next few days.
--
Andre
More information about the freebsd-current
mailing list