Can you try this patch? I am assuming that you are on the mainline branch.

Cheers,

Anand


PS: Please recompile agent too after applying the following patch.


diff --git a/include/vr_flow.h b/include/vr_flow.h

index 09853e7..ee00ed1 100644

--- a/include/vr_flow.h

+++ b/include/vr_flow.h

@@ -288,10 +288,10 @@ struct vr_flow_queue {



 struct vr_dummy_flow_entry {

     struct vr_flow fe_key;

-    uint8_t fe_key_packing;

-    uint16_t fe_tcp_flags;

     unsigned int fe_tcp_seq;

     struct vr_flow_queue *fe_hold_list;

+    uint16_t fe_tcp_flags;

+    uint16_t fe_packing;

     unsigned short fe_action;

     unsigned short fe_flags;

     int fe_rflow;

@@ -312,10 +312,10 @@ struct vr_dummy_flow_entry {

 /* do not change. any field positions as it might lead to incompatibility */

 struct vr_flow_entry {

     struct vr_flow fe_key;

-    uint8_t fe_key_packing;

-    uint16_t fe_tcp_flags;

     unsigned int fe_tcp_seq;

     struct vr_flow_queue *fe_hold_list;

+    uint16_t fe_tcp_flags;

+    uint16_t fe_packing;

     unsigned short fe_action;

     unsigned short fe_flags;

     int fe_rflow;



Thanks,

Anand


________________________________
From: abhishek jain <[email protected]>
Sent: Saturday, December 26, 2015 10:11 AM
To: Anand H Krishnan
Cc: [email protected]; Rajagopalan Sivaramakrishnan; Prabhjot Singh 
Sethi
Subject: Re: [opencontrail-dev] kernel crash when ping

Hi Anand

Thanks for looking into this.

I applied some prints in the same function to be more clear on the exact reason 
and the exact problem seems to be is with
&fe->fe_hold_list.

func: vr_flush_entry line: 1456 &fe->fe_hold_list: ffff8083010f4c34 {  vfq: 
ffff80007b339640
[  249.477176] Unhandled fault: alignment fault (0x96000021) at 
0xffff8083010f4c34
[  249.484494] Internal error: : 96000021 [#1] PREEMPT SMP
[  249.489717] Modules linked in: vrouter(O)


What could be  the reason for this?

-Thanks
Abhishek Jain




On Sat, Dec 26, 2015 at 8:51 AM, Anand H Krishnan 
<[email protected]<mailto:[email protected]>> wrote:

Hi Abhishek,


We do not have an arm system to analyze the core. Can you please do a

bit more analysis (looks like you already did most of the initial digging

around)?


The place where you saw a crash seems highly unlikely. There are a couple

of possibilities. &fe->fe_hold_list is invalid or __sync* stuff doesn't work

on arm (guessing). Can you analyze the kernel crash dump?


Cheers,

Anand


________________________________
From: Dev 
<[email protected]<mailto:[email protected]>> 
on behalf of abhishek jain 
<[email protected]<mailto:[email protected]>>
Sent: Thursday, December 24, 2015 12:05 AM
To: [email protected]<mailto:[email protected]>; Rajagopalan 
Sivaramakrishnan; Prabhjot Singh Sethi
Subject: [opencontrail-dev] kernel crash when ping


Hi Team

I'm running ARM 64 as a compute node (4.0.4 kernel version) with contrail 
vrouter-agent running on it.The compute node is able to make connection to the 
controller node and I'm able to launch VM on compute node from the controller 
node(Opencontrail) GUI.

The VM on compute node is able obtain IP address from the virtual DHCP server 
running on controller node.However I'm facing kernel crash when I'm pinging the 
virtual GW from the VM.

I'm using the latest opencontrail code.I'm getting kernel crash at function 
vr_flush_entry at below line..

  swapped = __sync_bool_compare_and_swap(&fe->fe_hold_list, vfq, NULL);

Please help me regarding this.

--Thanks
Abhishek Jain

_______________________________________________
Dev mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org

Reply via email to