-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible silent corruption in 0.7.3. A small text file got zeroed. #6931
Comments
The bug is easily reproducible by comparing the file from |
Please see #3125, for example #3125 (comment) |
@gmelikov this only finds all the corrupted files in glibc. |
IIRC this regression was mainly reproducible on gentoo with portage https://bugs.gentoo.org/635002 and it filled files with \0 , so if you want to check all files - you should just check if they are filled with \0. |
In addition - it was portage regression too https://bugs.gentoo.org/635126 |
@gmelikov does this mean 1. the bug mostly affects files installed with portage and 2. the bug makes the whole file filled with \0 and not only the part of an affected file? |
I wasn't affected by this regression because I don't use Gentoo, so the best is to read #3125, but if I understand everything right - yes. If rsync was broken too, then we could find it at once. |
After upgrading kernel to 4.13.15 and zfs to 0.7.3 on one of the boxen I updated
lxd to 2.19 and noticed it is failing to start. It appears the initscript got
zeroed. At first I thought it should be a breakage in python caused by a gcc-6
bug as I also upgraded gcc recently. Then I downgraded lxd to 2.18 to just make
it work as I still had the binary package.
Lately I upgraded another much slower box to the same kernel and zfs version.
Then I used
quickpkg
in a stage4 filesystem to build (without compilation)binary packages for it's upgrade without compiling anything on this box because
of the limited time for the upgrade I had. After installing some of the
packages including glibc I noticed libm.so got zeroed the similar way.
But
libm.so
is fine in both binary package and the working stage4!I started thinking something could be wrong with zfs so I returned to the first
box and checked the lxd initscript in the binary package and it appeared to
be fine and non-zeroed.
It could still be caused by a bug in gcc and/or python breakage but it is not
so clear for me how could this happen as there was no compilation involved on
the second box where
libm.so
got zeroed in the process of emerging a binarypackage. Similarly the zeroed file on the first box is fine in the binary
package too. (portage has
buildpkg
feature which saves binary packages ofeverything it builds and installs)
The files are good in tarballs but got zeroed in the process of intalling or
shortly after. Otoh I don't see checksum errors on zfs side so it could also
be a silent corruption.
Unfortunately zfs got upgraded together with kernel, gcc and python on both
affected boxes which makes it harder to distinguish what caused the zeroing.
I never seen this behavior prior this recent upgrade.
Unfortunately I don't have a snapshot of the first box taken after the lxd
initscript zeroing and before I fixed the file.
I will take a snapshot of the affected filesystem with the file zeroed on the
second box and will keep it for the future investigation.
In stage4 chroot:
The file is identical to one in the binary package built with
quickpkg
in thisstage4 (from the installed files and without any compiling)
In the affected root to where the binary package got installed:
System information
The text was updated successfully, but these errors were encountered: