Hi Anand

I tried applying the above patch on the master branch and after applying
the patch I was able to compile vrouter.ko and contrail-vrouter-agent
successfully.

Hoewever when I tried ruunning the modified contrail-vrouter-agent with the
modified vrouter.ko,the binary was not able to run properly and starting
producing alignment errors.Below are the dmesg logs..

vrouter soft reset start
[  324.645142] vrouter soft reset done (0)
[  326.649461] Unhandled fault: alignment fault (0x92000021) at
0x0000ffff87f0003f


So I tried running the default contrail-vrouter-agent with the modified
(patch applied) vrouter.ko and I was able to run contrail-vrouter-agent
properly.However I was getting the same kernel crash while pinging from the
VM

PFA kernel crash logs ..

--Thanks
Abhishek Jain

On Mon, Dec 28, 2015 at 10:56 AM, Anand H Krishnan <[email protected]>
wrote:

> 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]>
> 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]> on behalf of abhishek
>> jain <[email protected]>
>> *Sent:* Thursday, December 24, 2015 12:05 AM
>> *To:* [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
>>
>
>

Attachment: kernel-crash-logs
Description: Binary data

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

Reply via email to