Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/tests/net



On Thu, Aug 22, 2019 at 5:45 PM Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
>
> On Tue, Aug 20, 2019 at 7:06 PM Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
> >
> > On Tue, Aug 20, 2019 at 6:58 PM Martin Husemann <martin%duskware.de@localhost> wrote:
> > >
> > > On Tue, Aug 20, 2019 at 06:50:31PM +0900, Ryota Ozaki wrote:
> > > > Hmm, okay, I'm going to disable the feature until the issue is addressed.
> > >
> > > Could it be page size related?
> >
> > I'm not sure.
> >
> > My fresh chroot environment for ATF tests on amd64 also fails so
> > I guess I'm missing something important :-/
>
> It seems that the official AFT tests work expectedly except for
> evbarm-aarch64.  The leak checker uses vmstat -m with rumphijack
> to get pool statistics from a rump kernel, however, for failed
> cases, rumphijack doesn't work correctly and it gets pool statistics
> of the host kernel, resulting in test failures.

I understood why vmstat with rumphijack doesn't work.  Because
vmstat has the sgid bit and it prevents rumphijack, i.e.,
LD_PRELOAD from working.  (Thanks hikaru@ for the suggestion!)

A workaround for the issue is:
  cp /usr/bin/vmstat ./vmstat
  $HIJACKING ./vmstat
  rm -f ./vmstat

It's awkward but it's reasonable for now.  A proper fix would
be to stop using kvm(3) for vmstat and drop the sgid bit from
the binary.

>
> I don't understand yet why rumphijack doesn't work for vmstat -m
> in some cases and does work in other cases.

I guess on most anita environments leak checks pass just in luck
because the environment normally doesn't communicate with outside
and there are no L2 caches.  OTOH on baremetal environments there
can be active L2 caches, which makes the leak checks fail.

  ozaki-r


Home | Main Index | Thread Index | Old Index