On Wed, Jul 9, 2014 at 3:45 PM, Ben Pfaff <b...@nicira.com> wrote: > We noticed that the unit tests sometimes fail on XenServer inside glibc's > memory checker, in the free_check() function. It turns out that the > glibc memory checker in glibc 2.11 and earlier had an internal race that > caused false positives in multithreaded programs. > > This commit avoids the problem by disabling the glibc memory checker in > glibc 2.11 and earlier. > > VMware-BZ: #1267127 > Signed-off-by: Ben Pfaff <b...@nicira.com> > --- > tests/atlocal.in | 22 ++++++++++++++++++---- > 1 file changed, 18 insertions(+), 4 deletions(-) > > diff --git a/tests/atlocal.in b/tests/atlocal.in > index 2f816fc..825d289 100644 > --- a/tests/atlocal.in > +++ b/tests/atlocal.in > @@ -52,10 +52,24 @@ fi > # Enable malloc debugging features. > case `uname` in > Linux) > - MALLOC_CHECK_=2 > - MALLOC_PERTURB_=165 > - export MALLOC_CHECK_ > - export MALLOC_PERTURB_ > + MALLOC_PERTURB_=165; export MALLOC_PERTURB_ > + > + # Before glibc 2.11, the feature enabled by MALLOC_CHECK_ was not > + # thread-safe. See https://bugzilla.redhat.com/show_bug.cgi?id=585674 > and > + # in particular the patch attached there, which was applied to glibc CVS > as > + # "Restore locking in free_check." between 1.11 and 1.11.1. > + vswitchd=$abs_top_builddir/vswitchd/ovs-vswitchd > + glibc=`ldd $vswitchd | sed -n 's/^ libc\.[^ ]* => \([^ ]*\) .*/\1/p'` > + glibc_version=`$glibc | sed -n '1s/.*version > \([0-9]\{1,\}\.[0-9]\{1,\}\).*/\1/p'` > + case $glibc_version in > + 2.[0-9] | 2.1[01]) mcheck=disabled ;; Did you mean 2.0[0-9] instead of 2.[0-9]?
If so, I will change it and run the rpmbuild in a loop on Xenserver to see if it solves the problem. > + *) mcheck=enabled ;; > + esac > + if test $mcheck = enabled; then > + MALLOC_CHECK_=2; export MALLOC_CHECK_ > + else > + echo >&2 "glibc $glibc_version detected, disabling memory checking" > + fi > ;; > FreeBSD) > case `uname -r` in > -- > 1.7.10.4 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev