Skip to content

device busy attribute to prevent attaching devices whose children are in use#840

Open
piotrbartman wants to merge 2 commits into
QubesOS:mainfrom
piotrbartman:qdev/busy
Open

device busy attribute to prevent attaching devices whose children are in use#840
piotrbartman wants to merge 2 commits into
QubesOS:mainfrom
piotrbartman:qdev/busy

Conversation

@piotrbartman

Copy link
Copy Markdown
Member

Add a busy concept to DeviceInfo, BlockDevice: True when the device itself or any of its children (partition, sub-device) is in use (attached, or used locally inside the backend, e.g. mounted, dm slave, swap etc.). Busy devices get refused at attach time and skipped by auto-attach.

  • busy bool serialized/deserialized in the admin protocol as `busy=True (absent = free);
  • BlockDevice.busy lazily reads/caches /qubes-block-devices//busy from the backend's QDB
  • on detach: the device's own busy marker is cleared synchronously; ancestors are refreshed calling qubes.RefreshBlockDevices, (see device busy attribute to prevent attaching devices whose children are in use qubes-linux-utils#144) rather than blindly clearing as dom0 can't see local mounts inside the backend, so a naive clear could free a USB parent while a sibling partition is still mounted there. This change is in the second commit and might be opted out after discussion.

Open items:

  • _refresh_busy_after_detach does await asyncio.sleep(1) before calling the backend (I'm not happy here, >.<), waiting for vbd teardown to actually disappear from sysfs.
  • If the backend vm doesn't have qubes.RefreshBlockDevices the code falls back to an attachment-based unmark which ignore internal usage. IMHO these are limited consequences.
  • The mechanism is TOCTOU-prone, but it narrows the window for accidental attach conflicts, it's not a security boundary against a compromised backend, which can misreport any QDB value anyway.
  • local mount/umount inside the backend generates no block uevent, so both setting and clearing the busy marker for locally-used devices is "opportunistic", i.e., happens whenever the next unrelated udev event fires, not immediately.
  • _mark_parents_busy, _unmark_parents_busy swallow all exceptions silently (# best effort)

we want to avoid the situation when we attach device which sub-devices are already attached and in the same time we want to keep this device visible.
previous behavior removing the parent from QDB and hide it entirely instead of just blocking attachment, but then we have subdevice with parent that "does not exist" from point of Qubes
The busy=True means that this device cannot be attached
if one of subdevices are locally used (e.g. in sys-usb) the parent is considered busy
@marmarek

Copy link
Copy Markdown
Member
  • local mount/umount inside the backend generates no block uevent

Systemd's mount unit appears for mounted filesystems, so maybe there is a way to get events about it via dbus? Or maybe there is some systemd hook for this?

But generally, there should be clear role split who is responsible for setting/clearing the busy flag. It should be either the backend (in which case qubesd should not change it without coordination), or qubesd (in which case, the backend shouldn't have influence over it - so, store outside of qubesdb). The mixed model is asking for troubles, when both sides have different idea about the current state.

@qubesos-bot

Copy link
Copy Markdown

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026071723-devel&flavor=pull-requests

Test run included the following:

Upload failures

  • system_tests_backup
    • system_tests: Failed (test died)
      # Test died: command 'curl --form upload=@tests-qubes.tests.integ.b...

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026050504-devel&flavor=update

  • system_tests_network

  • system_tests_pvgrub_salt_storage

    • StorageFile: test_003_snapshot (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_extra

  • system_tests_devices

  • system_tests_guivm_vnc_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_audio

  • system_tests_guivm_gpu_gui_interactive@hw13

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_audio@hw1

  • system_tests_qrexec_perf@hw1

    • TC_00_QrexecPerf_fedora-44-xfce: test_100_simple_data_simplex (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

Failed tests

22 failures
  • system_tests_network

  • system_tests_pvgrub_salt_storage

    • StorageFile: test_003_snapshot (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_extra

  • system_tests_gui_interactive

    • [unstable] collect_logs: wait_serial (unknown)
      # Command: curl --form upload=@journalctl.log --form upname=collect...

    • [unstable] collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form upload=@journalctl.log --form upn...

    • [unstable] collect_logs: wait_serial (unknown)
      # Command: curl --form upload=@/var/log/libvirt/libxl/libxl-driver....

  • system_tests_network_ipv6

  • system_tests_devices

  • system_tests_kde_gui_interactive

    • [unstable] gui_keyboard_layout: wait_serial (unknown)
      # Command: qvm-shutdown --wait work...

    • [unstable] gui_keyboard_layout: Failed (test died + timed out)
      # Test died: command 'qvm-shutdown --wait work' timed out at /usr/l...

  • system_tests_guivm_vnc_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_audio

  • system_tests_guivm_gpu_gui_interactive@hw13

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...
  • system_tests_whonix@hw1

    • [unstable] whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • [unstable] whonixcheck: Failed (test died)
      # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...

  • system_tests_audio@hw1

  • system_tests_qrexec_perf@hw1

    • TC_00_QrexecPerf_fedora-44-xfce: test_100_simple_data_simplex (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/176874#dependencies

25 fixed
  • system_tests_whonix

    • whonixcheck: Failed (test died)
      # Test died: command 'qvm-shutdown --wait anon-whonix ' failed at /...
  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_debian-13-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_001_standalone_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_011_template_based_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-43-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_extra

    • TC_01_InputProxyExclude_debian-13-xfce: test_000_qemu_tablet (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_01_InputProxyExclude_fedora-43-xfce: test_000_qemu_tablet (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_00_QVCTest_fedora-43-xfce: test_010_screenshare (failure + cleanup)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 1179648 != 0

    • TC_00_QVCTest_whonix-gateway-18: test_010_screenshare (failure + cleanup)
      AssertionError: 2.3156185715769593 not less than 2.0

    • TC_00_PDFConverter_fedora-43-xfce: test_004_cancel_stops_conversion (failure)
      AssertionError: DispVM not cleaned up 10s after cancel: {<DispVM at...

  • system_tests_usbproxy

    • system_tests: Fail (unknown)
      Tests qubes.tests.extra failed (exit code 1), details reported sepa...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • system_tests: wait_serial (wait serial expected)
      # wait_serial expected: qr/h3uXO-\d+-/...

    • TC_20_USBProxy_core3_fedora-43-xfce: test_090_attach_stubdom (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_network_ipv6

  • system_tests_audio

  • system_tests_guivm_gpu_gui_interactive@hw13

    • shutdown: unnamed test (unknown)
    • shutdown: Failed (test died)
      # Test died: no candidate needle with tag(s) 'text-logged-in-root' ...
  • system_tests_audio@hw1

Unstable tests

Details
  • system_tests_whonix

    whonixcheck/Failed (1/5 times with errors)
    • job 188636 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/fail (1/5 times with errors)
    • job 188636 Whonixcheck for whonix-workstation-18 failed...
  • system_tests_gui_tools

    desktop_linux_manager_config/ (1/5 times with errors)
    desktop_linux_manager_config/Failed (1/5 times with errors)
    • job 188475 # Test died: no candidate needle with tag(s) 'qubes-global-config' ...
  • system_tests_network

    system_tests/Fail (2/5 times with errors)
    • job 187594 Tests qubes.tests.integ.network failed (exit code 1), details repor...
    • job 187732 Tests qubes.tests.integ.network failed (exit code 1), details repor...
    system_tests/Failed (2/5 times with errors)
    • job 187594 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 187732 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    VmNetworking_fedora-43-xfce/test_000_simple_networking (1/5 times with errors)
    • job 187732 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_031_firewall_dynamic_block (1/5 times with errors)
    • job 187732 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_113_reattach_after_provider_kill (1/5 times with errors)
    • job 187594 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_203_fake_ip_inter_vm_allow (1/5 times with errors)
    • job 187594 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_pvgrub_salt_storage

    system_tests/Fail (2/5 times with errors)
    • job 187597 Tests qubes.tests.integ.storage failed (exit code 1), details repor...
    • job 187735 Tests qubes.tests.integ.storage failed (exit code 1), details repor...
    system_tests/Failed (3/5 times with errors)
    • job 188480 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188519 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188668 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (2/5 times with errors)
    • job 187597 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 187735 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_41_HVMGrub_debian-13-xfce/test_000_standalone_vm (1/5 times with errors)
    • job 187597 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_fedora-43-xfce/test_000_standalone_vm (2/5 times with errors)
    • job 187735 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188668 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_debian-13-xfce/test_001_standalone_vm_dracut (2/5 times with errors)
    • job 187735 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188480 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    StorageReflinkOnBtrfs/test_002_read_only (1/5 times with errors)
    • job 187735 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    StorageReflinkOnExt4/test_003_snapshot (1/5 times with errors)
    • job 187735 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    StorageLVM/test_004_snapshot_non_persistent (1/5 times with errors)
    • job 187597 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_debian-13-xfce/test_010_template_based_vm (4/5 times with errors)
    • job 187597 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 187735 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188480 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188668 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_fedora-43-xfce/test_010_template_based_vm (3/5 times with errors)
    • job 187735 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188480 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188668 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_splitgpg

    system_tests/Failed (2/5 times with errors)
    • job 187599 # Test died: command 'testfunc qubes.tests.extra' timed out at qube...
    • job 188482 # Test died: command 'testfunc qubes.tests.extra' timed out at qube...
    system_tests/wait_serial (2/5 times with errors)
    • job 187599 # Command: testfunc qubes.tests.extra...
    • job 188482 # Command: testfunc qubes.tests.extra...
  • system_tests_extra

    system_tests/Fail (4/5 times with errors)
    • job 187590 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    • job 187728 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    • job 188473 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    • job 188661 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    system_tests/Failed (3/5 times with errors)
    • job 187728 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188473 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188661 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (1/5 times with errors)
    • job 187590 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_01_InputProxyExclude_debian-13-xfce/test_000_qemu_tablet (2/5 times with errors)
    • job 187590 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188661 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_01_InputProxyExclude_fedora-43-xfce/test_000_qemu_tablet (3/5 times with errors)
    • job 187590 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188473 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188661 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_00_InputProxy_fedora-43-xfce/test_000_simple_mouse (1/5 times with errors)
    • job 187728 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_00_PDFConverter_debian-13-xfce/test_002_500_pages (3/5 times with errors)
    • job 187590 AssertionError: 1 != 0 : qvm-convert-pdf failed: b'Sending file to ...
    • job 187728 AssertionError: 1 != 0 : qvm-convert-pdf failed: b'Sending file to ...
    • job 188473 AssertionError: 1 != 0 : qvm-convert-pdf failed: b'Sending file to ...
    TC_00_PDFConverter_fedora-43-xfce/test_002_500_pages (1/5 times with errors)
    • job 187728 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_00_PDFConverter_debian-13-xfce/test_004_cancel_stops_conversion (1/5 times with errors)
    • job 188661 AssertionError: DispVM not cleaned up 20s after cancel: ['disp7751']
    TC_00_PDFConverter_fedora-43-xfce/test_004_cancel_stops_conversion (3/5 times with errors)
    • job 187590 AssertionError: DispVM not cleaned up 20s after cancel: ['disp2361']
    • job 188473 AssertionError: DispVM not cleaned up 20s after cancel: ['disp758']
    • job 188661 AssertionError: DispVM not cleaned up 20s after cancel: ['disp8125']
    TC_00_PDFConverter_debian-13-xfce/test_005_docx (2/5 times with errors)
    • job 187728 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    • job 188473 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    TC_00_PDFConverter_debian-13-xfce/test_006_odt (2/5 times with errors)
    • job 187728 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    • job 188473 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    TC_00_PDFConverter_debian-13-xfce/test_007_xlsx (2/5 times with errors)
    • job 187728 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    • job 188473 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    TC_00_PDFConverter_debian-13-xfce/test_008_ods (2/5 times with errors)
    • job 187728 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    • job 188473 AssertionError: 127 != 0 : qvm-convert-file failed: b'-bash: line 1...
    TC_00_QVCTest_debian-13-xfce/test_010_screenshare (1/5 times with errors)
    • job 187590 AssertionError: 2.4614345149565264 not less than 2.0
    TC_00_Direct_whonix-workstation-18/test_060_import_secret (1/5 times with errors)
    • job 188661 AssertionError: key generation failed: b''b"gpg: keybox '/home/user...
  • system_tests_gui_interactive

    collect_logs/Failed (1/5 times with errors)
    • job 187591 # Test died: command 'curl --form upload=@journalctl.log --form upn...
    collect_logs/wait_serial (1/5 times with errors)
    • job 187591 # Command: curl --form upload=@journalctl.log --form upname=collect...
    collect_logs/wait_serial (1/5 times with errors)
    • job 187591 # Command: curl --form upload=@/var/log/libvirt/libxl/libxl-driver....
  • system_tests_guivm_gui_interactive

    collect_logs/Failed (1/5 times with errors)
    • job 187593 # Test died: command 'curl --form upload=@journalctl.log --form upn...
    collect_logs/wait_serial (1/5 times with errors)
    • job 187593 # Command: curl --form upload=@journalctl.log --form upname=collect...
    collect_logs/wait_serial (1/5 times with errors)
    • job 187593 # Command: curl --form upload=@/var/log/libvirt/libxl/libxl-driver....
  • system_tests_usbproxy

    system_tests/Fail (2/5 times with errors)
    • job 187575 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    • job 187702 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    system_tests/Failed (2/5 times with errors)
    • job 187575 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 187702 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_USBProxy_fedora-43-xfce/test_000_attach_detach (1/5 times with errors)
    • job 187702 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_USBProxy_core3_fedora-43-xfce/test_090_attach_stubdom (1/5 times with errors)
    • job 187575 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_network_ipv6

    system_tests/Fail (4/5 times with errors)
    • job 187733 Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...
    • job 188517 Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...
    • job 188525 Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...
    • job 188666 Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...
    system_tests/Failed (4/5 times with errors)
    • job 187733 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188517 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188525 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188666 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    VmIPv6Networking_debian-13-xfce/test_001_simple_networking_paused_from_none_to_existent (1/5 times with errors)
    • job 188517 subprocess.CalledProcessError: Command 'qubes.WaitForNetworkUplink'...
    VmIPv6Networking_fedora-43-xfce/test_040_inter_vm (1/5 times with errors)
    • job 188666 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_debian-13-xfce/test_110_dynamic_attach (1/5 times with errors)
    • job 188525 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 125 != 0
    VmIPv6Networking_fedora-43-xfce/test_112_reattach_after_provider_shutdown (1/5 times with errors)
    • job 188666 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_fedora-43-xfce/test_113_reattach_after_provider_kill (1/5 times with errors)
    • job 188666 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_fedora-43-xfce/test_203_fake_ip_inter_vm_allow (1/5 times with errors)
    • job 187733 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_fedora-43-xfce/test_204_fake_ip_proxy (1/5 times with errors)
    • job 187733 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_change_shutdown_old (1/5 times with errors)
    • job 187733 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_from_none_to_existent (1/5 times with errors)
    • job 188517 subprocess.CalledProcessError: Command 'qubes.WaitForNetworkUplink'...
    system_tests/wait_serial (1/5 times with errors)
    • job 188517 # Command: curl --form upload=@/var/log/libvirt/libxl/libxl-driver....
  • system_tests_network_updates

    system_tests/Fail (3/5 times with errors)
    • job 187596 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    • job 188479 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    • job 188667 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    system_tests/Failed (3/5 times with errors)
    • job 187596 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188479 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188667 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_000_update (2/5 times with errors)
    • job 187596 Error: Failed to download metadata for repo 'test': Cannot download...
    • job 188667 Error: Failed to download metadata for repo 'test': Cannot download...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_000_update_salt (2/5 times with errors)
    • job 187596 ?[0;31mDuration: 142521.273 ms?[0;0m... ?[0;31m Changes: ?[0;0m
    • job 188479 ?[0;31mDuration: 136920.941 ms?[0;0m... ?[0;31m Changes: ?[0;0m
    TC_00_Dom0Upgrade_whonix-gateway-18/test_005_update_flag_clear (1/5 times with errors)
    • job 187596 Error: Failed to download metadata for repo 'test': Cannot download...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_006_update_flag_clear (1/5 times with errors)
    • job 188667 Error: Failed to download metadata for repo 'test': Cannot download...
  • system_tests_dispvm

    system_tests/Fail (3/5 times with errors)
    • job 187727 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • job 188472 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • job 188511 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    system_tests/Failed (3/5 times with errors)
    • job 187727 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188472 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 188511 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_04_DispVM/test_003_cleanup_destroyed (1/5 times with errors)
    • job 187727 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_21_DispVM_Preload/test_011_preload_reject_max (1/5 times with errors)
    • job 188511 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_21_DispVM_Preload/test_015_preload_race_more (2/5 times with errors)
    • job 187727 raise TimeoutError from exc_val... TimeoutError
    • job 188472 raise TimeoutError from exc_val... TimeoutError
    TC_20_DispVM_debian-13-xfce/test_080_gui_app (1/5 times with errors)
    • job 188472 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_kde_gui_interactive

    gui_keyboard_layout/Failed (1/5 times with errors)
    • job 188640 # Test died: command 'qvm-shutdown --wait work' timed out at /usr/l...
    gui_keyboard_layout/wait_serial (1/5 times with errors)
    • job 188640 # Command: qvm-shutdown --wait work...
  • system_tests_audio

    TC_20_AudioVM_Pulse_fedora-43-xfce/test_223_audio_play_hvm (1/5 times with errors)
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_225_audio_rec_unmuted_hvm (5/5 times with errors)
    • job 187706 AssertionError: too short audio, expected 10s, got 7.27160997732426...
    • job 188451 AssertionError: too short audio, expected 10s, got 5.86424036281179...
    • job 188499 AssertionError: too short audio, expected 10s, got 7.85712018140589...
    • job 188526 AssertionError: too short audio, expected 10s, got 6.66848072562358...
    • job 188639 AssertionError: too short audio, expected 10s, got 6.83272108843537...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_252_audio_playback_audiovm_switch_hvm (2/5 times with errors)
    • job 187706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_PipeWire_debian-13-xfce/test_260_audio_mic_enabled_switch_audiovm (1/5 times with errors)
    • job 187706 AssertionError: Failed to get mic attach/detach status!
  • system_tests_whonix@hw1

    whonixcheck/Failed (1/5 times with errors)
    • job 188636 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/fail (1/5 times with errors)
    • job 188636 Whonixcheck for whonix-workstation-18 failed...
  • system_tests_basic_vm_qrexec_gui_btrfs

    system_tests/Fail (1/5 times with errors)
    • job 188655 Tests qubes.tests.integ.basic failed (exit code 1), details reporte...
    system_tests/Fail (1/5 times with errors)
    • job 188655 Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...
    system_tests/Failed (1/5 times with errors)
    • job 188655 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_20_NonAudio_debian-13-xfce-pool/test_000_start_shutdown (1/5 times with errors)
    • job 188655 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_00_Basic/test_210_bootmode_template (1/5 times with errors)
    • job 188655 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_basic_vm_qrexec_gui_xfs

    system_tests/Fail (1/5 times with errors)
    • job 187724 Tests qubes.tests.integ.basic failed (exit code 1), details reporte...
    system_tests/Failed (1/5 times with errors)
    • job 187724 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_Basic/test_206_shutdown_paused (1/5 times with errors)
    • job 187724 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_gui_interactive@hw7

    collect_logs/Failed (1/5 times with errors)
    • job 187591 # Test died: command 'curl --form upload=@journalctl.log --form upn...
    collect_logs/wait_serial (1/5 times with errors)
    • job 187591 # Command: curl --form upload=@journalctl.log --form upname=collect...
    collect_logs/wait_serial (1/5 times with errors)
    • job 187591 # Command: curl --form upload=@/var/log/libvirt/libxl/libxl-driver....
  • system_tests_gui_tools@hw7

    desktop_linux_manager_config/ (1/5 times with errors)
    desktop_linux_manager_config/Failed (1/5 times with errors)
    • job 188475 # Test died: no candidate needle with tag(s) 'qubes-global-config' ...
  • system_tests_audio@hw1

    TC_20_AudioVM_Pulse_fedora-43-xfce/test_223_audio_play_hvm (1/5 times with errors)
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_225_audio_rec_unmuted_hvm (5/5 times with errors)
    • job 187706 AssertionError: too short audio, expected 10s, got 7.27160997732426...
    • job 188451 AssertionError: too short audio, expected 10s, got 5.86424036281179...
    • job 188499 AssertionError: too short audio, expected 10s, got 7.85712018140589...
    • job 188526 AssertionError: too short audio, expected 10s, got 6.66848072562358...
    • job 188639 AssertionError: too short audio, expected 10s, got 6.83272108843537...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_252_audio_playback_audiovm_switch_hvm (2/5 times with errors)
    • job 187706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 188639 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_PipeWire_debian-13-xfce/test_260_audio_mic_enabled_switch_audiovm (1/5 times with errors)
    • job 187706 AssertionError: Failed to get mic attach/detach status!

Performance Tests

Performance degradation:

19 performance degradations
  • debian-13-xfce_dom0-dispvm-gui-api (mean:8.61): 103.32 🔻 ( previous job: 93.50, degradation: 110.51%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.787): 33.45 🔻 ( previous job: 29.50, degradation: 113.38%)
  • whonix-workstation-18_dom0-dispvm-api (mean:10.141): 121.70 🔻 ( previous job: 97.14, degradation: 125.29%)
  • whonix-workstation-18_dom0-dispvm-gui-api (mean:11.946): 143.35 🔻 ( previous job: 121.86, degradation: 117.64%)
  • whonix-workstation-18_dom0-dispvm-preload-2-api (mean:4.499): 53.99 🔻 ( previous job: 48.39, degradation: 111.56%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-0-api (mean:4.589): 55.07 🔻 ( previous job: 48.26, degradation: 114.10%)
  • whonix-workstation-18_dom0-dispvm-preload-4-api (mean:3.705): 44.46 🔻 ( previous job: 38.29, degradation: 116.12%)
  • whonix-workstation-18_dom0-vm-api (mean:0.046): 0.56 🔻 ( previous job: 0.43, degradation: 128.18%)
  • debian-13-xfce_socket: 9.85 🔻 ( previous job: 8.37, degradation: 117.65%)
  • whonix-gateway-18_exec: 8.99 🔻 ( previous job: 8.01, degradation: 112.23%)
  • whonix-gateway-18_exec-root: 152.13 🔻 ( previous job: 126.14, degradation: 120.61%)
  • whonix-gateway-18_socket-data-duplex: 107.53 🔻 ( previous job: 90.03, degradation: 119.43%)
  • whonix-workstation-18_exec-root: 165.74 🔻 ( previous job: 144.02, degradation: 115.08%)
  • whonix-workstation-18_socket: 9.47 🔻 ( previous job: 7.66, degradation: 123.57%)
  • whonix-workstation-18_exec-data-duplex-root: 155.13 🔻 ( previous job: 130.67, degradation: 118.72%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 162286.00 🔻 ( previous job: 199974.00, degradation: 81.15%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 6712.00 🔻 ( previous job: 8963.00, degradation: 74.89%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 3298.00 🔻 ( previous job: 5055.00, degradation: 65.24%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 83016.00 🔻 ( previous job: 102155.00, degradation: 81.26%)

Remaining performance tests:

91 tests
  • debian-13-xfce_dom0-dispvm-api (mean:6.574): 78.89 🔻 ( previous job: 74.50, degradation: 105.90%)
  • debian-13-xfce_dom0-dispvm-preload-2-api (mean:3.406): 40.87 🔻 ( previous job: 37.79, degradation: 108.17%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.128): 37.53 🔻 ( previous job: 34.29, degradation: 109.45%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:3.505): 42.06 🔻 ( previous job: 38.52, degradation: 109.20%)
  • debian-13-xfce_dom0-dispvm-preload-4-api (mean:2.616): 31.39 🔻 ( previous job: 30.73, degradation: 102.13%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:2.599): 31.19 🔻 ( previous job: 28.74, degradation: 108.51%)
  • debian-13-xfce_dom0-dispvm-preload-2-gui-api (mean:4.662): 55.94 🔻 ( previous job: 53.65, degradation: 104.27%)
  • debian-13-xfce_dom0-dispvm-preload-4-gui-api (mean:3.829): 45.95 🔻 ( previous job: 44.40, degradation: 103.49%)
  • debian-13-xfce_dom0-dispvm-preload-6-gui-api (mean:3.252): 39.03 🟢 ( previous job: 41.47, improvement: 94.11%)
  • debian-13-xfce_dom0-vm-api (mean:0.03): 0.36 🟢 ( previous job: 0.62, improvement: 57.74%)
  • debian-13-xfce_dom0-vm-gui-api (mean:0.031): 0.38 🟢 ( previous job: 0.47, improvement: 81.08%)
  • fedora-44-xfce_dom0-dispvm-api (mean:8.636): 103.63
  • fedora-44-xfce_dom0-dispvm-gui-api (mean:10.799): 129.59
  • fedora-44-xfce_dom0-dispvm-preload-2-api (mean:4.097): 49.16
  • fedora-44-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.849): 46.19
  • fedora-44-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:4.259): 51.10
  • fedora-44-xfce_dom0-dispvm-preload-4-api (mean:3.233): 38.79
  • fedora-44-xfce_dom0-dispvm-preload-4-delay-0-api (mean:3.059): 36.71
  • fedora-44-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.144): 37.73
  • fedora-44-xfce_dom0-dispvm-preload-2-gui-api (mean:5.466): 65.59
  • fedora-44-xfce_dom0-dispvm-preload-4-gui-api (mean:4.381): 52.57
  • fedora-44-xfce_dom0-dispvm-preload-6-gui-api (mean:3.546): 42.55
  • fedora-44-xfce_dom0-vm-api (mean:0.033): 0.40
  • fedora-44-xfce_dom0-vm-gui-api (mean:0.039): 0.47
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:5.386): 64.63 🔻 ( previous job: 59.22, degradation: 109.14%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-0-api (mean:3.623): 43.48 🔻 ( previous job: 43.23, degradation: 100.56%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.604): 43.25 🔻 ( previous job: 42.67, degradation: 101.38%)
  • whonix-workstation-18_dom0-dispvm-preload-2-gui-api (mean:6.536): 78.43 🔻 ( previous job: 72.05, degradation: 108.86%)
  • whonix-workstation-18_dom0-dispvm-preload-4-gui-api (mean:4.764): 57.16 🔻 ( previous job: 52.81, degradation: 108.24%)
  • whonix-workstation-18_dom0-dispvm-preload-6-gui-api (mean:4.408): 52.90 🔻 ( previous job: 50.72, degradation: 104.29%)
  • whonix-workstation-18_dom0-vm-gui-api (mean:0.044): 0.53 🟢 ( previous job: 0.56, improvement: 95.14%)
  • debian-13-xfce_exec: 8.48 🔻 ( previous job: 7.85, degradation: 107.99%)
  • debian-13-xfce_exec-root: 27.45 🔻 ( previous job: 26.74, degradation: 102.65%)
  • debian-13-xfce_socket-root: 9.29 🔻 ( previous job: 9.13, degradation: 101.83%)
  • debian-13-xfce_exec-data-simplex: 61.97 🟢 ( previous job: 63.05, improvement: 98.28%)
  • debian-13-xfce_exec-data-duplex: 68.26 🔻 ( previous job: 62.45, degradation: 109.30%)
  • debian-13-xfce_exec-data-duplex-root: 84.42 🔻 ( previous job: 78.04, degradation: 108.17%)
  • debian-13-xfce_socket-data-duplex: 86.34 🔻 ( previous job: 85.67, degradation: 100.79%)
  • fedora-44-xfce_exec: 9.25
  • fedora-44-xfce_exec-root: 70.39
  • fedora-44-xfce_socket: 8.73
  • fedora-44-xfce_socket-root: 8.55
  • fedora-44-xfce_exec-data-duplex: 71.92
  • fedora-44-xfce_exec-data-duplex-root: 110.33
  • fedora-44-xfce_socket-data-duplex: 83.13
  • whonix-gateway-18_socket: 8.94 🔻 ( previous job: 8.63, degradation: 103.54%)
  • whonix-gateway-18_socket-root: 8.36 🟢 ( previous job: 8.37, improvement: 99.88%)
  • whonix-gateway-18_exec-data-simplex: 67.05 🔻 ( previous job: 62.50, degradation: 107.27%)
  • whonix-gateway-18_exec-data-duplex: 67.87 🟢 ( previous job: 68.01, improvement: 99.79%)
  • whonix-gateway-18_exec-data-duplex-root: 144.95 🔻 ( previous job: 137.28, degradation: 105.59%)
  • whonix-workstation-18_exec: 8.53 🔻 ( previous job: 8.14, degradation: 104.88%)
  • whonix-workstation-18_socket-root: 9.46 🔻 ( previous job: 8.87, degradation: 106.63%)
  • whonix-workstation-18_exec-data-simplex: 67.55 🔻 ( previous job: 66.36, degradation: 101.80%)
  • whonix-workstation-18_exec-data-duplex: 67.59 🔻 ( previous job: 65.56, degradation: 103.11%)
  • whonix-workstation-18_socket-data-duplex: 89.67 🟢 ( previous job: 92.97, improvement: 96.44%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 497663.00 🟢 ( previous job: 388793.00, improvement: 128.00%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 164197.00 🟢 ( previous job: 119690.00, improvement: 137.19%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 436542.00 🟢 ( previous job: 245223.00, improvement: 178.02%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 100376.00 🟢 ( previous job: 13948.00, improvement: 719.64%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 8230.00 🟢 ( previous job: 6899.00, improvement: 119.29%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 414129.00 🔻 ( previous job: 429040.00, degradation: 96.52%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 358732.00 🟢 ( previous job: 257066.00, improvement: 139.55%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 448876.00 🟢 ( previous job: 446202.00, improvement: 100.60%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 188766.00 🔻 ( previous job: 201978.00, degradation: 93.46%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 10198.00 🔻 ( previous job: 10623.00, degradation: 96.00%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 8307.00 🟢 ( previous job: 8179.00, improvement: 101.56%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 5111.00 🟢 ( previous job: 4404.00, improvement: 116.05%)
  • fedora-44-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 248301.00
  • fedora-44-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 142646.00
  • fedora-44-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 324134.00
  • fedora-44-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 50427.00
  • fedora-44-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 81133.00
  • fedora-44-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 2355.00
  • fedora-44-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8359.00
  • fedora-44-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 722.00
  • fedora-44-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 350694.00
  • fedora-44-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 135805.00
  • fedora-44-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 218407.00
  • fedora-44-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 57550.00
  • fedora-44-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 80868.00
  • fedora-44-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 1575.00
  • fedora-44-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 7718.00
  • fedora-44-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 876.00
  • fedora-44-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 324034.00
  • fedora-44-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 131932.00
  • fedora-44-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 288307.00
  • fedora-44-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 81470.00
  • fedora-44-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 55007.00
  • fedora-44-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 4111.00
  • fedora-44-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 8671.00
  • fedora-44-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 987.00

@marmarek

Copy link
Copy Markdown
Member

system_tests_devices

* TC_00_List_debian-13-xfce: [test_021_list_loop_partition_mounted](https://openqa.qubes-os.org/tests/189005#step/TC_00_List_debian-13-xfce/8) (failure)
  `AssertionError: Device test-inst-vm:loop0::0 (/tmp/test.img) should...`

This tests needs an update, to look at the busy attribute now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants