Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Jul 2012 10:26:46 +0200
From:      Przemyslaw Frasunek <venglin@freebsd.lublin.pl>
To:        freebsd-net@freebsd.org, bzeeb-lists@lists.zabbadoz.net,  Mike Tancsa <mike@sentex.net>, Eugene Grosbein <egrosbein@rdtc.ru>, Gleb Smirnoff <glebius@FreeBSD.org>
Subject:   Re: mpd5/Netgraph issues after upgrading to 7.4
Message-ID:  <4FF7F2C6.5070401@freebsd.lublin.pl>
In-Reply-To: <4FE0EE62.5070905@freebsd.lublin.pl>
References:  <4DB47CE1.8@frasunek.com> <4DB487D2.7030104@rdtc.ru> <4DB48B76.8050101@frasunek.com> <4DB49109.3050002@frasunek.com> <20110425050548.GF34767@glebius.int.ru> <4DBBBAD8.2000705@frasunek.com> <20110513162311.GK95084@glebius.int.ru> <4DD298AD.2060905@frasunek.com> <20110517184613.GN74366@glebius.int.ru> <4FDB1D71.6050908@freebsd.lublin.pl> <20120615203142.GW28613@glebius.int.ru> <4FDBAFD7.9020606@freebsd.lublin.pl> <4FDF2F81.6030307@sentex.net> <4FDF3097.6080701@freebsd.lublin.pl> <4FE0EE62.5070905@freebsd.lublin.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
> After reenabling IPv6, the crash occurred within 6 hours. This time, crashdump
> was properly saved (thanks to patch suggested by Eugene).

My PPPoE BRAS was stable for 17 days. This morning, it crashed in another way:

current process         = 2762 (mpd5)
trap number             = 9
panic: general protection fault
cpuid = 5
KDB: stack backtrace:
#0 0xffffffff803a04a6 at kdb_backtrace+0x66
#1 0xffffffff8036dfde at panic+0x1ce
#2 0xffffffff80503300 at trap_fatal+0x290
#3 0xffffffff80503851 at trap+0x111
#4 0xffffffff804ea5d4 at calltrap+0x8
#5 0xffffffff8041d314 at lltable_prefix_free+0x74
#6 0xffffffff8044c014 at in_ifscrub+0x2c4
#7 0xffffffff8044d3f3 at in_control+0x793
#8 0xffffffff80418d2d at ifioctl+0xccd
#9 0xffffffff803b6842 at kern_ioctl+0x92
#10 0xffffffff803b6aa0 at ioctl+0xf0
#11 0xffffffff80502ab2 at amd64_syscall+0x302
#12 0xffffffff804ea8cc at Xfast_syscall+0xfc
Uptime: 17d7h18m38s

(kgdb) bt
#0  doadump () at pcpu.h:224
#1  0xffffffff8036da83 in boot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:448
#2  0xffffffff8036dfb7 in panic (fmt=0x1 <Address 0x1 out of bounds>)
    at /usr/src/sys/kern/kern_shutdown.c:639
#3  0xffffffff80503300 in trap_fatal (frame=0x9, eva=Variable "eva" is not
available.
)
    at /usr/src/sys/amd64/amd64/trap.c:848
#4  0xffffffff80503851 in trap (frame=0xffffff818569a700)
    at /usr/src/sys/amd64/amd64/trap.c:600
#5  0xffffffff804ea5d4 in calltrap ()
    at /usr/src/sys/amd64/amd64/exception.S:228
#6  0xffffffff8044e44a in in_lltable_prefix_free (llt=0xffffff00044af600,
    prefix=0xffffff818569a8a0, mask=0xffffff818569a890, flags=2)
    at /usr/src/sys/netinet/in.c:1402
#7  0xffffffff8041d314 in lltable_prefix_free (af=2,
    prefix=0xffffff818569a8a0, mask=0xffffff818569a890, flags=2)
    at /usr/src/sys/net/if_llatbl.c:242
#8  0xffffffff8044c014 in in_ifscrub (ifp=Variable "ifp" is not available.
) at /usr/src/sys/netinet/in.c:1223
#9  0xffffffff8044d3f3 in in_control (so=Variable "so" is not available.
) at /usr/src/sys/netinet/in.c:588
#10 0xffffffff80418d2d in ifioctl (so=0xffffff001de4f2a8, cmd=2149607705,
    data=0xffffff001ddcdb00 "ng29", td=0xffffff000427f000)
    at /usr/src/sys/net/if.c:2606
#11 0xffffffff803b6842 in kern_ioctl (td=0xffffff000427f000, fd=Variable "fd" is
not available.
) at file.h:275
#12 0xffffffff803b6aa0 in ioctl (td=0xffffff000427f000, uap=0xffffff818569abb0)
    at /usr/src/sys/kern/sys_generic.c:679
#13 0xffffffff80502ab2 in amd64_syscall (td=0xffffff000427f000, traced=0)
    at subr_syscall.c:114
#14 0xffffffff804ea8cc in Xfast_syscall ()
    at /usr/src/sys/amd64/amd64/exception.S:387
#15 0x00000008018fbf8c in ?? ()

(kgdb) frame 6
#6  0xffffffff8044e44a in in_lltable_prefix_free (llt=0xffffff00044af600,
    prefix=0xffffff818569a8a0, mask=0xffffff818569a890, flags=2)
    at /usr/src/sys/netinet/in.c:1402
1402                            if (IN_ARE_MASKED_ADDR_EQUAL((struct sockaddr_in
*)L3_ADDR(lle),

(kgdb) list
1397
1398                            /*
1399                             * (flags & LLE_STATIC) means deleting all entries
1400                             * including static ARP entries
1401                             */
1402                            if (IN_ARE_MASKED_ADDR_EQUAL((struct sockaddr_in
*)L3_ADDR(lle),
1403                                                         pfx, msk) &&
1404                                ((flags & LLE_STATIC) || !(lle->la_flags &
LLE_STATIC))) {
1405                                    int canceled;
1406

(kgdb) print lle
$1 = (struct llentry *) 0xdeadc0dedeadc0de

(kgdb) print *llt
$2 = {llt_link = {sle_next = 0xffffff00040b4400}, lle_head = {{
      lh_first = 0xffffff00041d9900}, {lh_first = 0xffffff0004cc3e00}, {
      lh_first = 0x0}, {lh_first = 0xffffff001db9a500}, {
      lh_first = 0xffffff0004251300}, {lh_first = 0x0}, {
      lh_first = 0xffffff001d67f300}, {lh_first = 0xffffff00044a9300}, {
      lh_first = 0xffffff00041dab00}, {lh_first = 0x0}, {lh_first = 0x0}, {
      lh_first = 0xffffff0006950c00}, {lh_first = 0x0}, {lh_first = 0x0}, {
      lh_first = 0xffffff0004cac800}, {lh_first = 0x0}, {lh_first = 0x0}, {
      lh_first = 0xffffff00291da900}, {lh_first = 0x0}, {lh_first = 0x0}, {
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0xffffff00790f6900}, {
      lh_first = 0xffffff001dc68100}, {lh_first = 0xffffff0004185100}, {
      lh_first = 0xffffff0006952b00}, {lh_first = 0x0}, {
      lh_first = 0xffffff001de00700}, {lh_first = 0x0}, {lh_first = 0x0}, {
      lh_first = 0xffffff001ddff100}, {lh_first = 0xffffff0004caf500}},
  llt_af = 2, llt_ifp = 0xffffff00043ef800,
  llt_free = 0xffffffff8044b920 <in_lltable_free>,
  llt_prefix_free = 0xffffffff8044e400 <in_lltable_prefix_free>,
  llt_lookup = 0xffffffff8044b3a0 <in_lltable_lookup>,
  llt_dump = 0xffffffff8044b150 <in_lltable_dump>}

(kgdb) list -
1387                           u_int flags)
1388    {
1389            const struct sockaddr_in *pfx = (const struct sockaddr_in *)prefix;
1390            const struct sockaddr_in *msk = (const struct sockaddr_in *)mask;
1391            struct llentry *lle, *next;
1392            register int i;
1393            size_t pkts_dropped;
1394
1395            for (i=0; i < LLTBL_HASHTBL_SIZE; i++) {
1396                    LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FF7F2C6.5070401>