[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1793904] Re: files are randomly overwritten by Zero By
From: |
John Snow |
Subject: |
[Qemu-devel] [Bug 1793904] Re: files are randomly overwritten by Zero Bytes |
Date: |
Wed, 26 Sep 2018 20:27:59 -0000 |
Looks like you've narrowed it down to QEMU's usage of gluster, but some
additional details might still be nice just to be sure:
Can you produce the command-line for QEMU so we can see the
configuration you're running?
I believe on Debian that QEMU makes use of the glusterfs-common package,
can you post that version too?
Once you are witnessing files coming back as zeroes, if you shut the VM
down (cleanly if at all possible), are you able to run qemu-img check on
the qcow2 file? Do you see any errors?
And, as a debugging step, are you able to test with a raw file over
gluster:// to see if you can reproduce that way? I'm wondering if
there's an interaction with qcow2 and gluster that can maybe be
eliminated or highlighted here. (qcow2 might drive gluster in ways
differently than raw does, which might help narrow down the problem one
way or the other.)
--js
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1793904
Title:
files are randomly overwritten by Zero Bytes
Status in QEMU:
New
Bug description:
Hello together,
I am currently tracking down a "Hard to reproduce" bug on my systems
that I first discovered during gitlab installation:
Here is the Text from the Gitlab Bug
https://gitlab.com/gitlab-org/gitlab-ce/issues/51023
----------------------------------------------------------------------------------------------
Steps to reproduce
I still do not have all the steps together to reproduce, so far it is:
apt install gitlab-ce and
gitlab-rake backup:recovery
Then it works for some time before it fails.
What is the current bug behavior?
I have a 12 hour old Installation of gitlab ce 11.2.3-ce.0 for debian
stretch on a fresh debian stretch system together with our imported
data. However it turns out that some gitlab related files contain Zero
bytes instead of actual data.
address@hidden:~# xxd -l 16 /opt/gitlab/bin/gitlab-ctl
00000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
This behaviour is somewhat strange because it was working for a few
minutes/hours. I did write a shell script to find out which files are
affected of this memory loss. It turns out that only files located
under /opt/gitlab are affected, if I rule out files like
/var/log/faillog and some postgresql table files.
What I find even stranger is that it does not seem to affect
Logfiles/databases/git_repositorys but application files, like .rb
scripts. and not all of them. No non gitlab package is affected.
What is the expected correct behavior?
Binarys and .rb files should stay as they are.
Possible fixes
I am still investigating, I hope that it is not an infrastructure problem
(libvirt/qemu/glusterfs) it can still be one but the point that files of
/opt/gitlab are affected and not any logfile and that we to not have similar
problems with any other system leads me to the application for now.
If I would have used docker the same problem might have caused a reboot of
the container.
But for the Debian package it is a bit of work to recover. That is all a
workaround, however.
---------------------------------------------------------------------------------------------
I do have found 2 more systems having the same problem with different
software:
address@hidden:~# xxd -l 16 /usr/share/perl/5.26.2/constant.pm
00000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
The Filesize itself is, compared with another machine 00001660 Bytes
for both the corrupted and the intact file. It looks to me from the
outside that if some data in the qcow2 file is written too many bytes
get written so it sometimes overwites data of existing files located
right after the position in memory where the write goes to.
I would like to rule out Linux+Ext4 filesystems because I find it
highly unlikely that such an error keeps undiscovered in that part of
the environment for long. I think the same might go for qemu.
Which leaves qemu, gemu+gluster:// mount, qcow2 volumes, glusterfs,
network. So I am now going to check if I can find any system which
gets its volumes via fusermount instead of gluster:// path if the
error is gone there. This may take a while.
----- some software versions---------------
QEMU emulator version 2.12.0 (Debian 1:2.12+dfsg-3)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
libvirt-daemon-driver-storage-gluster/testing,unstable,now 4.6.0-2
amd64 [installed]
ii glusterfs-client 4.1.3-1 amd64
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1793904/+subscriptions