[Xorp-hackers] BGP assertion

Ben Greear greearb at candelatech.com
Wed Oct 22 11:26:29 PDT 2008


I configured two virtual routers to have BGP and to
talk to each other.  At one point or another, it crashed
with this assert.  I haven't had time to try to reproduce
it, but should get time next week.

NOTE:  This is patched with my patch to bind to a local device,
*but*, I had it configured to NOT bind since that seems to be
a bad idea now that I understand things better.

The assert that hits is this from socket.cc:

void
SocketClient::connect_socket_break()
{
     XLOG_ASSERT(_connecting);
     _connecting = false;

     eventloop().remove_ioevent_cb(get_sock());
     close_socket();
}


#0  0xffffe430 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0x438df690 in raise () from /lib/libc.so.6
#2  0x438e0f91 in abort () from /lib/libc.so.6
#3  0x082be6f9 in xlog_fatal (module_name=0x82ed387 "BGP",
     where=0xbfe208f4 "socket.cc:569 connect_socket_break", fmt=0x82ed371 "Assertion (%s) failed")
     at xlog.c:446
#4  0x08144667 in SocketClient::connect_socket_break (this=0x83f8d28) at socket.cc:569
#5  0x081446d1 in SocketClient::connect_break (this=0x83f8d28) at socket.cc:227
#6  0x0809292f in BGPPeer::event_closed (this=0x83d8da8) at peer.cc:707
#7  0x0809507d in BGPPeer::get_message (this=0x83d8da8, status=BGPPacket::CONNECTION_CLOSED,
     buf=0x0, length=0, socket_client=0x83f8d28) at peer.cc:140
#8  0x08059544 in XorpMemberCallback4B0<bool, BGPPeer, BGPPacket::Status, unsigned char const*, unsig ned int, SocketClient*>::dispatch (this=0x83d94c0, a1=BGPPacket::CONNECTION_CLOSED, a2=0x0, a3=0,
     a4=0x83f8d28) at ../libxorp/callback_nodebug.hh:8946
#9  0x0814425e in SocketClient::async_read_message (this=0x83f8d28,
     ev=AsyncFileOperator::END_OF_FILE, buf=0x83f8f13 '?' <repeats 16 times>, buf_bytes=19, offset=0)
     at socket.cc:353
#10 0x0814591c in XorpMemberCallback4B0<void, SocketClient, AsyncFileOperator::Event, unsigned char c onst*, unsigned int, unsigned int>::dispatch (this=0x83d59d8, a1=AsyncFileOperator::END_OF_FILE,
     a2=0x83f8f13 '?' <repeats 16 times>, a3=19, a4=0) at ../libxorp/callback_nodebug.hh:8966
#11 0x082c1ca8 in AsyncFileReader::BufferInfo::dispatch_callback (this=0x83fb720,
     e=AsyncFileOperator::END_OF_FILE) at asyncio.hh:224
#12 0x082bf8c4 in AsyncFileReader::complete_transfer (this=0x83fb6f8, err=0, done=0)
     at asyncio.cc:281
#13 0x082c1b50 in AsyncFileReader::read (this=0x83fb6f8, fd={_filedesc = 40}, type=IOT_READ)
     at asyncio.cc:230
#14 0x082c2494 in XorpMemberCallback2B0<void, AsyncFileReader, XorpFd, IoEventType>::dispatch (
     this=0x83d5b30, a1={_filedesc = 40}, a2=IOT_READ) at ../libxorp/callback_nodebug.hh:4636
#15 0x082d7f36 in SelectorList::Node::run_hooks (this=0x83daf38, m=SEL_RD, fd={_filedesc = 40})
     at selector.cc:155
Missing separate debuginfos, use: debuginfo-install gcc.i386 glibc.i686 openssl.i686 zlib.i386
---Type <return> to continue, or q <return> to quit---
#16 0x082d6e6e in SelectorList::wait_and_dispatch (this=0xbfe2e890, timeout=@0xbfe2c860)
     at selector.cc:440
#17 0x082c6216 in EventLoop::do_work (this=0xbfe2e848, can_block=true) at eventloop.cc:132
#18 0x082c631a in EventLoop::run (this=0xbfe2e848) at eventloop.cc:85
#19 0x08051305 in BGPMain::main_loop (this=0xbfe2ebbc) at bgp.cc:802
#20 0x0805f3aa in main (argv=0xbfe2eda4) at main.cc:93
(gdb)

Thanks,
Ben

-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com



More information about the Xorp-hackers mailing list