Message ID | 20200310091443.1326-1-longpeng2@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RFC] cpus: avoid get stuck in pause_all_vcpus | expand |
Patchew URL: https://patchew.org/QEMU/20200310091443.1326-1-longpeng2@huawei.com/ Hi, This series failed the asan build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #!/bin/bash export ARCH=x86_64 make docker-image-fedora V=1 NETWORK=1 time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1 === TEST SCRIPT END === PASS 1 fdc-test /x86_64/fdc/cmos PASS 2 fdc-test /x86_64/fdc/no_media_on_start PASS 3 fdc-test /x86_64/fdc/read_without_media ==6153==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 fdc-test /x86_64/fdc/media_change PASS 5 fdc-test /x86_64/fdc/sense_interrupt PASS 6 fdc-test /x86_64/fdc/relative_seek --- PASS 32 test-opts-visitor /visitor/opts/range/beyond PASS 33 test-opts-visitor /visitor/opts/dict/unvisited MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-coroutine -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-coroutine" ==6201==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6201==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdee3e3000; bottom 0x7fd2aedcb000; size: 0x002b3f618000 (185746948096) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-coroutine /basic/no-dangling-access --- PASS 12 fdc-test /x86_64/fdc/read_no_dma_19 PASS 13 fdc-test /x86_64/fdc/fuzz-registers MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/ide-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ide-test" ==6216==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 14 test-aio /aio/timer/schedule PASS 15 test-aio /aio/coroutine/queue-chaining PASS 16 test-aio /aio-gsource/flush ==6224==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 17 test-aio /aio-gsource/bh/schedule PASS 18 test-aio /aio-gsource/bh/schedule10 PASS 19 test-aio /aio-gsource/bh/cancel --- PASS 26 test-aio /aio-gsource/event/flush PASS 27 test-aio /aio-gsource/event/wait/no-flush-cb PASS 1 ide-test /x86_64/ide/identify ==6230==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 ide-test /x86_64/ide/flush ==6236==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 28 test-aio /aio-gsource/timer/schedule PASS 3 ide-test /x86_64/ide/bmdma/simple_rw MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-aio-multithread -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-aio-multithread" ==6245==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-aio-multithread /aio/multi/lifecycle ==6242==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 ide-test /x86_64/ide/bmdma/trim PASS 2 test-aio-multithread /aio/multi/schedule ==6262==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-aio-multithread /aio/multi/mutex/contended PASS 4 test-aio-multithread /aio/multi/mutex/handoff PASS 5 test-aio-multithread /aio/multi/mutex/mcs ==6288==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 test-aio-multithread /aio/multi/mutex/pthread MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-throttle -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-throttle" PASS 1 test-throttle /throttle/leak_bucket --- PASS 6 test-throttle /throttle/detach_attach PASS 7 test-throttle /throttle/config_functions PASS 8 test-throttle /throttle/accounting ==6295==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 test-throttle /throttle/groups PASS 10 test-throttle /throttle/config/enabled PASS 11 test-throttle /throttle/config/conflicting --- PASS 14 test-throttle /throttle/config/max PASS 15 test-throttle /throttle/config/iops_size MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-thread-pool -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-thread-pool" ==6299==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-thread-pool /thread-pool/submit PASS 2 test-thread-pool /thread-pool/submit-aio PASS 3 test-thread-pool /thread-pool/submit-co --- PASS 3 test-hbitmap /hbitmap/size/unaligned PASS 4 test-hbitmap /hbitmap/iter/empty PASS 5 test-hbitmap /hbitmap/iter/partial ==6370==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 test-hbitmap /hbitmap/iter/granularity PASS 7 test-hbitmap /hbitmap/iter/iter_and_reset PASS 8 test-hbitmap /hbitmap/get/all --- PASS 28 test-hbitmap /hbitmap/truncate/shrink/medium PASS 29 test-hbitmap /hbitmap/truncate/shrink/large PASS 30 test-hbitmap /hbitmap/meta/zero ==6376==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 31 test-hbitmap /hbitmap/meta/one PASS 32 test-hbitmap /hbitmap/meta/byte PASS 33 test-hbitmap /hbitmap/meta/word --- PASS 44 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_4 PASS 45 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_after_truncate MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bdrv-drain -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bdrv-drain" ==6383==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-bdrv-drain /bdrv-drain/nested PASS 2 test-bdrv-drain /bdrv-drain/multiparent PASS 3 test-bdrv-drain /bdrv-drain/set_aio_context --- PASS 41 test-bdrv-drain /bdrv-drain/bdrv_drop_intermediate/poll PASS 42 test-bdrv-drain /bdrv-drain/replace_child/mid-drain MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bdrv-graph-mod -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bdrv-graph-mod" ==6424==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-bdrv-graph-mod /bdrv-graph-mod/update-perm-tree PASS 2 test-bdrv-graph-mod /bdrv-graph-mod/should-update-child MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-blockjob -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-blockjob" ==6428==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-blockjob /blockjob/ids PASS 2 test-blockjob /blockjob/cancel/created PASS 3 test-blockjob /blockjob/cancel/running --- PASS 7 test-blockjob /blockjob/cancel/pending PASS 8 test-blockjob /blockjob/cancel/concluded MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-blockjob-txn -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-blockjob-txn" ==6419==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6435==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-blockjob-txn /single/success PASS 2 test-blockjob-txn /single/failure PASS 3 test-blockjob-txn /single/cancel --- PASS 6 test-blockjob-txn /pair/cancel PASS 7 test-blockjob-txn /pair/fail-cancel-race MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-block-backend -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-block-backend" ==6440==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-block-backend /block-backend/drain_aio_error PASS 2 test-block-backend /block-backend/drain_all_aio_error MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-block-iothread -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-block-iothread" ==6444==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-block-iothread /sync-op/pread PASS 2 test-block-iothread /sync-op/pwrite PASS 3 test-block-iothread /sync-op/load_vmstate --- PASS 15 test-block-iothread /propagate/diamond PASS 16 test-block-iothread /propagate/mirror MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-image-locking -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-image-locking" ==6464==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-image-locking /image-locking/basic PASS 2 test-image-locking /image-locking/set-perm-abort MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-x86-cpuid -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-x86-cpuid" --- PASS 1 rcutorture /rcu/torture/1reader PASS 2 rcutorture /rcu/torture/10readers MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-rcu-list -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-list" ==6522==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-rcu-list /rcu/qlist/single-threaded PASS 2 test-rcu-list /rcu/qlist/short-few PASS 3 test-rcu-list /rcu/qlist/long-many MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-rcu-simpleq -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-simpleq" PASS 1 test-rcu-simpleq /rcu/qsimpleq/single-threaded PASS 2 test-rcu-simpleq /rcu/qsimpleq/short-few ==6567==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-rcu-simpleq /rcu/qsimpleq/long-many MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-rcu-tailq -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-tailq" PASS 1 test-rcu-tailq /rcu/qtailq/single-threaded PASS 2 test-rcu-tailq /rcu/qtailq/short-few ==6627==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-rcu-tailq /rcu/qtailq/long-many MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-rcu-slist -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-slist" PASS 1 test-rcu-slist /rcu/qslist/single-threaded --- PASS 7 test-qdist /qdist/binning/expand PASS 8 test-qdist /qdist/binning/shrink MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qht -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qht" ==6672==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 ide-test /x86_64/ide/bmdma/various_prdts ==6679==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6679==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcc3bab000; bottom 0x7fdda9976000; size: 0x001f1a235000 (133582508032) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 6 ide-test /x86_64/ide/bmdma/no_busmaster PASS 7 ide-test /x86_64/ide/flush/nodev ==6690==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 8 ide-test /x86_64/ide/flush/empty_drive ==6695==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 ide-test /x86_64/ide/flush/retry_pci ==6701==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 ide-test /x86_64/ide/flush/retry_isa ==6707==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 11 ide-test /x86_64/ide/cdrom/pio ==6713==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 ide-test /x86_64/ide/cdrom/pio_large ==6719==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 13 ide-test /x86_64/ide/cdrom/dma MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/ahci-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ahci-test" PASS 1 test-qht /qht/mode/default ==6733==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 test-qht /qht/mode/resize MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qht-par -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qht-par" PASS 1 ahci-test /x86_64/ahci/sanity ==6748==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 ahci-test /x86_64/ahci/pci_spec PASS 1 test-qht-par /qht/parallel/2threads-0%updates-1s ==6754==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 ahci-test /x86_64/ahci/pci_enable PASS 2 test-qht-par /qht/parallel/2threads-20%updates-1s MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bitops -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bitops" ==6766==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-bitops /bitops/sextract32 PASS 2 test-bitops /bitops/sextract64 PASS 3 test-bitops /bitops/half_shuffle32 --- PASS 1 check-qom-interface /qom/interface/direct_impl PASS 2 check-qom-interface /qom/interface/intermediate_impl MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/check-qom-proplist -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="check-qom-proplist" ==6778==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 check-qom-proplist /qom/proplist/createlist PASS 2 check-qom-proplist /qom/proplist/createv PASS 3 check-qom-proplist /qom/proplist/createcmdline --- PASS 9 test-keyval /keyval/visit/alternate PASS 10 test-keyval /keyval/visit/any MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-write-threshold -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-write-threshold" ==6810==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-write-threshold /write-threshold/not-set-on-init PASS 2 test-write-threshold /write-threshold/set-get PASS 3 test-write-threshold /write-threshold/multi-set-get --- PASS 2 test-crypto-hmac /crypto/hmac/alloc PASS 3 test-crypto-hmac /crypto/hmac/prealloc PASS 4 test-crypto-hmac /crypto/hmac/digest ==6828==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-cipher -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-cipher" PASS 1 test-crypto-cipher /crypto/cipher/aes-ecb-128 PASS 2 test-crypto-cipher /crypto/cipher/aes-ecb-192 --- PASS 16 test-crypto-secret /crypto/secret/crypt/badiv MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-tlscredsx509 -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-tlscredsx509" PASS 7 ahci-test /x86_64/ahci/max ==6850==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectserver PASS 2 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectclient PASS 8 ahci-test /x86_64/ahci/reset PASS 3 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca1 ==6856==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6856==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff52641000; bottom 0x7fb6efbfe000; size: 0x004862a43000 (310892572672) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 9 ahci-test /x86_64/ahci/io/pio/lba28/simple/zero ==6862==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6862==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe19d68000; bottom 0x7f2deb9fe000; size: 0x00d02e36a000 (894128529408) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 10 ahci-test /x86_64/ahci/io/pio/lba28/simple/low ==6868==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6868==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd550aa000; bottom 0x7fa0cd3fe000; size: 0x005c87cac000 (397415202816) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 11 ahci-test /x86_64/ahci/io/pio/lba28/simple/high ==6874==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6874==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc7cf91000; bottom 0x7f288affe000; size: 0x00d3f1f93000 (910297739264) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 4 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca2 --- PASS 6 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca1 PASS 7 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca2 PASS 8 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca3 ==6880==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver1 ==6880==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd24f4f000; bottom 0x7f12573fe000; size: 0x00eacdb51000 (1008473542656) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 13 ahci-test /x86_64/ahci/io/pio/lba28/double/low PASS 10 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver2 PASS 11 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver3 ==6886==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver4 ==6886==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe50743000; bottom 0x7fd6565fe000; size: 0x0027fa145000 (171699359744) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 14 ahci-test /x86_64/ahci/io/pio/lba28/double/high PASS 13 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver5 PASS 14 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver6 ==6892==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6892==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe04ad4000; bottom 0x7f0b41b7c000; size: 0x00f2c2f58000 (1042652954624) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 15 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver7 --- PASS 33 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive2 PASS 34 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive3 PASS 15 ahci-test /x86_64/ahci/io/pio/lba28/long/zero ==6898==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 35 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/chain1 PASS 36 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/chain2 PASS 37 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/missingca PASS 38 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/missingserver PASS 39 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/missingclient MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-tlssession -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-tlssession" ==6898==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcfd824000; bottom 0x7f328e9fe000; size: 0x00ca6ee26000 (869443723264) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 16 ahci-test /x86_64/ahci/io/pio/lba28/long/low ==6908==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6908==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe8c31d000; bottom 0x7f0f9ab7c000; size: 0x00eef17a1000 (1026253524992) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 17 ahci-test /x86_64/ahci/io/pio/lba28/long/high PASS 1 test-crypto-tlssession /qcrypto/tlssession/psk PASS 2 test-crypto-tlssession /qcrypto/tlssession/basicca ==6914==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 18 ahci-test /x86_64/ahci/io/pio/lba28/short/zero ==6920==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 19 ahci-test /x86_64/ahci/io/pio/lba28/short/low PASS 3 test-crypto-tlssession /qcrypto/tlssession/differentca PASS 4 test-crypto-tlssession /qcrypto/tlssession/altname1 ==6926==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 20 ahci-test /x86_64/ahci/io/pio/lba28/short/high ==6932==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6932==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd2f761000; bottom 0x7f8c9ebfe000; size: 0x007090b63000 (483464196096) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 21 ahci-test /x86_64/ahci/io/pio/lba48/simple/zero ==6938==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 test-crypto-tlssession /qcrypto/tlssession/altname2 ==6938==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff5bd66000; bottom 0x7f204f5fe000; size: 0x00df0c768000 (957986799616) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 22 ahci-test /x86_64/ahci/io/pio/lba48/simple/low ==6944==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6944==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe1835f000; bottom 0x7feb781fe000; size: 0x0012a0161000 (79995211776) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 23 ahci-test /x86_64/ahci/io/pio/lba48/simple/high ==6950==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 test-crypto-tlssession /qcrypto/tlssession/altname3 ==6950==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffef2ce0000; bottom 0x7f65f53fe000; size: 0x0098fd8e2000 (657088978944) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 24 ahci-test /x86_64/ahci/io/pio/lba48/double/zero ==6956==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6956==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcc9eea000; bottom 0x7fe4599fe000; size: 0x0018704ec000 (104963424256) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 7 test-crypto-tlssession /qcrypto/tlssession/altname4 PASS 25 ahci-test /x86_64/ahci/io/pio/lba48/double/low PASS 8 test-crypto-tlssession /qcrypto/tlssession/altname5 ==6962==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6962==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffed4570000; bottom 0x7fd3449fe000; size: 0x002b8fb72000 (187094736896) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 26 ahci-test /x86_64/ahci/io/pio/lba48/double/high PASS 9 test-crypto-tlssession /qcrypto/tlssession/altname6 ==6968==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6968==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffddaa97000; bottom 0x7f5b61dfe000; size: 0x00a278c99000 (697811177472) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 10 test-crypto-tlssession /qcrypto/tlssession/wildcard1 PASS 11 test-crypto-tlssession /qcrypto/tlssession/wildcard2 PASS 27 ahci-test /x86_64/ahci/io/pio/lba48/long/zero ==6974==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 test-crypto-tlssession /qcrypto/tlssession/wildcard3 PASS 13 test-crypto-tlssession /qcrypto/tlssession/wildcard4 ==6974==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe985fb000; bottom 0x7f18e7dfe000; size: 0x00e5b07fd000 (986508677120) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 28 ahci-test /x86_64/ahci/io/pio/lba48/long/low PASS 14 test-crypto-tlssession /qcrypto/tlssession/wildcard5 ==6980==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6980==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffca7f74000; bottom 0x7ff2299fe000; size: 0x000a7e576000 (45069328384) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 15 test-crypto-tlssession /qcrypto/tlssession/wildcard6 --- PASS 15 test-qga /qga/invalid-cmd PASS 16 test-qga /qga/invalid-args PASS 17 test-qga /qga/fsfreeze-status ==6994==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 30 ahci-test /x86_64/ahci/io/pio/lba48/short/zero PASS 18 test-qga /qga/blacklist PASS 19 test-qga /qga/config PASS 20 test-qga /qga/guest-exec PASS 21 test-qga /qga/guest-exec-invalid ==7003==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 31 ahci-test /x86_64/ahci/io/pio/lba48/short/low ==7021==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 22 test-qga /qga/guest-get-osinfo PASS 23 test-qga /qga/guest-get-host-name PASS 24 test-qga /qga/guest-get-timezone --- MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-util-filemonitor -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-util-filemonitor" PASS 1 test-util-filemonitor /util/filemonitor MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-util-sockets -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-util-sockets" ==7032==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-util-sockets /util/socket/is-socket/bad PASS 2 test-util-sockets /util/socket/is-socket/good PASS 3 test-util-sockets /socket/fd-pass/name/good --- PASS 5 test-authz-list /auth/list/explicit/deny PASS 6 test-authz-list /auth/list/explicit/allow MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-authz-listfile -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-authz-listfile" ==7051==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-authz-listfile /auth/list/complex PASS 2 test-authz-listfile /auth/list/default/deny PASS 3 test-authz-listfile /auth/list/default/allow --- PASS 8 test-io-channel-socket /io/channel/socket/unix-fd-pass PASS 9 test-io-channel-socket /io/channel/socket/unix-listen-cleanup MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-io-channel-file -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-file" ==7071==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-io-channel-file /io/channel/file PASS 2 test-io-channel-file /io/channel/file/rdwr PASS 3 test-io-channel-file /io/channel/file/fd --- PASS 5 test-io-channel-file /io/channel/pipe/async MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-io-channel-tls -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-tls" PASS 35 ahci-test /x86_64/ahci/io/dma/lba28/simple/zero ==7129==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-io-channel-tls /qio/channel/tls/basic MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-io-channel-command -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-command" PASS 36 ahci-test /x86_64/ahci/io/dma/lba28/simple/low --- PASS 3 test-base64 /util/base64/not-nul-terminated PASS 4 test-base64 /util/base64/invalid-chars MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-pbkdf -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-pbkdf" ==7143==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-crypto-pbkdf /crypto/pbkdf/rfc3962/sha1/iter1 PASS 2 test-crypto-pbkdf /crypto/pbkdf/rfc3962/sha1/iter2 PASS 3 test-crypto-pbkdf /crypto/pbkdf/rfc3962/sha1/iter1200a --- PASS 17 test-crypto-xts /crypto/xts/t-21-key-32-ptx-31/basic PASS 18 test-crypto-xts /crypto/xts/t-21-key-32-ptx-31/unaligned MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-block -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-block" ==7168==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-crypto-block /crypto/block/qcow MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-logging -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-logging" PASS 38 ahci-test /x86_64/ahci/io/dma/lba28/double/zero --- PASS 3 test-logging /logging/logfile_write_path PASS 4 test-logging /logging/logfile_lock_path MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-replication -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-replication" ==7189==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7186==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-replication /replication/primary/read PASS 2 test-replication /replication/primary/write PASS 39 ahci-test /x86_64/ahci/io/dma/lba28/double/low ==7197==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-replication /replication/primary/start PASS 40 ahci-test /x86_64/ahci/io/dma/lba28/double/high PASS 4 test-replication /replication/primary/stop PASS 5 test-replication /replication/primary/do_checkpoint PASS 6 test-replication /replication/primary/get_error_all ==7203==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7203==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd2bf5a000; bottom 0x7fcb18723000; size: 0x003213837000 (215075745792) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 7 test-replication /replication/secondary/read PASS 41 ahci-test /x86_64/ahci/io/dma/lba28/long/zero ==7210==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7210==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcb2344000; bottom 0x7f1037dfd000; size: 0x00ec7a547000 (1015664635904) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 8 test-replication /replication/secondary/write PASS 42 ahci-test /x86_64/ahci/io/dma/lba28/long/low ==7217==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7217==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff3e048000; bottom 0x7fe7fc9fd000; size: 0x00174164b000 (99881365504) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 43 ahci-test /x86_64/ahci/io/dma/lba28/long/high ==7224==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 44 ahci-test /x86_64/ahci/io/dma/lba28/short/zero ==7231==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7189==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffee4e26000; bottom 0x7f14d1423000; size: 0x00ea13a03000 (1005351612416) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 45 ahci-test /x86_64/ahci/io/dma/lba28/short/low PASS 9 test-replication /replication/secondary/start ==7256==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 46 ahci-test /x86_64/ahci/io/dma/lba28/short/high ==7262==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 47 ahci-test /x86_64/ahci/io/dma/lba48/simple/zero ==7268==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 48 ahci-test /x86_64/ahci/io/dma/lba48/simple/low PASS 10 test-replication /replication/secondary/stop ==7274==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 49 ahci-test /x86_64/ahci/io/dma/lba48/simple/high ==7280==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 50 ahci-test /x86_64/ahci/io/dma/lba48/double/zero ==7286==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 51 ahci-test /x86_64/ahci/io/dma/lba48/double/low PASS 11 test-replication /replication/secondary/continuous_replication ==7292==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 52 ahci-test /x86_64/ahci/io/dma/lba48/double/high ==7298==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7298==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe65b40000; bottom 0x7f9c349fd000; size: 0x006231143000 (421730201600) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 53 ahci-test /x86_64/ahci/io/dma/lba48/long/zero ==7305==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 test-replication /replication/secondary/do_checkpoint ==7305==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc5d969000; bottom 0x7fb956b7b000; size: 0x004306dee000 (287878078464) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 54 ahci-test /x86_64/ahci/io/dma/lba48/long/low PASS 13 test-replication /replication/secondary/get_error_all ==7312==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bufferiszero -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bufferiszero" ==7312==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc358f2000; bottom 0x7f0a43ffd000; size: 0x00f1f18f5000 (1039139819520) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 55 ahci-test /x86_64/ahci/io/dma/lba48/long/high ==7322==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 56 ahci-test /x86_64/ahci/io/dma/lba48/short/zero ==7328==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 57 ahci-test /x86_64/ahci/io/dma/lba48/short/low ==7334==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 58 ahci-test /x86_64/ahci/io/dma/lba48/short/high ==7340==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 59 ahci-test /x86_64/ahci/io/ncq/simple ==7346==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 60 ahci-test /x86_64/ahci/io/ncq/retry ==7352==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 61 ahci-test /x86_64/ahci/flush/simple ==7358==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 62 ahci-test /x86_64/ahci/flush/retry ==7364==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7370==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 63 ahci-test /x86_64/ahci/flush/migrate ==7378==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7384==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 64 ahci-test /x86_64/ahci/migrate/sanity ==7392==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7398==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 65 ahci-test /x86_64/ahci/migrate/dma/simple ==7406==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7412==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 66 ahci-test /x86_64/ahci/migrate/dma/halted ==7420==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7426==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 67 ahci-test /x86_64/ahci/migrate/ncq/simple ==7434==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7440==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 68 ahci-test /x86_64/ahci/migrate/ncq/halted ==7448==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 69 ahci-test /x86_64/ahci/cdrom/eject ==7453==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 70 ahci-test /x86_64/ahci/cdrom/dma/single ==7459==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 71 ahci-test /x86_64/ahci/cdrom/dma/multi ==7465==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 72 ahci-test /x86_64/ahci/cdrom/pio/single ==7471==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7471==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdd2090000; bottom 0x7fa9777fe000; size: 0x00545a892000 (362296188928) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 73 ahci-test /x86_64/ahci/cdrom/pio/multi ==7477==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 74 ahci-test /x86_64/ahci/cdrom/pio/bcl MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/hd-geo-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="hd-geo-test" PASS 1 hd-geo-test /x86_64/hd-geo/ide/none PASS 1 test-bufferiszero /cutils/bufferiszero MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-uuid -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-uuid" ==7491==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 hd-geo-test /x86_64/hd-geo/ide/drive/cd_0 PASS 1 test-uuid /uuid/is_null PASS 2 test-uuid /uuid/generate --- PASS 527 ptimer-test /ptimer/periodic_with_load_0 policy=wrap_after_one_period,continuous_trigger,no_immediate_reload,no_counter_rounddown,trigger_only_on_decrement, PASS 528 ptimer-test /ptimer/oneshot_with_load_0 policy=wrap_after_one_period,continuous_trigger,no_immediate_reload,no_counter_rounddown,trigger_only_on_decrement, MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qapi-util -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qapi-util" ==7500==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-qapi-util /qapi/util/qapi_enum_parse PASS 2 test-qapi-util /qapi/util/parse_qapi_name MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qgraph -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qgraph" --- PASS 21 test-qgraph /qgraph/test_two_test_same_interface PASS 22 test-qgraph /qgraph/test_test_in_path PASS 23 test-qgraph /qgraph/test_double_edge ==7516==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/lba ==7522==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/chs ==7528==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 hd-geo-test /x86_64/hd-geo/ide/device/mbr/blank ==7534==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 7 hd-geo-test /x86_64/hd-geo/ide/device/mbr/lba ==7540==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 8 hd-geo-test /x86_64/hd-geo/ide/device/mbr/chs ==7546==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 hd-geo-test /x86_64/hd-geo/ide/device/user/chs ==7551==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 hd-geo-test /x86_64/hd-geo/ide/device/user/chst ==7557==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7561==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7565==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7569==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7573==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7577==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7581==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7585==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7588==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 11 hd-geo-test /x86_64/hd-geo/override/ide ==7595==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7599==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7603==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7607==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7611==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7615==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7619==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7623==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7626==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 hd-geo-test /x86_64/hd-geo/override/scsi ==7633==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7637==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7641==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7645==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7649==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7653==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7657==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7661==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7664==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 13 hd-geo-test /x86_64/hd-geo/override/scsi_2_controllers ==7671==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7675==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7679==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7683==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7686==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 14 hd-geo-test /x86_64/hd-geo/override/virtio_blk ==7693==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7697==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7700==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 hd-geo-test /x86_64/hd-geo/override/zero_chs ==7707==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7711==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7715==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7719==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7722==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 16 hd-geo-test /x86_64/hd-geo/override/scsi_hot_unplug ==7729==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7733==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7737==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7741==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7744==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 17 hd-geo-test /x86_64/hd-geo/override/virtio_hot_unplug MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/boot-order-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="boot-order-test" PASS 1 boot-order-test /x86_64/boot-order/pc --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7813==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP' Using expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7819==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP' Using expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7825==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP.bridge' Looking for expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7831==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP.ipmikcs' Looking for expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7837==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP.cphp' Looking for expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7844==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP.memhp' Looking for expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7850==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP.numamem' Looking for expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7856==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP.dimmpxm' Looking for expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7865==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/pc/FACP.acpihmat' Looking for expected file 'tests/data/acpi/pc/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7872==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.bridge' Looking for expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7878==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.mmio64' Looking for expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7884==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.ipmibt' Looking for expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7890==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.cphp' Looking for expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7897==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.memhp' Looking for expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7903==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.numamem' Looking for expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7909==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.dimmpxm' Looking for expected file 'tests/data/acpi/q35/FACP' --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory qemu-system-x86_64: falling back to tcg ==7918==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! Looking for expected file 'tests/data/acpi/q35/FACP.acpihmat' Looking for expected file 'tests/data/acpi/q35/FACP' --- PASS 1 i440fx-test /x86_64/i440fx/defaults PASS 2 i440fx-test /x86_64/i440fx/pam PASS 3 i440fx-test /x86_64/i440fx/firmware/bios ==8010==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 i440fx-test /x86_64/i440fx/firmware/pflash MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/fw_cfg-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="fw_cfg-test" PASS 1 fw_cfg-test /x86_64/fw_cfg/signature --- MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/drive_del-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="drive_del-test" PASS 1 drive_del-test /x86_64/drive_del/without-dev PASS 2 drive_del-test /x86_64/drive_del/after_failed_device_add ==8103==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 drive_del-test /x86_64/blockdev/drive_del_device_del MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/wdt_ib700-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="wdt_ib700-test" PASS 1 wdt_ib700-test /x86_64/wdt_ib700/pause --- dbus-daemon[8273]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry ** ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18) ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18) cleaning up pid 8273 make: *** [/tmp/qemu-test/src/tests/Makefile.include:632: check-qtest-x86_64] Error 1 make: *** Waiting for unfinished jobs.... Traceback (most recent call last): File "./tests/docker/docker.py", line 664, in <module> --- raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=88af8ba44214464d881ef7c7786167f4', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=x86_64-softmmu', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-a0j9h14_/src/docker-src.2020-03-10-05.52.52.1292:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-debug']' returned non-zero exit status 2. filter=--filter=label=com.qemu.instance.uuid=88af8ba44214464d881ef7c7786167f4 make[1]: *** [docker-run] Error 1 make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-a0j9h14_/src' make: *** [docker-run-test-debug@fedora] Error 2 real 27m55.506s user 0m8.248s The full log is available at http://patchew.org/logs/20200310091443.1326-1-longpeng2@huawei.com/testing.asan/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
在 2020/3/10 18:20, no-reply@patchew.org 写道: > Patchew URL: https://patchew.org/QEMU/20200310091443.1326-1-longpeng2@huawei.com/ > > > > Hi, > > This series failed the asan build test. Please find the testing commands and > their output below. If you have Docker installed, you can probably reproduce it > locally. > Hi guys, It seems this failure is NOT caused by my patch, so let's ignore it for the moment... > MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/wdt_ib700-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="wdt_ib700-test" > PASS 1 wdt_ib700-test /x86_64/wdt_ib700/pause > --- > dbus-daemon[8273]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry > > ** > ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18) > ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18) > cleaning up pid 8273 > make: *** [/tmp/qemu-test/src/tests/Makefile.include:632: check-qtest-x86_64] Error 1 > make: *** Waiting for unfinished jobs.... > Traceback (most recent call last): > File "./tests/docker/docker.py", line 664, in <module> > --- > raise CalledProcessError(retcode, cmd) > subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=88af8ba44214464d881ef7c7786167f4', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=x86_64-softmmu', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-a0j9h14_/src/docker-src.2020-03-10-05.52.52.1292:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-debug']' returned non-zero exit status 2. > filter=--filter=label=com.qemu.instance.uuid=88af8ba44214464d881ef7c7786167f4 > make[1]: *** [docker-run] Error 1 > make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-a0j9h14_/src' > make: *** [docker-run-test-debug@fedora] Error 2 > > real 27m55.506s > user 0m8.248s > > > The full log is available at > http://patchew.org/logs/20200310091443.1326-1-longpeng2@huawei.com/testing.asan/?type=message. > --- > Email generated automatically by Patchew [https://patchew.org/]. > Please send your feedback to patchew-devel@redhat.com >
On 10/03/20 10:14, Longpeng(Mike) wrote: > From: Longpeng <longpeng2@huawei.com> > > We find an issue when repeat reboot in guest during migration, it cause the > migration thread never be waken up again. > > <main loop> |<migration_thread> > | > LOCK BQL | > ... | > main_loop_should_exit | > pause_all_vcpus | > 1. set all cpus ->stop=true | > and then kick | > 2. return if all cpus is paused | > (by '->stopped == true'), else| > 3. qemu_cond_wait [BQL UNLOCK] | > |LOCK BQL > |... > |do_vm_stop > | pause_all_vcpus > | (A)set all cpus ->stop=true > | and then kick > | (B)return if all cpus is paused > | (by '->stopped == true'), else > | (C)qemu_cond_wait [BQL UNLOCK] > 4. be waken up and LOCK BQL | (D)be waken up BUT wait for BQL > 5. goto 2. | > (BQL is still LOCKed) | > resume_all_vcpus | > 1. set all cpus ->stop=false | > and ->stopped=false | > ... | > BQL UNLOCK | (E)LOCK BQL > | (F)goto B. [but stopped is false now!] > |Finally, sleep at step 3 forever. > > > Note: This patch is just for discuss this issue, I'm looking forward to > your suggestions, thanks! Thanks Mike, the above sketch is really helpful. I think the problem is not that pause_all_vcpus() is not pausing hard enough; the problem is rather than resume_all_vcpus(), when used outside vm_start(), should know about the race and do nothing if it happens. Fortunately resume_all_vcpus does not release the BQL so it should be enough to test once; translated to code, this would be the patch to fix it: diff --git a/cpus.c b/cpus.c index b4f8b84b61..1eb7533a91 100644 --- a/cpus.c +++ b/cpus.c @@ -1899,6 +1899,10 @@ void resume_all_vcpus(void) { CPUState *cpu; + if (!runstate_is_running()) { + return; + } + qemu_clock_enable(QEMU_CLOCK_VIRTUAL, true); CPU_FOREACH(cpu) { cpu_resume(cpu); Thanks, Paolo
On 2020/3/12 23:28, Paolo Bonzini wrote: > On 10/03/20 10:14, Longpeng(Mike) wrote: >> From: Longpeng <longpeng2@huawei.com> >> >> We find an issue when repeat reboot in guest during migration, it cause the >> migration thread never be waken up again. >> >> <main loop> |<migration_thread> >> | >> LOCK BQL | >> ... | >> main_loop_should_exit | >> pause_all_vcpus | >> 1. set all cpus ->stop=true | >> and then kick | >> 2. return if all cpus is paused | >> (by '->stopped == true'), else| >> 3. qemu_cond_wait [BQL UNLOCK] | >> |LOCK BQL >> |... >> |do_vm_stop >> | pause_all_vcpus >> | (A)set all cpus ->stop=true >> | and then kick >> | (B)return if all cpus is paused >> | (by '->stopped == true'), else >> | (C)qemu_cond_wait [BQL UNLOCK] >> 4. be waken up and LOCK BQL | (D)be waken up BUT wait for BQL >> 5. goto 2. | >> (BQL is still LOCKed) | >> resume_all_vcpus | >> 1. set all cpus ->stop=false | >> and ->stopped=false | >> ... | >> BQL UNLOCK | (E)LOCK BQL >> | (F)goto B. [but stopped is false now!] >> |Finally, sleep at step 3 forever. >> >> >> Note: This patch is just for discuss this issue, I'm looking forward to >> your suggestions, thanks! > > Thanks Mike, > > the above sketch is really helpful. > > I think the problem is not that pause_all_vcpus() is not pausing hard > enough; the problem is rather than resume_all_vcpus(), when used outside > vm_start(), should know about the race and do nothing if it happens. > > Fortunately resume_all_vcpus does not release the BQL so it should be > enough to test once; translated to code, this would be the patch to fix it: > > diff --git a/cpus.c b/cpus.c > index b4f8b84b61..1eb7533a91 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -1899,6 +1899,10 @@ void resume_all_vcpus(void) > { > CPUState *cpu; > > + if (!runstate_is_running()) { > + return; > + } > + Hi Paolo, The runstate of my above sketch is running, so maybe your patch can fix some other issues but not mine ? main_loop_should_exit ( *reset* requested ) pause_all_vcpus resume_all_vcpus if (!runstate_check(RUN_STATE_RUNNING) && !runstate_check(RUN_STATE_INMIGRATE)) { runstate_set(RUN_STATE_PRELAUNCH); ... migration_completion vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); vm_stop ( if runstate_is_running ) do_vm_stop pause_all_vcpus ( if runstate_is_running ) > qemu_clock_enable(QEMU_CLOCK_VIRTUAL, true); > CPU_FOREACH(cpu) { > cpu_resume(cpu); > > > Thanks, > > Paolo > > . > --- Regards, Longpeng(Mike)
On 13/03/20 02:43, Longpeng (Mike, Cloud Infrastructure Service Product Dept.) wrote: >> diff --git a/cpus.c b/cpus.c >> index b4f8b84b61..1eb7533a91 100644 >> --- a/cpus.c >> +++ b/cpus.c >> @@ -1899,6 +1899,10 @@ void resume_all_vcpus(void) >> { >> CPUState *cpu; >> >> + if (!runstate_is_running()) { >> + return; >> + } >> + > Hi Paolo, > > The runstate of my above sketch is running, so maybe your patch can fix some > other issues but not mine ? You're right, do_vm_stop sets the runstate after pause_all_vcpus. We can move that before and it should fix your case too. Paolo
On 2020/3/13 15:09, Paolo Bonzini wrote: > On 13/03/20 02:43, Longpeng (Mike, Cloud Infrastructure Service Product > Dept.) wrote: >>> diff --git a/cpus.c b/cpus.c >>> index b4f8b84b61..1eb7533a91 100644 >>> --- a/cpus.c >>> +++ b/cpus.c >>> @@ -1899,6 +1899,10 @@ void resume_all_vcpus(void) >>> { >>> CPUState *cpu; >>> >>> + if (!runstate_is_running()) { >>> + return; >>> + } >>> + >> Hi Paolo, >> >> The runstate of my above sketch is running, so maybe your patch can fix some >> other issues but not mine ? > > You're right, do_vm_stop sets the runstate after pause_all_vcpus. We > can move that before and it should fix your case too. > Uh, it seems to work. So can I send a patch based on your suggestion ? Or feel free to do if you want to fix it by yourself. > Paolo > > --- Regards, Longpeng(Mike)
On 13/03/20 09:36, Longpeng (Mike, Cloud Infrastructure Service Product Dept.) wrote: >> You're right, do_vm_stop sets the runstate after pause_all_vcpus. We >> can move that before and it should fix your case too. >> > Uh, it seems to work. So can I send a patch based on your suggestion ? Or feel > free to do if you want to fix it by yourself. > Yes, please. Paolo
On 2020/3/13 17:22, Paolo Bonzini wrote: > On 13/03/20 09:36, Longpeng (Mike, Cloud Infrastructure Service Product > Dept.) wrote: >>> You're right, do_vm_stop sets the runstate after pause_all_vcpus. We >>> can move that before and it should fix your case too. >>> >> Uh, it seems to work. So can I send a patch based on your suggestion ? Or feel >> free to do if you want to fix it by yourself. >> > > Yes, please. > A pleasure. I've just merged the patch into our production and started to running our test suites for 2-3 days. I'll send it to the mail list if everything goes well :) > Paolo > > --- Regards, Longpeng(Mike)
diff --git a/cpus.c b/cpus.c index b4f8b84..15e8b21 100644 --- a/cpus.c +++ b/cpus.c @@ -1857,10 +1857,30 @@ static bool all_vcpus_paused(void) return true; } +static bool all_vcpus_resumed(void) +{ + CPUState *cpu; + + CPU_FOREACH(cpu) { + if (cpu->stopped) { + return false; + } + } + + return true; +} + void pause_all_vcpus(void) { CPUState *cpu; + /* We need to drop the replay_lock so any vCPU threads woken up + * can finish their replay tasks + */ +retry_unlock: + replay_mutex_unlock(); + +retry_pause: qemu_clock_enable(QEMU_CLOCK_VIRTUAL, false); CPU_FOREACH(cpu) { if (qemu_cpu_is_self(cpu)) { @@ -1871,13 +1891,17 @@ void pause_all_vcpus(void) } } - /* We need to drop the replay_lock so any vCPU threads woken up - * can finish their replay tasks - */ - replay_mutex_unlock(); - while (!all_vcpus_paused()) { qemu_cond_wait(&qemu_pause_cond, &qemu_global_mutex); + /* + * All of the vcpus maybe resumed due to the race with other + * threads that doing pause && resume, and we'll stuck as a + * result. So we need to request again if the race occurs. + */ + if (all_vcpus_resumed()) { + goto retry_pause; + } + CPU_FOREACH(cpu) { qemu_cpu_kick(cpu); } @@ -1886,6 +1910,13 @@ void pause_all_vcpus(void) qemu_mutex_unlock_iothread(); replay_mutex_lock(); qemu_mutex_lock_iothread(); + /* + * The vcpus maybe resumed during the mutex is unlocking, we must + * make sure all of the vcpus are paused before return. + */ + if (!all_vcpus_paused()) { + goto retry_unlock; + } } void cpu_resume(CPUState *cpu)