SysV/AT fsck bug
John Rupley
rupley at arizona.edu
Mon Sep 11 09:34:03 AEST 1989
There has been discussion off and on about a bug in the SysV/AT fsck,
specifically the corruption of fsck's free block bitmap. Among
other possibilities, a compiler bug has been suggested.
The SysV/AT 2.4 (and 2.3) compiler has a bug that has an effect
consistent with the fsck problem, ie, data is corrupted, obscurely and
unpredictably. The bug is rare (I found it once in ca 60000 lines of
nethack source). There appears to be no simple prediction for what
source lines in what code environment will generate buggy assembler. It
is possible to test for the compiler bug by searching the assembler
source generated by "cc -S" for line pairs matching:
....,%ds...
..lds....
Has this bug been looked for in fsck? If not, would someone be willing to
perform the check?
I don't have access to the uport fsck sources, and I have never bothered
to pick up a disassembler.
For what it may be worth, a script that I used to check a set of source
files is appended.
John Rupley
uucp: ..{uunet | ucbvax | cmcl2 | hao!ncar!noao}!arizona!rupley!local
internet: rupley!local at megaron.arizona.edu
(O) Dept. Biochemistry, Univ. Arizona, Tucson AZ 85721 - (602) 621-3929
--------------------------cut------------------------------------
for i in $*
do
cc -S -Ml $i
sfile=`basename $i .c`.s
echo "\n$sfile"
cat $sfile | awk '
/,%ds:/ {
next
}
/,%ds/ {
last = $0
getline
if ($0 ~ /lds/ && $0 !~ /ds:/) {
print NR "\t" last
print "\t" $0
}
}'
rm $sfile
done
More information about the Comp.unix.microport
mailing list