vrouter crash in XmppConnection::WriteReady

Bug #1557891 reported by vageesan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
High
Nipa
R3.0
Fix Committed
High
Nipa

Bug Description

vrouter crashed with following backtrace.

3.0.0.0-2724/juno + eviction patch1.

core is in 10.84.5.112:/cs-shared/bugs/<bug-id>/

[New LWP 10302]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/contrail-vrouter-agent'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f57d090ecc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#0 0x00007f57d090ecc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f57d09120d8 in __GI_abort () at abort.c:89
#2 0x00007f57d094b394 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7f57d0a59b28 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007f57d095766e in malloc_printerr (ptr=<optimized out>, str=0x7f57d0a59c58 "double free or corruption (out)", action=1) at malloc.c:4996
#4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#5 0x0000000000f07880 in operator() (a0=..., this=0x7f57c9b93970) at /usr/include/boost/function/function_template.hpp:767
#6 XmppChannelMux::WriteReady (this=0x7f57b8018160, ec=...) at controller/src/xmpp/xmpp_channel_mux.cc:40
#7 0x0000000000ec228d in XmppConnection::WriteReady (this=0x7f57b8017360) at controller/src/xmpp/xmpp_connection.cc:103
#8 0x0000000000ed41dc in XmppConnectionManager::DequeueSession (this=<optimized out>, tcp_session=...) at controller/src/xmpp/xmpp_connection_manager.cc:60
#9 0x0000000000ed5194 in operator() (a1=..., p=<optimized out>, this=<optimized out>) at /usr/include/boost/bind/mem_fn_template.hpp:165
#10 operator()<bool, boost::_mfi::mf1<bool, XmppConnectionManager, boost::intrusive_ptr<TcpSession> >, boost::_bi::list1<boost::intrusive_ptr<TcpSession>&> > (a=<synthetic pointer>, f=..., this=<optimized out>) at /usr/include/boost/bind/bind.hpp:303
#11 operator()<boost::intrusive_ptr<TcpSession> > (a1=..., this=<optimized out>) at /usr/include/boost/bind/bind_template.hpp:32
#12 boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<bool, boost::_mfi::mf1<bool, XmppConnectionManager, boost::intrusive_ptr<TcpSession> >, boost::_bi::list2<boost::_bi::value<XmppConnectionManager*>, boost::arg<1> > >, bool, boost::intrusive_ptr<TcpSession> >::invoke (function_obj_ptr=..., a0=...) at /usr/include/boost/function/function_template.hpp:132
#13 0x0000000000ed614d in operator() (a0=..., this=0x7f57c9b93aa0) at /usr/include/boost/function/function_template.hpp:767
#14 QueueTaskRunner<boost::intrusive_ptr<TcpSession>, WorkQueue<boost::intrusive_ptr<TcpSession> > >::RunQueue (this=0x2a4efc0) at controller/src/base/queue_task.h:87
#15 0x00000000011924fc in TaskImpl::execute (this=0x7f57ca157d40) at controller/src/base/task.cc:253
#16 0x00007f57d14ddb3a in ?? () from /usr/lib/libtbb.so.2
#17 0x00007f57d14d9816 in ?? () from /usr/lib/libtbb.so.2
#18 0x00007f57d14d8f4b in ?? () from /usr/lib/libtbb.so.2
#19 0x00007f57d14d50ff in ?? () from /usr/lib/libtbb.so.2
#20 0x00007f57d14d52f9 in ?? () from /usr/lib/libtbb.so.2
#21 0x00007f57d16f9182 in start_thread (arg=0x7f57c9b94700) at pthread_create.c:312
#22 0x00007f57d09d247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Tags: vrouter soln
Changed in juniperopenstack:
assignee: Hari Prasad Killi (haripk) → Nipa (nipak)
Changed in juniperopenstack:
milestone: r3.0.1.0 → none
Revision history for this message
Nipa (nipak) wrote :

Fixed using bug-id

commit b969692e4931195fb32e68e791cbaa1099e68c35
Author: Nipa Kumar <email address hidden>
Date: Fri Apr 1 13:48:12 2016 -0700

    Handling of socket block on a TCP write by AgentDnsXmppChannel.

    Application should not free data sent over TCP socket as the TCP library takes care
    of memory management of the data.

    On a socket write block xmpp provides the facility to register a callback so application
    can handle the case. In case of agent, the inherent TCP library buffering should be
    sufficient and no action needed from the application as there is only one writer(DNS)
    on the socket.

    Change-Id: I73993d58ed84cdce97217038c3da17ac3f5142d2
    Closes-Bug: 1561843

Changed in juniperopenstack:
status: New → Fix Committed
information type: Proprietary → Public
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.