Message ID | 20190528094953.14898-1-alex.bennee@linaro.org |
---|---|
Headers | show |
Series | testing/next (system tests, docker, iotests) | expand |
On Tue, 28 May 2019 at 10:49, Alex Bennée <alex.bennee@linaro.org> wrote: > > The following changes since commit a7b21f6762a2d6ec08106d8a7ccb11829914523f: > > Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-4.1-pull-request' into staging (2019-05-24 12:47:49 +0100) > > are available in the Git repository at: > > https://github.com/stsquad/qemu.git tags/pull-testing-next-280519-1 > > for you to fetch changes up to 4a344d91083e351c1c5ac877c0ab215335a1e23d: > > tests: Run the iotests during "make check" again (2019-05-28 10:28:51 +0100) > > ---------------------------------------------------------------- > Various testing updates > > - semihosting re-factor (used in system tests) > - aarch64 and alpha system tests > - editorconfig tweak for .S > - some docker image updates > - iotests clean-up and make check inclusion > Hi; this fails 'make check' on the clang sanitiser build for Linux x86-64. It looks like the code in qemu-imo-cmds.c is incorrectly doing a division-by-zero if the operation it is reporting on took less than a second... make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/clang' /home/petmay01/linaro/qemu-for-merges/tests/check-block.sh TEST iotest-qcow2: 001 TEST iotest-qcow2: 002 TEST iotest-qcow2: 003 TEST iotest-qcow2: 004 TEST iotest-qcow2: 005 TEST iotest-qcow2: 007 TEST iotest-qcow2: 008 TEST iotest-qcow2: 009 TEST iotest-qcow2: 010 TEST iotest-qcow2: 011 TEST iotest-qcow2: 012 --- /home/petmay01/linaro/qemu-for-merges/tests/qemu-iotests/013.out 2014-12-15 11:11:04.234972929 +0000 +++ /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/013.out.bad 2019-05-28 14:06:57.827692927 +010 0 @@ -17596,6 +17596,7 @@ With offset 0: === IO: pattern 0 +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime error: division by zero read 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 4096/4096 bytes at offset 4096 @@ -21994,6 +21995,7 @@ No errors were found on the image. With offset 4294967296: === IO: pattern 0 +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime error: division by zero read 4096/4096 bytes at offset 4294967296 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 4096/4096 bytes at offset 4294971392 TEST iotest-qcow2: 013 [fail] QEMU -- "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../x86_64-softmmu/qemu-system-x8 6_64" -nodefaults -machine accel=qtest QEMU_IMG -- "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../qemu-img" QEMU_IO -- "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../qemu-io" --cache writeback - f qcow2 QEMU_NBD -- "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../qemu-nbd" IMGFMT -- qcow2 (compat=1.1) IMGPROTO -- file PLATFORM -- Linux/x86_64 e104462 4.15.0-48-generic TEST_DIR -- /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/scratch SOCKET_SCM_HELPER -- /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/socket_scm_helper --- /home/petmay01/linaro/qemu-for-merges/tests/qemu-iotests/013.out 2014-12-15 11:11:04.234972929 +0000 +++ /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/013.out.bad 2019-05-28 14:06:57.827692927 +0100 @@ -17596,6 +17596,7 @@ With offset 0: === IO: pattern 0 +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime error: division by zero read 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 4096/4096 bytes at offset 4096 @@ -21994,6 +21995,7 @@ No errors were found on the image. With offset 4294967296: === IO: pattern 0 +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime error: division by zero read 4096/4096 bytes at offset 4294967296 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 4096/4096 bytes at offset 4294971392 thanks -- PMM
Peter Maydell <peter.maydell@linaro.org> writes: > On Tue, 28 May 2019 at 10:49, Alex Bennée <alex.bennee@linaro.org> wrote: >> >> The following changes since commit a7b21f6762a2d6ec08106d8a7ccb11829914523f: >> >> Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-4.1-pull-request' into staging (2019-05-24 12:47:49 +0100) >> >> are available in the Git repository at: >> >> https://github.com/stsquad/qemu.git tags/pull-testing-next-280519-1 >> >> for you to fetch changes up to 4a344d91083e351c1c5ac877c0ab215335a1e23d: >> >> tests: Run the iotests during "make check" again (2019-05-28 10:28:51 +0100) >> >> ---------------------------------------------------------------- >> Various testing updates >> >> - semihosting re-factor (used in system tests) >> - aarch64 and alpha system tests >> - editorconfig tweak for .S >> - some docker image updates >> - iotests clean-up and make check inclusion >> > > Hi; this fails 'make check' on the clang sanitiser build for Linux x86-64. > It looks like the code in qemu-imo-cmds.c is incorrectly doing > a division-by-zero if the operation it is reporting on took > less than a second... Sounds like we should include the sanitizer build in our normal setup. We currently only do: ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" with gcc-7. What are the clang configure runes you are using? > > make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/clang' > /home/petmay01/linaro/qemu-for-merges/tests/check-block.sh > TEST iotest-qcow2: 001 > TEST iotest-qcow2: 002 > TEST iotest-qcow2: 003 > TEST iotest-qcow2: 004 > TEST iotest-qcow2: 005 > TEST iotest-qcow2: 007 > TEST iotest-qcow2: 008 > TEST iotest-qcow2: 009 > TEST iotest-qcow2: 010 > TEST iotest-qcow2: 011 > TEST iotest-qcow2: 012 > --- /home/petmay01/linaro/qemu-for-merges/tests/qemu-iotests/013.out > 2014-12-15 11:11:04.234972929 +0000 > +++ /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/013.out.bad > 2019-05-28 14:06:57.827692927 +010 > 0 > @@ -17596,6 +17596,7 @@ > > With offset 0: > === IO: pattern 0 > +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime > error: division by zero > read 4096/4096 bytes at offset 0 > 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > read 4096/4096 bytes at offset 4096 > @@ -21994,6 +21995,7 @@ > No errors were found on the image. > With offset 4294967296: > === IO: pattern 0 > +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime > error: division by zero > read 4096/4096 bytes at offset 4294967296 > 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > read 4096/4096 bytes at offset 4294971392 > TEST iotest-qcow2: 013 [fail] > QEMU -- > "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../x86_64-softmmu/qemu-system-x8 > 6_64" -nodefaults -machine accel=qtest > QEMU_IMG -- > "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../qemu-img" > QEMU_IO -- > "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../qemu-io" > --cache writeback - > f qcow2 > QEMU_NBD -- > "/home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/../../qemu-nbd" > IMGFMT -- qcow2 (compat=1.1) > IMGPROTO -- file > PLATFORM -- Linux/x86_64 e104462 4.15.0-48-generic > TEST_DIR -- > /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/scratch > SOCKET_SCM_HELPER -- > /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/socket_scm_helper > > --- /home/petmay01/linaro/qemu-for-merges/tests/qemu-iotests/013.out > 2014-12-15 11:11:04.234972929 +0000 > +++ /home/petmay01/linaro/qemu-for-merges/build/clang/tests/qemu-iotests/013.out.bad > 2019-05-28 14:06:57.827692927 +0100 > @@ -17596,6 +17596,7 @@ > > With offset 0: > === IO: pattern 0 > +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime > error: division by zero > read 4096/4096 bytes at offset 0 > 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > read 4096/4096 bytes at offset 4096 > @@ -21994,6 +21995,7 @@ > No errors were found on the image. > With offset 4294967296: > === IO: pattern 0 > +/home/petmay01/linaro/qemu-for-merges/qemu-io-cmds.c:264:18: runtime > error: division by zero > read 4096/4096 bytes at offset 4294967296 > 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > read 4096/4096 bytes at offset 4294971392 > > thanks > -- PMM -- Alex Bennée
On Tue, 28 May 2019 at 14:47, Alex Bennée <alex.bennee@linaro.org> wrote: > Sounds like we should include the sanitizer build in our normal setup. > We currently only do: > > ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread > -fuse-ld=gold" > > with gcc-7. What are the clang configure runes you are using? I use '../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk' '--extra-cflags=-fsanitize=undefined -fno-sanitize=shift-base -Werror' (which we document at https://wiki.qemu.org/Testing#clang_UBSan) thanks -- PMM
Peter Maydell <peter.maydell@linaro.org> writes: > On Tue, 28 May 2019 at 14:47, Alex Bennée <alex.bennee@linaro.org> wrote: >> Sounds like we should include the sanitizer build in our normal setup. >> We currently only do: >> >> ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread >> -fuse-ld=gold" >> >> with gcc-7. What are the clang configure runes you are using? > > I use > '../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk' > '--extra-cflags=-fsanitize=undefined -fno-sanitize=shift-base > -Werror' OK - I'll drop the final patch for now and respin and include it the next testing/next > > (which we document at https://wiki.qemu.org/Testing#clang_UBSan) > > thanks > -- PMM -- Alex Bennée
On 28/05/19 16:02, Peter Maydell wrote: > On Tue, 28 May 2019 at 14:47, Alex Bennée <alex.bennee@linaro.org> wrote: >> Sounds like we should include the sanitizer build in our normal setup. >> We currently only do: >> >> ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread >> -fuse-ld=gold" >> >> with gcc-7. What are the clang configure runes you are using? > > I use > '../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk' > '--extra-cflags=-fsanitize=undefined -fno-sanitize=shift-base > -Werror' > > (which we document at https://wiki.qemu.org/Testing#clang_UBSan) Oh, so this is ubsan! It is not covered by Patchew, which however found some issues in the Address Sanitizer build that were uncovered by check-block. Logs are available at https://patchew.org/logs/20190530101603.22254-1-alex.bennee@linaro.org/testing.asan/?type=message. Paolo