Agent crash at PktTrace::Pkt::Copy

Bug #1553656 reported by Praveen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
jayaramsatya
R2.21.x
Won't Fix
High
jayaramsatya
R2.22.x
Fix Committed
High
Praveen
R3.0
Fix Committed
High
jayaramsatya
Trunk
Fix Committed
High
jayaramsatya

Bug Description

(gdb) bt
#0 0x00002b7823018328 in __memcpy_ssse3_back () from /lib64/libc.so.6
#1 0x0000000000b53d08 in Copy (hdr=<optimized out>, pkt_trace_size=<optimized out>, msg=<optimized out>,
    l=<optimized out>, d=PktTrace::In, this=<optimized out>) at controller/src/vnsw/agent/pkt/pkt_handler.cc:1007
#2 PktTrace::AddPktTrace (this=this@entry=0x2b782c028aa0, dir=dir@entry=PktTrace::In, len=<optimized out>,
    msg=<optimized out>, hdr=<optimized out>) at controller/src/vnsw/agent/pkt/pkt_handler.cc:1014
#3 0x0000000000b5561b in PktHandler::PktModuleEnqueue (this=this@entry=0x2b782c0288b0, mod=mod@entry=PktHandler::INVALID,
    hdr=..., pkt_info=...) at controller/src/vnsw/agent/pkt/pkt_handler.cc:228
#4 0x0000000000b5593b in PktHandler::ParseFlowPacket (this=0x2b782c0288b0, pkt_info=..., pkt=pkt@entry=0x1ae1db8 "")
    at controller/src/vnsw/agent/pkt/pkt_handler.cc:243
#5 0x0000000000b67d96 in FlowHandler::Run (this=0x2b78d4009940) at controller/src/vnsw/agent/pkt/flow_handler.cc:33
#6 0x0000000000b64396 in Proto::ProcessProto (this=<optimized out>, msg_info=...)
    at controller/src/vnsw/agent/pkt/proto.cc:47
#7 0x0000000000b64e7c in operator() (a1=..., p=<optimized out>, this=<optimized out>)
    at /usr/include/boost/bind/mem_fn_template.hpp:165
#8 operator()<bool, boost::_mfi::mf1<bool, Proto, boost::shared_ptr<PktInfo> >, boost::_bi::list1<boost::shared_ptr<PktInfo>&> > (a=<synthetic pointer>, f=..., this=<optimized out>) at /usr/include/boost/bind/bind.hpp:303
#9 operator()<boost::shared_ptr<PktInfo> > (a1=..., this=<optimized out>) at /usr/include/boost/bind/bind_template.hpp:32
#10 boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<bool, boost::_mfi::mf1<bool, Proto, boost::shared_ptr<PktInfo> >, boost::_bi::list2<boost::_bi::value<Proto*>, boost::arg<1> > >, bool, boost::shared_ptr<PktInfo> >::invoke (
    function_obj_ptr=..., a0=...) at /usr/include/boost/function/function_template.hpp:132
#11 0x0000000000b669d9 in operator() (a0=..., this=0x2b789b00ab90) at /usr/include/boost/function/function_template.hpp:767
#12 QueueTaskRunner<boost::shared_ptr<PktInfo>, WorkQueue<boost::shared_ptr<PktInfo> > >::RunQueue (this=0x1adc8b0)
    at controller/src/base/queue_task.h:87
#13 0x000000000101f59c in TaskImpl::execute (this=0x2b784bcfbd40) at controller/src/base/task.cc:253
#14 0x00002b782249a8ca in tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) () from /lib64/libtbb.so.2
#15 0x00002b78224965b6 in tbb::internal::arena::process(tbb::internal::generic_scheduler&) () from /lib64/libtbb.so.2
#16 0x00002b7822495c8b in tbb::internal::market::process(rml::job&) () from /lib64/libtbb.so.2
#17 0x00002b782249367f in tbb::internal::rml::private_worker::run() () from /lib64/libtbb.so.2
#18 0x00002b7822493879 in tbb::internal::rml::private_worker::thread_routine(void*) () from /lib64/libtbb.so.2
#19 0x00002b7822264dc5 in start_thread () from /lib64/libpthread.so.0
#20 0x00002b7822fc421d in clone () from /lib64/libc.so.6

Tags: vrouter
Changed in juniperopenstack:
assignee: nobody → Praveen (praveen-karadakal)
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.20

Review in progress for https://review.opencontrail.org/18190
Submitter: Praveen K V (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/18190
Committed: http://github.org/Juniper/contrail-controller/commit/ed271dcb07db3e61677fed82d52152ca5b699652
Submitter: Zuul
Branch: R2.20

commit ed271dcb07db3e61677fed82d52152ca5b699652
Author: Praveen K V <email address hidden>
Date: Sun Mar 6 11:26:09 2016 +0530

Fix crash in PktHandler::ParseFlowPacket

For flow traps, pkt handler does not parse packet. Packet is parsed in
FlowHandler::Run routine. If packet belongs to other module, its
enqueued to the new module computed. At this stage, pkt_info->pkt field
is reset to NULL already. As part of enqueue to new module, packet trace
module accesses pkt_info->pkt field resulting in error.

Fix: Pass buffer pointer explicitly instead of picking from
pkt_info->pkt field

Change-Id: I74287ba3924abb54c67fcd6e28d72468feb46ebe
Fixes-Bug: 1553656

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.22.x

Review in progress for https://review.opencontrail.org/18200
Submitter: Hari Prasad Killi (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/18200
Committed: http://github.org/Juniper/contrail-controller/commit/5f98a2f503a5ca6fba676ec3b788cfa849e1466b
Submitter: Zuul
Branch: R2.22.x

commit 5f98a2f503a5ca6fba676ec3b788cfa849e1466b
Author: Praveen K V <email address hidden>
Date: Sun Mar 6 11:26:09 2016 +0530

Fix crash in PktHandler::ParseFlowPacket

For flow traps, pkt handler does not parse packet. Packet is parsed in
FlowHandler::Run routine. If packet belongs to other module, its
enqueued to the new module computed. At this stage, pkt_info->pkt field
is reset to NULL already. As part of enqueue to new module, packet trace
module accesses pkt_info->pkt field resulting in error.

Fix: Pass buffer pointer explicitly instead of picking from
pkt_info->pkt field

Change-Id: I74287ba3924abb54c67fcd6e28d72468feb46ebe
Fixes-Bug: 1553656
(cherry picked from commit ed271dcb07db3e61677fed82d52152ca5b699652)

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.