[lxc-users] LXC start command fails when ran with valgrind
Serge E. Hallyn
serge at hallyn.com
Fri Oct 28 20:42:59 UTC 2016
Quoting Adithya K (linux.challenge1 at gmail.com):
> HI,
>
> I am trying to run LXC on Ubuntu 14.04 and LXC version 1.0.8. When I
> run valgrind
> --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20
> --track-fds=yes lxc-start -d -n test, I get following error.
>
> Warning: invalid file descriptor 1024 in syscall close()
> ==7897== at 0x5195F60: __close_nocancel (syscall-template.S:81)
> ==7897== by 0x4E526BC: lxc_check_inherited (in /usr/lib/x86_64-linux-gnu/
> liblxc.so.1.0.8)
> ==7897== by 0x4E55840: lxc_monitord_spawn (in /usr/lib/x86_64-linux-gnu/
> liblxc.so.1.0.8)
> ==7897== by 0x4E82659: ??? (in /usr/lib/x86_64-linux-gnu/liblxc.so.1.0.8)
>
> I create LXC container with busybox template.
>
> Any solution to this?
You are asking for lxc to run in daemonized mode (-d). When it does so,
it always enables '-C' (close-all-fds) to close inherited fds. So
lxc-start sees an open fd of valgrind's and closes it. valgrind doesn't
like that.
You could probalby get around it by doing
valgrind @valgrind-args@ lxc-start -F -n test
which will run lxc-start in the foreground and without closing inherited
fds.
More information about the lxc-users
mailing list