Message ID | 20200311040923.29115-1-gshan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] hw/char/pl011: Enable TxFIFO and async transmission | expand |
Patchew URL: https://patchew.org/QEMU/20200311040923.29115-1-gshan@redhat.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 ==6124==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" ==6172==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6172==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffff18ab000; bottom 0x7efcbd910000; size: 0x010333f9b000 (1113268531200) 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 test-aio /aio/event/flush PASS 13 test-aio /aio/event/wait/no-flush-cb PASS 14 test-aio /aio/timer/schedule ==6187==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 test-aio /aio/coroutine/queue-chaining PASS 16 test-aio /aio-gsource/flush PASS 17 test-aio /aio-gsource/bh/schedule --- 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" PASS 28 test-aio /aio-gsource/timer/schedule ==6195==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-aio-multithread -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-aio-multithread" PASS 1 ide-test /x86_64/ide/identify ==6202==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 ==6204==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 PASS 2 test-aio-multithread /aio/multi/schedule ==6221==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 ide-test /x86_64/ide/bmdma/simple_rw PASS 3 test-aio-multithread /aio/multi/mutex/contended ==6232==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 ==6243==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 test-aio-multithread /aio/multi/mutex/handoff PASS 5 test-aio-multithread /aio/multi/mutex/mcs 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" ==6260==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-throttle /throttle/leak_bucket PASS 2 test-throttle /throttle/compute_wait PASS 3 test-throttle /throttle/init --- 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" ==6264==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 4 test-thread-pool /thread-pool/submit-many ==6331==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 test-thread-pool /thread-pool/cancel PASS 6 test-thread-pool /thread-pool/cancel-async MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-hbitmap -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-hbitmap" --- PASS 28 test-hbitmap /hbitmap/truncate/shrink/medium PASS 29 test-hbitmap /hbitmap/truncate/shrink/large PASS 30 test-hbitmap /hbitmap/meta/zero ==6341==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 ==6347==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 34 test-hbitmap /hbitmap/meta/sector PASS 35 test-hbitmap /hbitmap/serialize/align PASS 36 test-hbitmap /hbitmap/serialize/basic --- 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" ==6354==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" ==6393==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" ==6397==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" ==6401==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" ==6405==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" ==6409==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" ==6429==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 3 test-xbzrle /xbzrle/encode_decode_unchanged PASS 4 test-xbzrle /xbzrle/encode_decode_1_byte PASS 5 test-xbzrle /xbzrle/encode_decode_overflow ==6435==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 test-xbzrle /xbzrle/encode_decode MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-vmstate -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-vmstate" PASS 1 test-vmstate /vmstate/tmp_struct --- 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" PASS 1 test-rcu-list /rcu/qlist/single-threaded PASS 2 test-rcu-list /rcu/qlist/short-few ==6499==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! 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 ==6559==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 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 ==6604==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 test-rcu-slist /rcu/qslist/short-few PASS 3 test-rcu-slist /rcu/qslist/long-many MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qdist -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qdist" --- 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" ==6644==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 ==6650==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6650==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdc9a05000; bottom 0x7efc58546000; size: 0x0101714bf000 (1105707397120) 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 ==6661==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 ==6666==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 ==6672==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 ==6678==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 ==6684==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-qht /qht/mode/default 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 12 ide-test /x86_64/ide/cdrom/pio_large PASS 1 test-qht-par /qht/parallel/2threads-0%updates-1s ==6699==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 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" ==6719==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" ==6731==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 4 test-write-threshold /write-threshold/not-trigger PASS 5 test-write-threshold /write-threshold/trigger MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-hash -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-hash" ==6763==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 1 test-crypto-hash /crypto/hash/iov PASS 2 test-crypto-hash /crypto/hash/alloc --- PASS 27 test-crypto-cipher /crypto/cipher/null-iv PASS 28 test-crypto-cipher /crypto/cipher/short-plaintext MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-secret -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-secret" ==6781==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-crypto-secret /crypto/secret/direct PASS 2 test-crypto-secret /crypto/secret/indirect/good PASS 3 test-crypto-secret /crypto/secret/indirect/badfile --- PASS 4 ahci-test /x86_64/ahci/hba_spec PASS 1 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectserver PASS 2 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectclient ==6803==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 ahci-test /x86_64/ahci/hba_enable PASS 3 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca1 ==6809==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca2 PASS 6 ahci-test /x86_64/ahci/identify ==6815==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 7 ahci-test /x86_64/ahci/max PASS 5 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca3 PASS 6 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca1 PASS 7 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca2 PASS 8 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca3 PASS 9 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver1 ==6821==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 8 ahci-test /x86_64/ahci/reset ==6827==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6827==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd7c23e000; bottom 0x7f9373ffe000; size: 0x006a08240000 (455403110400) 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 ==6833==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6833==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe4f7a4000; bottom 0x7f78823fe000; size: 0x0085cd3a6000 (574673805312) 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 ==6839==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver2 ==6839==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffff17a7000; bottom 0x7f1921ffe000; size: 0x00e6cf7a9000 (991323394048) 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 PASS 11 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver3 ==6845==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6845==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffce7b3d000; bottom 0x7f1f273fe000; size: 0x00ddc073f000 (952416595968) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 12 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver4 --- PASS 32 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive1 PASS 33 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive2 PASS 34 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive3 ==6851==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" ==6851==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcbd799000; bottom 0x7fa6f51fe000; size: 0x0055c859b000 (368433541120) 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 ==6861==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-crypto-tlssession /qcrypto/tlssession/psk ==6861==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffbd410000; bottom 0x7fe46ebfe000; size: 0x001b4e812000 (117281202176) 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 2 test-crypto-tlssession /qcrypto/tlssession/basicca ==6867==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-crypto-tlssession /qcrypto/tlssession/differentca PASS 4 test-crypto-tlssession /qcrypto/tlssession/altname1 ==6867==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff63d23000; bottom 0x7fe070b7c000; size: 0x001ef31a7000 (132927614976) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 5 test-crypto-tlssession /qcrypto/tlssession/altname2 PASS 15 ahci-test /x86_64/ahci/io/pio/lba28/long/zero ==6873==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 ==6873==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffed977c000; bottom 0x7fe980bfe000; size: 0x001558b7e000 (91682758656) 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 8 test-crypto-tlssession /qcrypto/tlssession/altname5 PASS 16 ahci-test /x86_64/ahci/io/pio/lba28/long/low PASS 9 test-crypto-tlssession /qcrypto/tlssession/altname6 ==6879==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6879==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc631ad000; bottom 0x7ff7435fe000; size: 0x00051fbaf000 (22007181312) 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 10 test-crypto-tlssession /qcrypto/tlssession/wildcard1 ==6885==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 11 test-crypto-tlssession /qcrypto/tlssession/wildcard2 PASS 12 test-crypto-tlssession /qcrypto/tlssession/wildcard3 PASS 18 ahci-test /x86_64/ahci/io/pio/lba28/short/zero ==6891==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 13 test-crypto-tlssession /qcrypto/tlssession/wildcard4 PASS 19 ahci-test /x86_64/ahci/io/pio/lba28/short/low PASS 14 test-crypto-tlssession /qcrypto/tlssession/wildcard5 ==6897==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 test-crypto-tlssession /qcrypto/tlssession/wildcard6 PASS 20 ahci-test /x86_64/ahci/io/pio/lba28/short/high PASS 16 test-crypto-tlssession /qcrypto/tlssession/cachain MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qga -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qga" ==6903==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6903==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffa7e03000; bottom 0x7f9ef75fe000; size: 0x0060b0805000 (415278059520) 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 --- PASS 7 test-qga /qga/get-fsinfo PASS 8 test-qga /qga/get-memory-block-info PASS 9 test-qga /qga/get-memory-blocks ==6917==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6917==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe02123000; bottom 0x7fca071fe000; size: 0x0033faf25000 (223253516288) 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 --- PASS 15 test-qga /qga/invalid-cmd PASS 16 test-qga /qga/invalid-args PASS 17 test-qga /qga/fsfreeze-status ==6923==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==6923==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe563a2000; bottom 0x7f89453fe000; size: 0x007510fa4000 (502796009472) 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 --- PASS 19 test-qga /qga/config PASS 20 test-qga /qga/guest-exec PASS 21 test-qga /qga/guest-exec-invalid ==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: 0x7ffdba285000; bottom 0x7f1c6a7fe000; size: 0x00e14fa87000 (967704080384) 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 --- PASS 24 test-qga /qga/guest-get-timezone PASS 25 test-qga /qga/guest-get-users MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-timed-average -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-timed-average" ==6950==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-timed-average /timed-average/average 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" ==6950==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd21574000; bottom 0x7ff6ac9fe000; size: 0x000674b76000 (27727978496) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-util-filemonitor /util/filemonitor --- PASS 7 test-util-sockets /socket/fd-pass/num/bad PASS 8 test-util-sockets /socket/fd-pass/num/nocli MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-authz-simple -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-authz-simple" ==6969==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-authz-simple /authz/simple MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-authz-list -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-authz-list" PASS 1 test-authz-list /auth/list/complex --- 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" ==6969==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd3e209000; bottom 0x7f91625fe000; size: 0x006bdbc0b000 (463248338944) 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 4 test-io-task /crypto/task/thread_complete PASS 5 test-io-task /crypto/task/thread_failure MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-io-channel-socket -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-socket" ==6988==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-io-channel-socket /io/channel/socket/ipv4-sync PASS 2 test-io-channel-socket /io/channel/socket/ipv4-async PASS 3 test-io-channel-socket /io/channel/socket/ipv4-fd --- 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" ==6988==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd6ac55000; bottom 0x7fce6c3fe000; size: 0x002efe857000 (201838653440) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-io-channel-file /io/channel/file --- 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 27 ahci-test /x86_64/ahci/io/pio/lba48/long/zero ==7052==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7052==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff36414000; bottom 0x7fdd16ffe000; size: 0x00221f416000 (146553266176) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-io-channel-tls /qio/channel/tls/basic --- MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-io-channel-buffer -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-buffer" PASS 1 test-io-channel-buffer /io/channel/buf MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-base64 -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-base64" ==7066==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-base64 /util/base64/good PASS 2 test-base64 /util/base64/embedded-nul 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" ==7066==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffda1605000; bottom 0x7f4aac3fe000; size: 0x00b2f5207000 (768616722432) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-crypto-pbkdf /crypto/pbkdf/rfc3962/sha1/iter1 --- 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" ==7091==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 30 ahci-test /x86_64/ahci/io/pio/lba48/short/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" ==7112==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7109==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 31 ahci-test /x86_64/ahci/io/pio/lba48/short/low PASS 2 test-replication /replication/primary/write ==7120==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 32 ahci-test /x86_64/ahci/io/pio/lba48/short/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 ==7126==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 7 test-replication /replication/secondary/read PASS 33 ahci-test /x86_64/ahci/io/dma/lba28/fragmented ==7132==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 8 test-replication /replication/secondary/write PASS 34 ahci-test /x86_64/ahci/io/dma/lba28/retry ==7138==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 35 ahci-test /x86_64/ahci/io/dma/lba28/simple/zero ==7144==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 36 ahci-test /x86_64/ahci/io/dma/lba28/simple/low ==7151==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 37 ahci-test /x86_64/ahci/io/dma/lba28/simple/high ==7112==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffe5180000; bottom 0x7fa2937cb000; size: 0x005d519b5000 (400801091584) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 ==7174==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 test-replication /replication/secondary/start PASS 38 ahci-test /x86_64/ahci/io/dma/lba28/double/zero ==7180==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 39 ahci-test /x86_64/ahci/io/dma/lba28/double/low ==7186==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 40 ahci-test /x86_64/ahci/io/dma/lba28/double/high ==7192==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7192==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffd2d89000; bottom 0x7faf92d7b000; size: 0x00504000e000 (344671182848) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 41 ahci-test /x86_64/ahci/io/dma/lba28/long/zero PASS 10 test-replication /replication/secondary/stop ==7198==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7198==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd86d47000; bottom 0x7f13e4b7b000; size: 0x00e9a21cc000 (1003447173120) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 42 ahci-test /x86_64/ahci/io/dma/lba28/long/low ==7205==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7205==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffddf4f8000; bottom 0x7f7a131fd000; size: 0x0083cc2fb000 (566066393088) 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 ==7212==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 11 test-replication /replication/secondary/continuous_replication PASS 44 ahci-test /x86_64/ahci/io/dma/lba28/short/zero ==7218==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 45 ahci-test /x86_64/ahci/io/dma/lba28/short/low ==7224==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 PASS 12 test-replication /replication/secondary/do_checkpoint ==7230==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 ==7236==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 13 test-replication /replication/secondary/get_error_all PASS 48 ahci-test /x86_64/ahci/io/dma/lba48/simple/low 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" ==7242==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 ==7251==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 ==7257==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 ==7263==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 ==7269==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7269==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff13929000; bottom 0x7f9e72f7b000; size: 0x0060a09ae000 (415011364864) 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 ==7276==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7276==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc7bf45000; bottom 0x7f9b2277b000; size: 0x0061597ca000 (418113167360) 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 ==7283==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7283==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff388b9000; bottom 0x7ff69e97b000; size: 0x000899f3e000 (36942635008) 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 ==7290==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 ==7296==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 ==7302==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 ==7308==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 ==7314==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 ==7320==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 ==7326==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 ==7332==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7338==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 ==7346==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7352==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 ==7360==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7366==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 ==7374==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7380==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 ==7388==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7394==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 ==7402==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7408==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 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" ==7416==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 PASS 1 test-uuid /uuid/is_null PASS 2 test-uuid /uuid/generate --- 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 ==7424==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 ==7440==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 ==7446==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 ==7452==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7452==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff365a3000; bottom 0x7fbed11fe000; size: 0x0040653a5000 (276576227328) 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 ==7458==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 ==7472==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 ==7478==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/blank ==7484==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 ==7490==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 ==7496==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 ==7502==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 ==7508==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 ==7514==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 ==7519==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 ==7525==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7529==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7533==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7537==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7541==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7545==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7549==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7553==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7556==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 ==7563==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7567==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7571==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7575==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7579==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7583==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7587==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7591==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7594==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 ==7601==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7605==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7609==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7613==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7617==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7621==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7625==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7629==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7632==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 ==7639==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7643==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7647==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7651==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7654==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 ==7661==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7665==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7668==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 ==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! ==7687==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7690==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 ==7697==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7701==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7705==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7709==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7712==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 ==7781==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 ==7787==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 ==7793==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 ==7799==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 ==7805==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 ==7812==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 ==7818==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 ==7824==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 ==7833==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 ==7840==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 ==7846==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 ==7852==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 ==7858==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 ==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/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 ==7871==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 ==7877==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 ==7886==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 ==7978==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 ==8071==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[8241]: 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) cleaning up pid 8241 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) 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=502ad0340467496faf52608de81bbea2', '-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-eogyvd1t/src/docker-src.2020-03-11-00.15.47.19795:/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=502ad0340467496faf52608de81bbea2 make[1]: *** [docker-run] Error 1 make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-eogyvd1t/src' make: *** [docker-run-test-debug@fedora] Error 2 real 27m39.642s user 0m8.451s The full log is available at http://patchew.org/logs/20200311040923.29115-1-gshan@redhat.com/testing.asan/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On 3/11/20 3:43 PM, no-reply@patchew.org wrote:
[...]
> http://patchew.org/logs/20200311040923.29115-1-gshan@redhat.com/testing.asan/?type=message.
Is it possible to be a false alarm? The detailed errors extracted from above
link is shown as below, and I'm unable to reproduce it at local:
Error message
=============
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/dbus-vmstate-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="dbus-vmstate-test"
dbus-daemon[8241]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry
dbus-daemon[8241]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry
[gwshan@localhost qemu.main]$ 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/dbus-vmstate-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="dbus-vmstate-test"
PASS 1 dbus-vmstate-test /x86_64/dbus-vmstate/without-list
PASS 2 dbus-vmstate-test /x86_64/dbus-vmstate/with-list
PASS 3 dbus-vmstate-test /x86_64/dbus-vmstate/only-a
PASS 4 dbus-vmstate-test /x86_64/dbus-vmstate/missing-src
PASS 5 dbus-vmstate-test /x86_64/dbus-vmstate/missing-dst
Thanks,
Gavin
On 3/11/20 3:09 PM, Gavin Shan wrote: > The depth of TxFIFO can be 1 or 16 depending on LCR[4]. The TxFIFO is > disabled when its depth is 1. It's nice to have TxFIFO enabled if > possible because more characters can be piled and transmitted at once, > which would have less overhead. Besides, we can be blocked because of > qemu_chr_fe_write_all(), which isn't nice. > > This enables TxFIFO if possible. On ther other hand, the asynchronous > transmission is enabled if needed, as we did in hw/char/cadence_uart.c > > Signed-off-by: Gavin Shan <gshan@redhat.com> > --- > v3: Use PL011() to do data type conversion > Return G_SOURCE_REMOVE when the backend is disconnected in pl011_xmit() > Drop parenthesis in the condition validating @size in pl011_write_fifo() > --- > hw/char/pl011.c | 105 +++++++++++++++++++++++++++++++++++++--- > include/hw/char/pl011.h | 3 ++ > 2 files changed, 102 insertions(+), 6 deletions(-) > Marc-André, ping. Could you please review when you get a chance? Thanks in advance :) > diff --git a/hw/char/pl011.c b/hw/char/pl011.c > index 13e784f9d9..dccb8c42b0 100644 > --- a/hw/char/pl011.c > +++ b/hw/char/pl011.c > @@ -169,6 +169,73 @@ static void pl011_set_read_trigger(PL011State *s) > s->read_trigger = 1; > } > > +static gboolean pl011_xmit(GIOChannel *chan, GIOCondition cond, void *opaque) > +{ > + PL011State *s = PL011(opaque); > + int ret; > + > + /* Drain FIFO if there is no backend */ > + if (!qemu_chr_fe_backend_connected(&s->chr)) { > + s->write_count = 0; > + s->flags &= ~PL011_FLAG_TXFF; > + s->flags |= PL011_FLAG_TXFE; > + return G_SOURCE_REMOVE; > + } > + > + /* Nothing to do */ > + if (!s->write_count) { > + return FALSE; > + } > + > + ret = qemu_chr_fe_write(&s->chr, s->write_fifo, s->write_count); > + if (ret > 0) { > + s->write_count -= ret; > + memmove(s->write_fifo, s->write_fifo + ret, s->write_count); > + s->flags &= ~PL011_FLAG_TXFF; > + if (!s->write_count) { > + s->flags |= PL011_FLAG_TXFE; > + } > + } > + > + if (s->write_count) { > + s->watch_tag = qemu_chr_fe_add_watch(&s->chr, G_IO_OUT | G_IO_HUP, > + pl011_xmit, s); > + if (!s->watch_tag) { > + s->write_count = 0; > + s->flags &= ~PL011_FLAG_TXFF; > + s->flags |= PL011_FLAG_TXFE; > + return FALSE; > + } > + } > + > + s->int_level |= PL011_INT_TX; > + pl011_update(s); > + return FALSE; > +} > + > +static void pl011_write_fifo(void *opaque, const unsigned char *buf, int size) > +{ > + PL011State *s = PL011(opaque); > + int depth = (s->lcr & 0x10) ? 16 : 1; > + > + if (size >= depth - s->write_count) { > + size = depth - s->write_count; > + } > + > + if (size > 0) { > + memcpy(s->write_fifo + s->write_count, buf, size); > + s->write_count += size; > + if (s->write_count >= depth) { > + s->flags |= PL011_FLAG_TXFF; > + } > + s->flags &= ~PL011_FLAG_TXFE; > + } > + > + if (!s->watch_tag) { > + pl011_xmit(NULL, G_IO_OUT, s); > + } > +} > + > static void pl011_write(void *opaque, hwaddr offset, > uint64_t value, unsigned size) > { > @@ -179,13 +246,8 @@ static void pl011_write(void *opaque, hwaddr offset, > > switch (offset >> 2) { > case 0: /* UARTDR */ > - /* ??? Check if transmitter is enabled. */ > ch = value; > - /* XXX this blocks entire thread. Rewrite to use > - * qemu_chr_fe_write and background I/O callbacks */ > - qemu_chr_fe_write_all(&s->chr, &ch, 1); > - s->int_level |= PL011_INT_TX; > - pl011_update(s); > + pl011_write_fifo(opaque, &ch, 1); > break; > case 1: /* UARTRSR/UARTECR */ > s->rsr = 0; > @@ -207,7 +269,16 @@ static void pl011_write(void *opaque, hwaddr offset, > if ((s->lcr ^ value) & 0x10) { > s->read_count = 0; > s->read_pos = 0; > + > + if (s->watch_tag) { > + g_source_remove(s->watch_tag); > + s->watch_tag = 0; > + } > + s->write_count = 0; > + s->flags &= ~PL011_FLAG_TXFF; > + s->flags |= PL011_FLAG_TXFE; > } > + > s->lcr = value; > pl011_set_read_trigger(s); > break; > @@ -292,6 +363,24 @@ static const MemoryRegionOps pl011_ops = { > .endianness = DEVICE_NATIVE_ENDIAN, > }; > > +static bool pl011_write_fifo_needed(void *opaque) > +{ > + PL011State *s = PL011(opaque); > + return s->write_count > 0; > +} > + > +static const VMStateDescription vmstate_pl011_write_fifo = { > + .name = "pl011/write_fifo", > + .version_id = 1, > + .minimum_version_id = 1, > + .needed = pl011_write_fifo_needed, > + .fields = (VMStateField[]) { > + VMSTATE_INT32(write_count, PL011State), > + VMSTATE_UINT8_ARRAY(write_fifo, PL011State, 16), > + VMSTATE_END_OF_LIST() > + } > +}; > + > static const VMStateDescription vmstate_pl011 = { > .name = "pl011", > .version_id = 2, > @@ -314,6 +403,10 @@ static const VMStateDescription vmstate_pl011 = { > VMSTATE_INT32(read_count, PL011State), > VMSTATE_INT32(read_trigger, PL011State), > VMSTATE_END_OF_LIST() > + }, > + .subsections = (const VMStateDescription * []) { > + &vmstate_pl011_write_fifo, > + NULL > } > }; > > diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h > index 14187165c6..9d1c24db48 100644 > --- a/include/hw/char/pl011.h > +++ b/include/hw/char/pl011.h > @@ -38,6 +38,7 @@ typedef struct PL011State { > uint32_t int_enabled; > uint32_t int_level; > uint32_t read_fifo[16]; > + uint8_t write_fifo[16]; > uint32_t ilpr; > uint32_t ibrd; > uint32_t fbrd; > @@ -45,6 +46,8 @@ typedef struct PL011State { > int read_pos; > int read_count; > int read_trigger; > + int write_count; > + guint watch_tag; > CharBackend chr; > qemu_irq irq[6]; > const unsigned char *id; >
On 25/03/20 03:32, Gavin Shan wrote: >> > > Marc-André, ping. Could you please review when you get a chance? Thanks in > advance :) Or Peter; generally arch-specific changes (as opposed to fixes in chardev API usage) are generally reviewed by arch maintainers. Paolo
On Wed, 25 Mar 2020 at 15:56, Paolo Bonzini <pbonzini@redhat.com> wrote: > > On 25/03/20 03:32, Gavin Shan wrote: > >> > > > > Marc-André, ping. Could you please review when you get a chance? Thanks in > > advance :) > > Or Peter; generally arch-specific changes (as opposed to fixes in > chardev API usage) are generally reviewed by arch maintainers. It's still on my to-review queue, but then so are a bunch of other things. Stuff for 5.0 is currently taking priority. thanks -- PMM
On Wed, 11 Mar 2020 at 04:09, Gavin Shan <gshan@redhat.com> wrote: > > The depth of TxFIFO can be 1 or 16 depending on LCR[4]. The TxFIFO is > disabled when its depth is 1. It's nice to have TxFIFO enabled if > possible because more characters can be piled and transmitted at once, > which would have less overhead. Besides, we can be blocked because of > qemu_chr_fe_write_all(), which isn't nice. > > This enables TxFIFO if possible. On ther other hand, the asynchronous > transmission is enabled if needed, as we did in hw/char/cadence_uart.c > > Signed-off-by: Gavin Shan <gshan@redhat.com> > --- > v3: Use PL011() to do data type conversion > Return G_SOURCE_REMOVE when the backend is disconnected in pl011_xmit() > Drop parenthesis in the condition validating @size in pl011_write_fifo() > --- > hw/char/pl011.c | 105 +++++++++++++++++++++++++++++++++++++--- > include/hw/char/pl011.h | 3 ++ > 2 files changed, 102 insertions(+), 6 deletions(-) Thanks for this patch. I have some comments on some bits of the code below. > diff --git a/hw/char/pl011.c b/hw/char/pl011.c > index 13e784f9d9..dccb8c42b0 100644 > --- a/hw/char/pl011.c > +++ b/hw/char/pl011.c > @@ -169,6 +169,73 @@ static void pl011_set_read_trigger(PL011State *s) > s->read_trigger = 1; > } > > +static gboolean pl011_xmit(GIOChannel *chan, GIOCondition cond, void *opaque) > +{ > + PL011State *s = PL011(opaque); > + int ret; > + > + /* Drain FIFO if there is no backend */ > + if (!qemu_chr_fe_backend_connected(&s->chr)) { > + s->write_count = 0; > + s->flags &= ~PL011_FLAG_TXFF; > + s->flags |= PL011_FLAG_TXFE; > + return G_SOURCE_REMOVE; > + } This "handle no backend" code isn't necessary. There was a period of time when it was, because some of the qemu_chr_fe_* functions did the wrong thing if called on a CharBackend with a NULL Chardev, which is why some code in the tree checks it, but we fixed that. If there's no backend then both qemu_chr_fe_write() and qemu_chr_fe_add_watch() will return 0 without doing anything, which will make us drain the FIFO via the "!s->watch_tag" code path below. > + > + /* Nothing to do */ > + if (!s->write_count) { > + return FALSE; > + } > + > + ret = qemu_chr_fe_write(&s->chr, s->write_fifo, s->write_count); > + if (ret > 0) { > + s->write_count -= ret; > + memmove(s->write_fifo, s->write_fifo + ret, s->write_count); > + s->flags &= ~PL011_FLAG_TXFF; > + if (!s->write_count) { > + s->flags |= PL011_FLAG_TXFE; > + } > + } > + > + if (s->write_count) { > + s->watch_tag = qemu_chr_fe_add_watch(&s->chr, G_IO_OUT | G_IO_HUP, > + pl011_xmit, s); > + if (!s->watch_tag) { > + s->write_count = 0; > + s->flags &= ~PL011_FLAG_TXFF; > + s->flags |= PL011_FLAG_TXFE; > + return FALSE; > + } > + } > + > + s->int_level |= PL011_INT_TX; Handling of INT_TX is more complicated when the FIFO is enabled: the UARTIFLS.TXIFLSEL bits define at what point we should raise the TX interrupt as the FIFO drains (eg you can make it interrupt as the FIFO passes through the "half full" point, or when it gets <= 1/8th full, etc). Watch out that the definition is that the interrupt is raised as the FIFO fill level progresses through the trigger level, which is not the same as "is the FIFO fill level less than or equal to the trigger level now?". > + pl011_update(s); > + return FALSE; > +} > + > +static void pl011_write_fifo(void *opaque, const unsigned char *buf, int size) > +{ > + PL011State *s = PL011(opaque); > + int depth = (s->lcr & 0x10) ? 16 : 1; > + > + if (size >= depth - s->write_count) { > + size = depth - s->write_count; > + } > + > + if (size > 0) { > + memcpy(s->write_fifo + s->write_count, buf, size); > + s->write_count += size; > + if (s->write_count >= depth) { > + s->flags |= PL011_FLAG_TXFF; > + } > + s->flags &= ~PL011_FLAG_TXFE; > + } > + > + if (!s->watch_tag) { > + pl011_xmit(NULL, G_IO_OUT, s); > + } > +} It looks like we only ever call pl011_write_fifo() with a size of 1 -- should we just make it directly take a single 'uint8_t ch' to write to the FIFO? It would simplify some of this code I think. The UARTFR.BUSY bit should be set to 1 as soon as the UART gets data into the tx FIFO and then cleared only when the data has all been transmitted. We didn't need to worry about that when we blocked until the data was sent (the guest could not execute at a point where it would see BUSY=1), but now we model the tx FIFO we need to update the BUSY bit (both in this function to set it and then in anywhere that empties the FIFO to clear it). > + > static void pl011_write(void *opaque, hwaddr offset, > uint64_t value, unsigned size) > { > @@ -179,13 +246,8 @@ static void pl011_write(void *opaque, hwaddr offset, > > switch (offset >> 2) { > case 0: /* UARTDR */ > - /* ??? Check if transmitter is enabled. */ This ??? comment is about the fact that we don't check UARTCR.TXE (the transmit enable bit). Your patch doesn't add support for that (which is fine, it's entirely separate from the FIFO stuff), so it shouldn't delete the comment. > ch = value; > - /* XXX this blocks entire thread. Rewrite to use > - * qemu_chr_fe_write and background I/O callbacks */ > - qemu_chr_fe_write_all(&s->chr, &ch, 1); > - s->int_level |= PL011_INT_TX; > - pl011_update(s); > + pl011_write_fifo(opaque, &ch, 1); > break; > case 1: /* UARTRSR/UARTECR */ > s->rsr = 0; > @@ -207,7 +269,16 @@ static void pl011_write(void *opaque, hwaddr offset, > if ((s->lcr ^ value) & 0x10) { > s->read_count = 0; > s->read_pos = 0; > + > + if (s->watch_tag) { > + g_source_remove(s->watch_tag); > + s->watch_tag = 0; > + } > + s->write_count = 0; > + s->flags &= ~PL011_FLAG_TXFF; > + s->flags |= PL011_FLAG_TXFE; > } > + > s->lcr = value; > pl011_set_read_trigger(s); > break; > @@ -292,6 +363,24 @@ static const MemoryRegionOps pl011_ops = { > .endianness = DEVICE_NATIVE_ENDIAN, > }; thanks -- PMM
diff --git a/hw/char/pl011.c b/hw/char/pl011.c index 13e784f9d9..dccb8c42b0 100644 --- a/hw/char/pl011.c +++ b/hw/char/pl011.c @@ -169,6 +169,73 @@ static void pl011_set_read_trigger(PL011State *s) s->read_trigger = 1; } +static gboolean pl011_xmit(GIOChannel *chan, GIOCondition cond, void *opaque) +{ + PL011State *s = PL011(opaque); + int ret; + + /* Drain FIFO if there is no backend */ + if (!qemu_chr_fe_backend_connected(&s->chr)) { + s->write_count = 0; + s->flags &= ~PL011_FLAG_TXFF; + s->flags |= PL011_FLAG_TXFE; + return G_SOURCE_REMOVE; + } + + /* Nothing to do */ + if (!s->write_count) { + return FALSE; + } + + ret = qemu_chr_fe_write(&s->chr, s->write_fifo, s->write_count); + if (ret > 0) { + s->write_count -= ret; + memmove(s->write_fifo, s->write_fifo + ret, s->write_count); + s->flags &= ~PL011_FLAG_TXFF; + if (!s->write_count) { + s->flags |= PL011_FLAG_TXFE; + } + } + + if (s->write_count) { + s->watch_tag = qemu_chr_fe_add_watch(&s->chr, G_IO_OUT | G_IO_HUP, + pl011_xmit, s); + if (!s->watch_tag) { + s->write_count = 0; + s->flags &= ~PL011_FLAG_TXFF; + s->flags |= PL011_FLAG_TXFE; + return FALSE; + } + } + + s->int_level |= PL011_INT_TX; + pl011_update(s); + return FALSE; +} + +static void pl011_write_fifo(void *opaque, const unsigned char *buf, int size) +{ + PL011State *s = PL011(opaque); + int depth = (s->lcr & 0x10) ? 16 : 1; + + if (size >= depth - s->write_count) { + size = depth - s->write_count; + } + + if (size > 0) { + memcpy(s->write_fifo + s->write_count, buf, size); + s->write_count += size; + if (s->write_count >= depth) { + s->flags |= PL011_FLAG_TXFF; + } + s->flags &= ~PL011_FLAG_TXFE; + } + + if (!s->watch_tag) { + pl011_xmit(NULL, G_IO_OUT, s); + } +} + static void pl011_write(void *opaque, hwaddr offset, uint64_t value, unsigned size) { @@ -179,13 +246,8 @@ static void pl011_write(void *opaque, hwaddr offset, switch (offset >> 2) { case 0: /* UARTDR */ - /* ??? Check if transmitter is enabled. */ ch = value; - /* XXX this blocks entire thread. Rewrite to use - * qemu_chr_fe_write and background I/O callbacks */ - qemu_chr_fe_write_all(&s->chr, &ch, 1); - s->int_level |= PL011_INT_TX; - pl011_update(s); + pl011_write_fifo(opaque, &ch, 1); break; case 1: /* UARTRSR/UARTECR */ s->rsr = 0; @@ -207,7 +269,16 @@ static void pl011_write(void *opaque, hwaddr offset, if ((s->lcr ^ value) & 0x10) { s->read_count = 0; s->read_pos = 0; + + if (s->watch_tag) { + g_source_remove(s->watch_tag); + s->watch_tag = 0; + } + s->write_count = 0; + s->flags &= ~PL011_FLAG_TXFF; + s->flags |= PL011_FLAG_TXFE; } + s->lcr = value; pl011_set_read_trigger(s); break; @@ -292,6 +363,24 @@ static const MemoryRegionOps pl011_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; +static bool pl011_write_fifo_needed(void *opaque) +{ + PL011State *s = PL011(opaque); + return s->write_count > 0; +} + +static const VMStateDescription vmstate_pl011_write_fifo = { + .name = "pl011/write_fifo", + .version_id = 1, + .minimum_version_id = 1, + .needed = pl011_write_fifo_needed, + .fields = (VMStateField[]) { + VMSTATE_INT32(write_count, PL011State), + VMSTATE_UINT8_ARRAY(write_fifo, PL011State, 16), + VMSTATE_END_OF_LIST() + } +}; + static const VMStateDescription vmstate_pl011 = { .name = "pl011", .version_id = 2, @@ -314,6 +403,10 @@ static const VMStateDescription vmstate_pl011 = { VMSTATE_INT32(read_count, PL011State), VMSTATE_INT32(read_trigger, PL011State), VMSTATE_END_OF_LIST() + }, + .subsections = (const VMStateDescription * []) { + &vmstate_pl011_write_fifo, + NULL } }; diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h index 14187165c6..9d1c24db48 100644 --- a/include/hw/char/pl011.h +++ b/include/hw/char/pl011.h @@ -38,6 +38,7 @@ typedef struct PL011State { uint32_t int_enabled; uint32_t int_level; uint32_t read_fifo[16]; + uint8_t write_fifo[16]; uint32_t ilpr; uint32_t ibrd; uint32_t fbrd; @@ -45,6 +46,8 @@ typedef struct PL011State { int read_pos; int read_count; int read_trigger; + int write_count; + guint watch_tag; CharBackend chr; qemu_irq irq[6]; const unsigned char *id;
The depth of TxFIFO can be 1 or 16 depending on LCR[4]. The TxFIFO is disabled when its depth is 1. It's nice to have TxFIFO enabled if possible because more characters can be piled and transmitted at once, which would have less overhead. Besides, we can be blocked because of qemu_chr_fe_write_all(), which isn't nice. This enables TxFIFO if possible. On ther other hand, the asynchronous transmission is enabled if needed, as we did in hw/char/cadence_uart.c Signed-off-by: Gavin Shan <gshan@redhat.com> --- v3: Use PL011() to do data type conversion Return G_SOURCE_REMOVE when the backend is disconnected in pl011_xmit() Drop parenthesis in the condition validating @size in pl011_write_fifo() --- hw/char/pl011.c | 105 +++++++++++++++++++++++++++++++++++++--- include/hw/char/pl011.h | 3 ++ 2 files changed, 102 insertions(+), 6 deletions(-)