[Libguestfs] virt-v2v valgrind errors in libosinfo

Richard W.M. Jones rjones at redhat.com
Tue Apr 14 13:16:49 UTC 2020


On Tue, Apr 14, 2020 at 12:37:07PM +0200, Pino Toscano wrote:
> > Unfortunately we never free the database.
> 
> Hm it is never freed? Wouldn't that result in actual leaks, since
> OsinfoDb_t_finalize (g_object_unref'ing the OsinfoDb) wouldn't be
> called?

I was thinking because of this:

https://github.com/libguestfs/virt-v2v/blob/cc294b7735dda467179b93a061d3631ac3547f26/v2v/libosinfo_utils.ml#L24

which IIUC will allocate a DB (on first access) but it is never
released.  (Note: I'm not saying this code is wrong)

> > It could be that to express
> > this properly we'd need to expose (db, os) tuples to the OCaml garbage
> > collector.
> 
> I thought about this, and according to knowledge this would be needed
> only if we want osinfo_os objects alive even when the osinfo_db gets
> "out of scope". Considering that the osinfo_db is kept basically
> statically this should be fine.

Right.

I don't believe the current code is wrong, my concern is more about
clearing up valgrind errors before the release.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list