[Libguestfs] [PATCH] launch: rework handling of --enable-valgrind-daemon
Pino Toscano
ptoscano at redhat.com
Mon Jun 29 18:05:52 UTC 2015
In data giovedì 25 giugno 2015 15:54:56, Richard W.M. Jones ha scritto:
> On Thu, Jun 25, 2015 at 04:16:59PM +0200, Pino Toscano wrote:
> > In data giovedì 25 giugno 2015 14:50:03, Richard W.M. Jones ha scritto:
> > > This doesn't handle the guestfsd shutdown case (but nor does the
> > > current code, which is both racy on shutdown and introduces separate
> > > shutdown paths for --enable-valgrind-daemon and ordinary
> > > configurations). But we can punt on that until later. The above
> > > would detect all memory errors except for memory leaks.
> >
> > ... although losing the leaks detection would be a no-go for me, since
> > that's something I've been using from time to time, even if not often.
> >
> > Can you expand a bit more on the parts you consider racy?
>
> There are two objections:
>
> (1) That we currently have separate shutdown paths in the
> valgrind/non-valgrind case:
>
> https://github.com/libguestfs/libguestfs/blob/master/src/handle.c#L429-L443
> https://github.com/libguestfs/libguestfs/blob/master/src/conn-socket.c#L346-L364
>
> We shouldn't have two different paths that developers and non-
> developers use.
>
> (2) This actually causes bugs. The second one is the race.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1023630
> https://bugzilla.redhat.com/show_bug.cgi?id=1020216
>
> There's also another race which I don't think we have a bug about
> where the output from valgrind is truncated (because valgrind is quite
> slow at shutdown) so that you don't see valgrind errors reliably.
> Attempting (not always successfully) to work around that race is the
> purpose of the sleep here:
>
> https://github.com/libguestfs/libguestfs/blob/master/appliance/init#L154
>
> In summary, I think it's a hack. I cannot use it because of the bugs
> above, which makes it useless for me. Finding memory leaks is
> certainly important, but crashes in the daemon are way more important.
> I'm not saying we couldn't fix the memory leak problem later.
Thanks for the explanations.
I'm trying to get a better valgrind mode, using the actual
implementation as starting point, and surely knowing about the current
shortcomings will help in that.
--
Pino Toscano
More information about the Libguestfs
mailing list