Re: In-kernel PPPoE

From: Mike Tancsa <mike_at_sentex.net>
Date: Wed, 08 Dec 2010 10:26:21 -0500
On 12/7/2010 6:07 AM, Bjoern A. Zeeb wrote:
> On Tue, 7 Dec 2010, Alexander Motin wrote:
> 
>>> Does mpd work in -current ? Last tried I, netgraph had problems with
>>> mpd.
>>
>> Sure it does! What is the problem?
> 
> There have been several reports (incl. panics) on various lists like
> net, stable, ... during the last months for mostly 8.x (and HEAD).
> None of which was really followed up to to my memory.
> 

>From a kernel from Sept2, I would get this panic / crash after a week of
running mpd with ipv6 enabled

Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address   = 0x24
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc5ef3e15
stack pointer           = 0x28:0xc4fe4838
frame pointer           = 0x28:0xc4fe484c
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         = 1000 (ng_queue1)
trap number             = 12
panic: page fault
cpuid = 1
Uptime: 6d4h9m42s
Physical memory: 2036 MB
Dumping 240 MB: 225 209 193 177panic: bufwrite: buffer is not busy???
cpuid = 1
 161 145 129 113 97 81 65 49 33 17 1

(kgdb) #0  doadump () at pcpu.h:231
#1  0xc0681233 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:416
#2  0xc0681499 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3  0xc08ea3ec in trap_fatal (frame=0xc4fe47f8, eva=36)
    at /usr/src/sys/i386/i386/trap.c:938
#4  0xc08ea650 in trap_pfault (frame=0xc4fe47f8, usermode=0, eva=36)
    at /usr/src/sys/i386/i386/trap.c:851
#5  0xc08eaf19 in trap (frame=0xc4fe47f8) at
/usr/src/sys/i386/i386/trap.c:533
#6  0xc08cd4bc in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#7  0xc5ef3e15 in ng_address_hook (here=0x0, item=0xc5f03c40,
    hook=0xcb685980, retaddr=0)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:3504
#8  0xc5f7ebfb in ng_tcpmss_rcvdata (hook=0xc6618300, item=0xc5f03c40)
    at
/usr/src/sys/modules/netgraph/tcpmss/../../../netgraph/ng_tcpmss.c:347
#9  0xc5ef57c4 in ng_apply_item (node=0xca955b00, item=0xc5f03c40, rw=0)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2336
#10 0xc5ef479f in ng_snd_item (item=0xc5f03c40, flags=Variable "flags"
is not available.
)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2253
#11 0xc5f6dd30 in ng_ppp_proto_recv (node=0xc6431300, item=0xc5f03c40,
proto=Variable "proto" is not available.
)
    at /usr/src/sys/modules/netgraph/ppp/../../../netgraph/ng_ppp.c:949
#12 0xc5f6ea25 in ng_ppp_rcvdata (hook=0xcb228a80, item=0xc5f03c40)
    at /usr/src/sys/modules/netgraph/ppp/../../../netgraph/ng_ppp.c:1524
#13 0xc5ef57c4 in ng_apply_item (node=0xc6431300, item=0xc5f03c40, rw=0)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2336
#14 0xc5ef479f in ng_snd_item (item=0xc5f03c40, flags=Variable "flags"
is not available.
)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2253
#15 0xc5ef57c4 in ng_apply_item (node=0xcb375c80, item=0xc5f03c40, rw=0)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2336
#16 0xc5ef479f in ng_snd_item (item=0xc5f03c40, flags=Variable "flags"
is not available.
)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2253
#17 0xc5ef57c4 in ng_apply_item (node=0xc6330100, item=0xc5f03c40, rw=0)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2336
#18 0xc5ef479f in ng_snd_item (item=0xc5f03c40, flags=Variable "flags"
is not available.
)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2253
#19 0xc5f4db1c in ng_ksocket_incoming2 (node=0xc6431e00, hook=0x0,
    arg1=0xc63479a8, arg2=0)
    at
/usr/src/sys/modules/netgraph/ksocket/../../../netgraph/ng_ksocket.c:1153
#20 0xc5ef58f9 in ng_apply_item (node=0xc6431e00, item=0xc5f02780, rw=1)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2407
#21 0xc5ef6a46 in ngthread (arg=0x0)
    at
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:3351
#22 0xc0656cd1 in fork_exit (callout=0xc5ef68e0 <ngthread>, arg=0x0,
    frame=0xc4fe4d38) at /usr/src/sys/kern/kern_fork.c:844
#23 0xc08cd534 in fork_trampoline () at
/usr/src/sys/i386/i386/exception.s:273
(kgdb)


Since there were a number of ipv6 patches, I thought I would try again
with a kernel from today as well as the patch from
http://www.freebsd.org/cgi/query-pr.cgi?pr=148857

Still get the WITNESS warning below.  Not sure if its a "bad" thing or
has anything to do with the above panic.


uma_zalloc_arg: zone "1024" with the following non-sleepable locks held:
exclusive rw ifnet_rw (ifnet_rw) r = 0 (0xc0b67144) locked _at_
/usr/src/sys/net/if.c:434
KDB: stack backtrace:
db_trace_self_wrapper(c0928b5a,c2d0,2e,0,0,...) at
db_trace_self_wrapper+0x26
kdb_backtrace(1b2,2,ffffffff,c0b399d4,e7cda8f4,...) at kdb_backtrace+0x2a
_witness_debugger(c092a29d,e7cda908,4,1,0,...) at _witness_debugger+0x25
witness_warn(5,0,c0940817,c092486e,c06b9966,...) at witness_warn+0x1fe
uma_zalloc_arg(c158a000,0,102,400,c5658c00,...) at uma_zalloc_arg+0x34
malloc(400,c09b9c14,102,80,c5658c00,...) at malloc+0x4e
if_grow(c0b67144,c093128c,1b2,1b2,35000101,...) at if_grow+0x35
if_alloc(35,c63920a0,101,c6392160,0,...) at if_alloc+0xd3
ng_iface_constructor(c67ced00,e7cdaa54,c5816800,c685b400,e7cdaa64,...)
at ng_iface_constructor+0x3b
ng_make_node(c685b438,e7cdaa54,0,0,0,...) at ng_make_node+0x5b
ng_apply_item(c5816848,0,1,e7cdaa84,c5816800,...) at ng_apply_item+0x3ea
ng_snd_item(c6362400,0,c6541340,0,28afcf40,...) at ng_snd_item+0x28f
ngc_send(c6203670,0,c67ed200,c656b1c0,0,...) at ngc_send+0x1c2
sosend_generic(c6203670,c656b1c0,e7cdabb8,0,0,...) at sosend_generic+0x50d
sosend(c6203670,c656b1c0,e7cdabb8,0,0,...) at sosend+0x3f
kern_sendit(c66df5a0,5,e7cdac2c,0,0,...) at kern_sendit+0x107
sendit(0,c656b1c0,5,e7cdac48,1,...) at sendit+0xb1
sendto(c66df5a0,e7cdacec,e7cdad28,c0929daa,0,...) at sendto+0x48
syscallenter(c66df5a0,e7cdace4,e7cdace4,0,c66df5a0,...) at
syscallenter+0x22b
syscall(e7cdad28) at syscall+0x34
Xint0x80_syscall() at Xint0x80_syscall+0x21
--- syscall (133, FreeBSD ELF32, sendto), eip = 0x284b3977, esp =
0xbf7fc8cc, ebp = 0xbf7fc8f8 ---


> /bz
> 
Received on Wed Dec 08 2010 - 14:26:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:10 UTC