Hi Ben, Yes, this solves the problem! thank you
Regards, William On Mon, Apr 11, 2016 at 9:35 AM, Ben Pfaff <b...@ovn.org> wrote: > On Wed, Apr 06, 2016 at 01:01:45PM -0700, William Tu wrote: > > Hi, > > > > Valgrind reports "Conditional jump or move depends on uninitialised > > value(s)" on test case 2019, "ovn.at:1229 ovn -- 3 HVs, 3 LS, 3 > lports/LS, > > 1 LR". I have no clue about how to fix this error. Any comments are > > appreciated. > > > > At the end of the message, valgrind reports "Uninitialised value was > > created by a stack allocation at 0x4404A0: xlate_actions > > (ofproto-dpif-xlate.c:5061)". So I suspect that due to deep call stacks > > caused by xlate_recursively(), maybe the stack size is not enough. So I > > increase stack size to 512MB but still the same. > > > > If you want to try, make valgrind more verbose by adding > > VALGRIND = valgrind --log-file=valgrind.%p --leak-check=full \ > > --track-origins=yes \ > > --suppressions=$(abs_top_srcdir)/tests/glibc.supp \ > > --suppressions=$(abs_top_srcdir)/tests/openssl.supp --num-callers=80 > > I think I see the problem. Before I post a full fix, would you mind > verifying that the following also avoids the valgrind warnings for you? > > diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c > index a02dc24..010e9c7 100644 > --- a/ofproto/ofproto-dpif-xlate.c > +++ b/ofproto/ofproto-dpif-xlate.c > @@ -5076,6 +5076,7 @@ xlate_actions(struct xlate_in *xin, struct xlate_out > *xout) > uint64_t action_set_stub[1024 / 8]; > uint64_t frozen_actions_stub[1024 / 8]; > struct flow_wildcards scratch_wc; > + memset(&scratch_wc, 0, sizeof scratch_wc); > uint64_t actions_stub[256 / 8]; > struct ofpbuf scratch_actions = OFPBUF_STUB_INITIALIZER(actions_stub); > struct xlate_ctx ctx = { > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev