Re: Data corruption in guest using KVM

Aurelien Jarno
2007-07-21T17:54:04Z

On Sat, Jul 21, 2007 at 12:46:29PM -0500, Anthony Liguori wrote:
> Aurelien Jarno wrote:
> >Hi all,
> >
> >For a long time I am seeing data corruption in guests when using KVM,
> >but I am convinced only since today that the problem comes from KVM.
> >
> >The symptoms are a few bytes that are mangled to 0x00 in a file that has
> >been written. For now I have only seen 2 or 4 consecutive bytes mangled,
> >but that may due to statistics given the limited samples.
> >
> >The problem appears very rarely. I am only seeing it when doing huge
> >compilations (for example gcc or glibc), and not for every build. Note
> >that I am only detecting build failures, so I can miss some corruptions.
> >
> >Note that I have observed the problem on GNU/Linux, GNU/kFreeBSD and
> >plain FreeBSD, for both 32 and 64-bit guests. I always used 64-bit
> >hosts, and I have seen the problem on both Core 2 and Athlon 64 CPU
> >(always multi-core).
> >
> >I have never seen such corruptions using QEMU, so I would say the
> >problem does not comes from the disk emulation, though it may be due to
> >statistics. Note that I have made a lot of compilation in a MIPS QEMU
> >guest (a few hundred of hours), without any problem. This platform uses
> >the same IDE controller as the one in KVM.
> >
> >Does anybody have seen the same kind of problem? Without a way to
> >reproduce the corruption, I think it will be very difficult to debug
> >the problem.
> >
>
> What sort of disk are you using (qcow2?)
>

I am using raw files for the disk in all cases.

Note that I have just seen a three bytes corruption. Building the glibc
seems to be a good way to reproduce the bug, as a lot of source files
are generated on the fly during the build, and as GCC does not like
source files with 0x00.

I will try to do the same compilation using a NFS mount, to see if it
comes or not from the IDE controller emulation.

Regards,
Aurelien

--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org | aurelien-rXXEIb44qovR7s880joybQ@public.gmane.org
`- people.debian.org/~aurel32 | www.aurel32.net