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