Re: [mpls-linux-general] ldp aborts consistently
Status: Beta
Brought to you by:
jleu
From: James R. L. <jl...@mi...> - 2001-05-20 18:28:18
|
On Sun, May 20, 2001 at 05:56:37PM +0300, Eran Mann wrote: > Hi, > The latest CVS ldp_zebra seems to dump core quite cosistently after an > assertion failure once the 2 neighbours start a session. > Attached is a log of the (end of the) console output, and a backtrace. > It seems to depend on the timing of events - if I reduce the trace level > on the failing neighbour the other one would abort instead (althugh in a > little earlier - after a keep-alive message). LDP is sending some sort of notification message, most likly an unknown mesg (an error in encoding of decoding the message). I have submitted a quick little hack to help figure out which notification messag is being sent. Update your CVS tree, compile, try it again, and let me know which unknown notification type is being sent. I will try this myself but probably not until this evening. Send me your results. Jim > -- > Eran Mann Direct : 972-4-9936230 > Senior Software Engineer Fax : 972-4-9890430 > Optical Access Email : em...@op... > ENTER: ldp_event > TCP_DATA > ->>>>>>>>>>>>>>>>>>>> SOCK: ldp_socket_tcp_read fd 8 > TCP_DATA 62 > Before header decode: size = 62 > OUT: Found type 300 > OUT: 03 00 00 0e 00 00 00 04 01 01 00 06 00 01 0a 0b > OUT: 0c b5 00 01 00 1e 0a 0b 0c b5 00 00 04 00 00 14 > OUT: 00 00 00 05 01 00 00 04 02 00 01 00 02 00 00 04 > OUT: 00 00 01 b2 > OUT: decodedSize for Adr msg = 18 > OUT: LPD Header : protocolVersion = 1 > OUT: pduLength = 24 > OUT: lsrAddress = a0b0cb5 > OUT: labelSpace = 0 > OUT: ADDRESS MSG ***START***: > OUT: baseMsg : uBit = 0 > OUT: msgType = 300 > OUT: msgLength = 14 > OUT: msgId = 4 > OUT: adrListTlv: > OUT: Tlv: > OUT: BaseTlv: uBit = 0 > OUT: fBit = 0 > OUT: type = 101 > OUT: length = 6 > OUT: adrListTlv data: addrFamily = 1 > OUT: adrListTlv addresses (with 1 addresses) : > OUT: > a0b0cb5 > OUT: ADDRESS MSG ***END***: > OUT: Mesg size: 18 (52) > ENTER: ldp_state_machine > OUT: FSM: state 5, event 4 > ENTER: ldp_state_process > ENTER: ldp_addr_process > OUT: Addr Recv: session(1) > EXIT: ldp_addr_process > EXIT: ldp_state_process > EXIT: ldp_state_machine > OUT: Found type 1 > OUT: 00 01 00 1e 0a 0b 0c b5 00 00 04 00 00 14 00 00 > OUT: 00 05 01 00 00 04 02 00 01 00 02 00 00 04 00 00 > OUT: 01 b2 > OUT: decodedSize for Notif msg = -63 > ENTER: ldp_state_machine > OUT: FSM: state 5, event 6 > Entered notif state > ENTER: ldp_state_notif > ENTER: ldp_notif_process > ldp_zebra: ldp_notif.c:160: ldp_notif_process: Assertion `0' failed. > Aborted (core dumped) > > (gdb) bt > #0 0x400624e1 in __kill () from /lib/libc.so.6 > #1 0x40062156 in raise (sig=6) at ../sysdeps/posix/raise.c:27 > #2 0x40063868 in abort () at ../sysdeps/generic/abort.c:88 > #3 0x4005c3ce in __assert_fail (assertion=0x8083be3 "0", > file=0x8083bd7 "ldp_notif.c", line=160, > function=0x8083bc5 "ldp_notif_process") at assert.c:59 > #4 0x8064a7a in ldp_notif_process (g=0x80ace70, s=0x80bba70, a=0x0, e=0x0, > r_attr=0x80bfe88) at ldp_notif.c:160 > #5 0x805f1c0 in ldp_state_notif (g=0x80ace70, s=0x80bba70, adj=0x0, > entity=0x0, event=6, msg=0xbfffbc64, from=0xbffffc54) > at ldp_state_funcs.c:437 > #6 0x805e40e in ldp_state_machine (g=0x80ace70, session=0x80bba70, adj=0x0, > entity=0x0, event=6, msg=0xbfffbc64, from=0xbffffc54) > at ldp_state_machine.c:358 > #7 0x805e230 in ldp_event (g=0x80ace70, socket=0x80ad8c8, user_from=0x0, > if_handle=0x0, buf=0x8091840, extra=0x80bba70, event=LDP_EVENT_NOTIF) > at ldp_state_machine.c:288 > #8 0x806999c in zldp_socket_read_handler (t=0xbffffce4) > at zldp_socket_impl.c:73 > #9 0x80759a6 in thread_call (thread=0xbffffce4) at thread.c:728 > #10 0x804a266 in main (argc=1, argv=0xbffffd54, envp=0xbffffd5c) > at ldp_zebra.c:613 > (gdb) -- James R. Leu |