Greetings,

I am suffering of several weird errors which show randomly and make me suspect some concurrency issue.

Libguestfs version is 1.28.1, linux kernel 3.16, libvirt 1.2.9 and qemu 2.1.

What I'm trying to do is comparing the disk state at two different point of a guest execution.
Disk snapshots are taken through libvirt in different moments (I am aware of caching issue), from such snapshots, new disks are created using the "qemu-img convert" command with backing file pointing to the disk being executed.

Then, I spawn as many processes as disk images and in each process I create an guestfs instance and mount one of the disks.

The operation seems successful as I'm gathering the data I am looking for but I suffer from these random failures:

 * RuntimeError: file receive cancelled by daemon - On r = libguestfsmod.checksums_out (self._o, csumtype, directory, sumsfile)
 * RuntimeError: hivex_close: do_hivex_close: you must call 'hivex-open' first to initialize the hivex handle - On r = libguestfsmod.inspect_os (self._o)

The random nature of the errors make me think about some concurrency problem. The disk images are mounted read only, each process uses a new guestfs instance and mount a different disk image. Only shared data is the backing file.

Same code without backing image was running on a different server. I was able to compare whole disks image created from snapshots of a running one.

Most probably I am doing something wrong but I can't figure out what.