[ovs-dev] Fix the segfault seen in ovn-controller when running tests
diff mbox series

Message ID 20190909100245.14160-1-nusiddiq@redhat.com
State Accepted
Headers show
Series
  • [ovs-dev] Fix the segfault seen in ovn-controller when running tests
Related show

Commit Message

Numan Siddique Sept. 9, 2019, 10:02 a.m. UTC
From: Numan Siddique <nusiddiq@redhat.com>

The test case - "116: ovn -- 2 HVs, 2 lports/HV, localnet ports, DVR N-S Ping"
is failing with the segfault in ovn-controller occationally.

This patch fixes it.

backtrace
------
Program terminated with signal SIGSEGV, Segmentation fault.
0x0000000000422414 in put_remote_port_redirect_bridged (...)
    at /usr/include/bits/byteswap.h:52
52	  return __builtin_bswap32 (__bsx);
[Current thread is 1 (Thread 0x7f985fbe04c0 (LWP 18625))]
------

Fixes: 03493b33c073("OVN: Vlan backed DVR N-S, redirect packet via localnet port")
CC: Ankur Sharma <ankur.sharma@nutanix.com>
Signed-off-by: Numan Siddique <nusiddiq@redhat.com>
---
 controller/physical.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

0-day Robot Sept. 9, 2019, 10:56 a.m. UTC | #1
Bleep bloop.  Greetings Numan Siddique, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


git-am:
fatal: sha1 information is lacking or useless (controller/physical.c).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 Fix the segfault seen in ovn-controller when running tests
The copy of the patch that failed is found in:
   /var/lib/jenkins/jobs/upstream_build_from_pw/workspace/.git/rebase-apply/patch
When you have resolved this problem, run "git am --resolved".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


Please check this out.  If you feel there has been an error, please email aconole@redhat.com

Thanks,
0-day Robot
Lorenzo Bianconi Sept. 9, 2019, 3:18 p.m. UTC | #2
>
> From: Numan Siddique <nusiddiq@redhat.com>
>
> The test case - "116: ovn -- 2 HVs, 2 lports/HV, localnet ports, DVR N-S Ping"
> is failing with the segfault in ovn-controller occationally.
>

Acked-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>

> This patch fixes it.
>
> backtrace
> ------
> Program terminated with signal SIGSEGV, Segmentation fault.
> 0x0000000000422414 in put_remote_port_redirect_bridged (...)
>     at /usr/include/bits/byteswap.h:52
> 52        return __builtin_bswap32 (__bsx);
> [Current thread is 1 (Thread 0x7f985fbe04c0 (LWP 18625))]
> ------
>
> Fixes: 03493b33c073("OVN: Vlan backed DVR N-S, redirect packet via localnet port")
> CC: Ankur Sharma <ankur.sharma@nutanix.com>
> Signed-off-by: Numan Siddique <nusiddiq@redhat.com>
> ---
>  controller/physical.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/controller/physical.c b/controller/physical.c
> index c818646f0..f28c5f078 100644
> --- a/controller/physical.c
> +++ b/controller/physical.c
> @@ -272,6 +272,9 @@ put_remote_port_redirect_bridged(const struct
>          const struct sbrec_port_binding *ls_localnet_port;
>
>          ls_localnet_port = get_localnet_port(local_datapaths, ls_dp_key);
> +        if (!ls_localnet_port) {
> +            return;
> +        }
>
>          src_mac = ofpact_put_SET_ETH_SRC(ofpacts_p);
>          src_mac->mac = binding_mac;
> --
> 2.21.0
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Numan Siddique Sept. 9, 2019, 6:34 p.m. UTC | #3
On Mon, Sep 9, 2019 at 8:48 PM Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
wrote:

> >
> > From: Numan Siddique <nusiddiq@redhat.com>
> >
> > The test case - "116: ovn -- 2 HVs, 2 lports/HV, localnet ports, DVR N-S
> Ping"
> > is failing with the segfault in ovn-controller occationally.
> >
>
> Acked-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
>

Thanks. I pushed this fix to master.

Numan


>
> > This patch fixes it.
> >
> > backtrace
> > ------
> > Program terminated with signal SIGSEGV, Segmentation fault.
> > 0x0000000000422414 in put_remote_port_redirect_bridged (...)
> >     at /usr/include/bits/byteswap.h:52
> > 52        return __builtin_bswap32 (__bsx);
> > [Current thread is 1 (Thread 0x7f985fbe04c0 (LWP 18625))]
> > ------
> >
> > Fixes: 03493b33c073("OVN: Vlan backed DVR N-S, redirect packet via
> localnet port")
> > CC: Ankur Sharma <ankur.sharma@nutanix.com>
> > Signed-off-by: Numan Siddique <nusiddiq@redhat.com>
> > ---
> >  controller/physical.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/controller/physical.c b/controller/physical.c
> > index c818646f0..f28c5f078 100644
> > --- a/controller/physical.c
> > +++ b/controller/physical.c
> > @@ -272,6 +272,9 @@ put_remote_port_redirect_bridged(const struct
> >          const struct sbrec_port_binding *ls_localnet_port;
> >
> >          ls_localnet_port = get_localnet_port(local_datapaths,
> ls_dp_key);
> > +        if (!ls_localnet_port) {
> > +            return;
> > +        }
> >
> >          src_mac = ofpact_put_SET_ETH_SRC(ofpacts_p);
> >          src_mac->mac = binding_mac;
> > --
> > 2.21.0
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>

Patch
diff mbox series

diff --git a/controller/physical.c b/controller/physical.c
index c818646f0..f28c5f078 100644
--- a/controller/physical.c
+++ b/controller/physical.c
@@ -272,6 +272,9 @@  put_remote_port_redirect_bridged(const struct
         const struct sbrec_port_binding *ls_localnet_port;
 
         ls_localnet_port = get_localnet_port(local_datapaths, ls_dp_key);
+        if (!ls_localnet_port) {
+            return;
+        }
 
         src_mac = ofpact_put_SET_ETH_SRC(ofpacts_p);
         src_mac->mac = binding_mac;