Hi,

just as a random exercise to learn debbisect I tried it against this bug. I hope this might be useful, or not :)

Early on I noticed that the issue can demonstrate itself in two different ways:

1) wget fails with "200 No headers, assuming HTTP/0.9". The original steps
   to reproduce included "2>/dev/null" which was hiding this. This is
   apparently bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930574

2) kernel reports a bug in dmesg and sets /proc/sys/kernel/tainted to a
   non-zero value. This is the case I started to investigate.

Using

$ debbisect --qemu=defaults --depends=linux-image-amd64 --verbose  
--cache=./cache 2019-06-01 2022-06-05 ./script2.sh

I see that the issue occurs with 4.19.0-5-amd64 but does not occur anymore with 5.2.0-2-amd64.

The helper scripts I used are below. Note that I had to negate the "good" status to find the version that fixes the bug instead of finding the version that introduces it.

#### script2.sh
#!/bin/sh

echo "script2.sh starting as $(whoami)"

ssh_config="$1"

scp -F "$ssh_config" script3.sh qemu:

ssh -F "$ssh_config" qemu ./script3.sh


#### script3.sh
#!/bin/sh
set -exu

echo "script3.sh starting as $(whoami)"

env APT_LISTCHANGES_FRONTEND=none DEBIAN_FRONTEND=noninteractive apt-get -o 
Dpkg::Options::="--force-confold" -o Dpkg::Options::="--force-confdef" install 
-y -q samba apache2 cifs-utils curl

tee -a /etc/samba/smb.conf <<EOF
[ftp]
   writable = no
   locking = no
   path = /srv/ftp
   public = yes
   browseable = no
EOF

mkdir /srv/ftp
systemctl reload smbd
systemctl start apache2
dd if=/dev/zero of=/srv/ftp/100Mzero bs=1024k count=100

mount.cifs //localhost/ftp /var/www/html/ -o password=root
checksum1="$(md5sum /srv/ftp/100Mzero| cut -d' ' -f1)"
checksum2="$(curl http://localhost/100Mzero -o - | md5sum | cut -d' ' -f1)"
tainted="$(cat /proc/sys/kernel/tainted)"

checksum_status="OK"
if [ "$checksum1" != "$checksum2" ]; then
    checksum_status="FAIL"
fi

tainted_status="OK"
if [ "$tainted" != "0" ]; then
    tainted_status="FAIL"
fi

kernel="$(uname -r)"

echo "checksum=$checksum_status tainted=$tainted_status kernel=$kernel"

if [ "$tainted_status" = "FAIL" ]; then
    exit 0
else
    exit 1
fi

#### log files:

$ grep " tainted=" *.log*|grep checksum|grep -v "+ "
debbisect.20190531T222351Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190705T030207Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190722T035916Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190730T155430Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190803T210702Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190805T231703Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190807T031723Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190807T151632Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190807T225524Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190808T040453Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190808T092732Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190808T163452Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190808T231348Z.libbsd0:amd64.log.good:checksum=FAILtainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190808T231348Z.linux-image-5.2.0-2-amd64.log.good:checksum=FAIL 
tainted=FAIL kernel=4.19.0-5-amd64
debbisect.20190808T231348Z.linux-image-amd64.log.good:checksum=FAIL 
tainted=FAIL kernel=4.19.0-5-amd64
debbisect.20190808T231348Z.log.good:checksum=FAIL tainted=FAIL 
kernel=4.19.0-5-amd64
debbisect.20190809T042226Z.log.bad:checksum=FAIL tainted=OK kernel=5.2.0-2-amd64
debbisect.20190810T050130Z.log.bad:checksum=FAIL tainted=OK kernel=5.2.0-2-amd64
debbisect.20190812T031202Z.log.bad:checksum=FAIL tainted=OK kernel=5.2.0-2-amd64
debbisect.20190816T153141Z.log.bad:checksum=FAIL tainted=OK kernel=5.2.0-2-amd64
debbisect.20190825T090821Z.log.bad:checksum=FAIL tainted=OK kernel=5.2.0-2-amd64
debbisect.20190911T210310Z.log.bad:checksum=FAIL tainted=OK kernel=5.2.0-2-amd64
debbisect.20191016T084830Z.log.bad:checksum=FAIL tainted=OK kernel=5.2.0-3-amd64
debbisect.20200301T210942Z.log.bad:checksum=FAIL tainted=OK kernel=5.4.0-4-amd64
debbisect.20201201T205219Z.log.bad:checksum=FAIL tainted=OK kernel=5.9.0-4-amd64
debbisect.20220604T214028Z.log.bad:checksum=OK tainted=OK kernel=5.17.0-3-amd64

Reply via email to