Skip to content

q-dev: avoid zombie USB device#55

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

q-dev: avoid zombie USB device#55
piotrbartman wants to merge 2 commits into
QubesOS:mainfrom
piotrbartman:qdev/zombie

Conversation

@piotrbartman

Copy link
Copy Markdown
Member

After detaching from the frontend VM, the USB device remained under the control of the usbip driver. This caused the device to remain visible in the backend vm but unusable there (zombie). The issue is that, for example, a USB stick would not expose its partitions to the backend, preventing us from using them (e.g. attaching partition to frontend vm).

After detaching from the frontend vm, the device remained under the control of the usbip driver. This caused the device to remain visible in the backend vm but unusable there (zombie). The issue is that, for example, a USB stick would not expose its partitions to the backend, preventing us from using them (e.g. attaching partition to frontend vm).
@qubesos-bot

qubesos-bot commented May 5, 2026

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=2026062113-devel&flavor=pull-requests

Test run included the following:

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_basic_vm_qrexec_gui

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

  • system_tests_gui_interactive

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

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

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

  • system_tests_devices

    • TC_00_List_fedora-43-xfce: test_012_list_dm_delayed (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_dispvm_perf@hw7

  • system_tests_basic_vm_qrexec_gui_btrfs

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

Failed tests

22 failures
  • system_tests_whonix

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

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

  • system_tests_basic_vm_qrexec_gui

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

  • system_tests_extra

    • TC_00_PDFConverter_fedora-43-xfce: test_004_cancel_stops_conversion (failure)
      AssertionError: DispVM not cleaned up 20s after cancel: ['disp2039']

    • TC_00_QVCTest_fedora-43-xfce: test_010_screenshare (failure + cleanup)
      AssertionError: 2.104448859803078 not less than 2.0

  • system_tests_gui_interactive

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

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

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

  • system_tests_devices

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

  • system_tests_dispvm_perf@hw7

  • system_tests_basic_vm_qrexec_gui_btrfs

    • TC_20_NonAudio_fedora-43-xfce-pool: test_110_qrexec_filecopy_deny (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • 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_pvgrub_salt_storage

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

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

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

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

Fixed failures

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

20 fixed
  • 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_whonix-gateway-18: test_010_screenshare (failure + cleanup)
      AssertionError: 2.3156185715769593 not less than 2.0

  • 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: Fail (unknown)
      Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...

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

    • VmIPv6Networking_fedora-43-xfce: test_001_simple_networking_paused_from_none_to_existent (error)
      raise TimeoutError from exc_val... TimeoutError

  • system_tests_audio

  • system_tests_audio@hw1

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.audio failed (exit code 1), details reporte...

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

    • TC_20_AudioVM_Pulse_debian-13-xfce: test_222_audio_rec_unmuted_pulseaudio (failure)
      AssertionError: only silence detected, no useful audio data

  • system_tests_whonix@hw1

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

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

  • 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...

Unstable tests

Details
  • system_tests_whonix

    whonixcheck/Failed (2/5 times with errors)
    • job 182677 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    • job 184193 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/Failed (1/5 times with errors)
    • job 182411 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/fail (1/5 times with errors)
    • job 182411 Whonixcheck for anon-whonix failed...
    whonixcheck/fail (1/5 times with errors)
    • job 184193 Whonixcheck for whonix-gateway-18 failed...
    whonixcheck/fail (1/5 times with errors)
    whonixcheck/fail (1/5 times with errors)
  • system_tests_suspend

    suspend/Failed (1/5 times with errors)
    • job 179098 # Test died: command 'qvm-run -p sys-net true' timed out at /usr/li...
    suspend/Failed (2/5 times with errors)
    • job 179101 # Test died: command '! qvm-check sys-usb || qvm-run -p sys-usb tru...
    • job 179957 # Test died: command '! qvm-check sys-usb || qvm-run -p sys-usb tru...
    suspend/wait_serial (1/5 times with errors)
    • job 179098 # Command: qvm-run -p sys-net true...
    suspend/wait_serial (2/5 times with errors)
    • job 179101 # Command: ! qvm-check sys-usb || qvm-run -p sys-usb true...
    • job 179957 # Command: ! qvm-check sys-usb || qvm-run -p sys-usb true...
    suspend/wait_serial (1/5 times with errors)
    suspend/wait_serial (2/5 times with errors)
    • job 179101 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...
    • job 179957 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...
  • system_tests_basic_vm_qrexec_gui

    system_tests/Fail (1/5 times with errors)
    • job 182429 Tests qubes.tests.integ.basic failed (exit code 1), details reporte...
    system_tests/Fail (1/5 times with errors)
    • job 182429 Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...
    system_tests/Failed (1/5 times with errors)
    • job 183745 # Test died: command 'curl --form upload=@tests-qubes.tests.integ.b...
    system_tests/Failed (1/5 times with errors)
    • job 182429 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_10_Generic/test_000_anyvm_deny_dom0 (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_03_QvmRevertTemplateChanges/test_000_revert_linux (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_NonAudio_fedora-43-xfce/test_101_qrexec_filecopy_with_autostart (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_00_Basic/test_211_bootmode_standalone (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_network

    system_tests/Fail (4/5 times with errors)
    • job 182440 Tests qubes.tests.integ.network failed (exit code 1), details repor...
    • job 182706 Tests qubes.tests.integ.network failed (exit code 1), details repor...
    • job 183756 Tests qubes.tests.integ.network failed (exit code 1), details repor...
    • job 184222 Tests qubes.tests.integ.network failed (exit code 1), details repor...
    system_tests/Failed (2/5 times with errors)
    • job 183756 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 184222 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (2/5 times with errors)
    • job 182440 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 182706 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    VmNetworking_fedora-43-xfce/test_001_simple_networking_paused_restart_netvm (1/5 times with errors)
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_001_simple_networking_paused_shutdown_netvm (1/5 times with errors)
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_010_simple_proxyvm (1/5 times with errors)
    VmNetworking_fedora-43-xfce/test_020_simple_proxyvm_nm (2/5 times with errors)
    • job 182440 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182706 ^^^^^^^^^^... AssertionError
    VmNetworking_fedora-43-xfce/test_030_firewallvm_firewall (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_031_firewall_dynamic_block (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_040_inter_vm (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_050_spoof_ip (2/5 times with errors)
    • job 182440 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182706 ^^^^^^^^^^... AssertionError
    VmNetworking_fedora-43-xfce/test_100_late_xldevd_startup (2/5 times with errors)
    VmNetworking_debian-13-xfce/test_110_dynamic_attach (2/5 times with errors)
    • job 182706 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 125 != 0
    • job 184222 raise TimeoutError from exc_val... TimeoutError
    VmNetworking_fedora-43-xfce/test_110_dynamic_attach (2/5 times with errors)
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-44-xfce/test_110_dynamic_attach (1/5 times with errors)
    • job 183756 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 125 != 0
    VmNetworking_fedora-43-xfce/test_111_dynamic_detach_attach (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_112_reattach_after_provider_shutdown (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_113_reattach_after_provider_kill (2/5 times with errors)
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_114_reattach_after_provider_crash (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_200_fake_ip_simple (2/5 times with errors)
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_201_fake_ip_without_gw (2/5 times with errors)
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_202_fake_ip_firewall (2/5 times with errors)
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_203_fake_ip_inter_vm_allow (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_204_fake_ip_proxy (2/5 times with errors)
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_210_custom_ip_simple (2/5 times with errors)
    VmNetworking_fedora-43-xfce/test_211_custom_ip_proxy (2/5 times with errors)
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmNetworking_fedora-43-xfce/test_212_custom_ip_firewall (2/5 times with errors)
  • system_tests_splitgpg

    system_tests/Failed (1/5 times with errors)
    • job 182711 # Test died: command 'testfunc qubes.tests.extra' timed out at qube...
    system_tests/Failed (1/5 times with errors)
    • job 183761 # Test died: command 'curl --form upload=@tests-qubes.tests.extra.l...
    system_tests/wait_serial (1/5 times with errors)
    • job 182711 # Command: testfunc qubes.tests.extra...
  • system_tests_extra

    system_tests/Fail (2/5 times with errors)
    • job 183532 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    • job 183752 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    system_tests/Failed (2/5 times with errors)
    • job 183532 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 183752 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_PDFConverter_fedora-44-xfce/test_002_500_pages (2/5 times with errors)
    • job 183532 AssertionError: 1 != 0 : qvm-convert-pdf failed: b'Sending file to ...
    • job 183752 AssertionError: 1 != 0 : qvm-convert-pdf failed: b'Sending file to ...
    TC_00_PDFConverter_fedora-44-xfce/test_004_cancel_stops_conversion (1/5 times with errors)
    • job 183532 AssertionError: DispVM not cleaned up 20s after cancel: ['disp4799']
  • system_tests_usbproxy

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

    system_tests/Fail (1/5 times with errors)
    • job 183576 Tests qubes.tests.integ.qrexec failed (exit code 1), details report...
    system_tests/Failed (1/5 times with errors)
    • job 183540 # Test died: command 'curl --form upload=@tests-qubes.tests.integ.q...
    system_tests/Failed (1/5 times with errors)
    • job 183576 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_Qrexec_whonix-gateway-18/test_090_qrexec_service_socket_dom0 (1/5 times with errors)
    • job 183576 AssertionError: service timeout, probably EOF wasn't transferred to...
  • system_tests_network_ipv6

    system_tests/Fail (1/5 times with errors)
    • job 182441 Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...
    system_tests/Failed (1/5 times with errors)
    • job 182441 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    VmIPv6Networking_fedora-43-xfce/test_010_simple_proxyvm (1/5 times with errors)
    • job 182441 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_fedora-43-xfce/test_020_simple_proxyvm_nm (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_030_firewallvm_firewall (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_031_firewall_dynamic_block (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_040_inter_vm (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_050_spoof_ip (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_100_late_xldevd_startup (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_110_dynamic_attach (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_111_dynamic_detach_attach (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_112_reattach_after_provider_shutdown (1/5 times with errors)
    • job 182441 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)
    VmIPv6Networking_fedora-43-xfce/test_114_reattach_after_provider_crash (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_200_fake_ip_simple (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_201_fake_ip_without_gw (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_202_fake_ip_firewall (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_203_fake_ip_inter_vm_allow (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_204_fake_ip_proxy (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_210_custom_ip_simple (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_211_custom_ip_proxy (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_212_custom_ip_firewall (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_500_ipv6_simple_networking (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_change_purge_old (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_change_shutdown_old (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_from_existent_to_none (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_from_none_to_existent (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_restart_netvm (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_shutdown_netvm (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_510_ipv6_simple_proxyvm (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_520_ipv6_simple_proxyvm_nm (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_530_ipv6_firewallvm_firewall (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_540_ipv6_inter_vm (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_550_ipv6_spoof_ip (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_710_ipv6_custom_ip_simple (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_711_ipv6_custom_ip_proxy (1/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_712_ipv6_custom_ip_firewall (1/5 times with errors)
  • system_tests_dispvm

    system_tests/Fail (3/5 times with errors)
    • job 182435 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • job 182701 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • job 183751 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    system_tests/Failed (3/5 times with errors)
    • job 182435 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 182701 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 183751 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_21_DispVM_Preload/test_015_preload_race_more (1/5 times with errors)
    • job 183751 raise TimeoutError from exc_val... TimeoutError
    TC_20_DispVM_debian-13-xfce/test_080_gui_app (1/5 times with errors)
    • job 183751 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_20_DispVM_fedora-43-xfce/test_100_open_in_dispvm (2/5 times with errors)
    • job 182435 subprocess.CalledProcessError: Command 'cat > /etc/thunderbird/pref...
    • job 182701 subprocess.CalledProcessError: Command 'cat > /etc/thunderbird/pref...
    TC_20_DispVM_fedora-44-xfce/test_100_open_in_dispvm (1/5 times with errors)
    • job 183751 subprocess.CalledProcessError: Command 'cat > /etc/thunderbird/pref...
  • system_tests_kde_gui_interactive

    gui_keyboard_layout/Failed (1/5 times with errors)
    • job 183511 # Test died: command 'qvm-shutdown --wait work' timed out at /usr/l...
    gui_keyboard_layout/wait_serial (1/5 times with errors)
    • job 183511 # Command: qvm-shutdown --wait work...
    gui_keyboard_layout/wait_serial (1/5 times with errors)
    • job 183511 # Command: curl --form upload=@/var/log/libvirt/libxl/libxl-driver....
  • system_tests_basic_vm_qrexec_gui_zfs

    system_tests/Fail (1/5 times with errors)
    • job 182433 Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...
    system_tests/Failed (1/5 times with errors)
    • job 182433 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_20_NonAudio_fedora-43-xfce-pool/test_200_timezone (1/5 times with errors)
    • job 182433 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_NonAudio_fedora-43-xfce-pool/test_400_long_window_title (1/5 times with errors)
    • job 182433 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_audio

    system_tests/Failed (3/5 times with errors)
    • job 183510 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 183730 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 184196 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (2/5 times with errors)
    • job 182414 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 182680 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_223_audio_play_hvm (1/5 times with errors)
    • job 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_223_audio_play_hvm (2/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_223_audio_play_hvm (1/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 183510 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 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 182414 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_225_audio_rec_unmuted_hvm (2/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 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 182414 AssertionError: too short audio, expected 10s, got 4.07111111111111...
    • job 182680 AssertionError: too short audio, expected 10s, got 7.11995464852607...
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_PipeWire_debian-13-xfce/test_251_audio_playback_audiovm_pipewire_late_start (1/5 times with errors)
    • job 182414 AssertionError: pacat for test-inst-vm1 (xid 48) running(False) in ...
    TC_20_AudioVM_PipeWire_whonix-workstation-18/test_251_audio_playback_audiovm_pipewire_late_start (1/5 times with errors)
    • job 182680 AssertionError: too short audio, expected 10s, got 9.36630385487528...
    TC_20_AudioVM_Pulse_debian-13-xfce/test_252_audio_playback_audiovm_switch_hvm (1/5 times with errors)
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_252_audio_playback_audiovm_switch_hvm (2/5 times with errors)
    • job 182414 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_252_audio_playback_audiovm_switch_hvm (2/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_252_audio_playback_audiovm_switch_hvm (1/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_PipeWire_whonix-workstation-18/test_260_audio_mic_enabled_switch_audiovm (1/5 times with errors)
    • job 182414 AssertionError: 0 not greater than 0 : Failed to move-source-output
  • system_tests_audio@hw1

    system_tests/Failed (3/5 times with errors)
    • job 183510 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 183730 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 184196 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (2/5 times with errors)
    • job 182414 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 182680 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_223_audio_play_hvm (1/5 times with errors)
    • job 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_223_audio_play_hvm (2/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_223_audio_play_hvm (1/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 183510 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 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 182414 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_225_audio_rec_unmuted_hvm (2/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 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 182414 AssertionError: too short audio, expected 10s, got 4.07111111111111...
    • job 182680 AssertionError: too short audio, expected 10s, got 7.11995464852607...
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_PipeWire_debian-13-xfce/test_251_audio_playback_audiovm_pipewire_late_start (1/5 times with errors)
    • job 182414 AssertionError: pacat for test-inst-vm1 (xid 48) running(False) in ...
    TC_20_AudioVM_PipeWire_whonix-workstation-18/test_251_audio_playback_audiovm_pipewire_late_start (1/5 times with errors)
    • job 182680 AssertionError: too short audio, expected 10s, got 9.36630385487528...
    TC_20_AudioVM_Pulse_debian-13-xfce/test_252_audio_playback_audiovm_switch_hvm (1/5 times with errors)
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-43-xfce/test_252_audio_playback_audiovm_switch_hvm (2/5 times with errors)
    • job 182414 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184196 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_fedora-44-xfce/test_252_audio_playback_audiovm_switch_hvm (2/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183730 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_Pulse_whonix-workstation-18/test_252_audio_playback_audiovm_switch_hvm (1/5 times with errors)
    • job 183510 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_AudioVM_PipeWire_whonix-workstation-18/test_260_audio_mic_enabled_switch_audiovm (1/5 times with errors)
    • job 182414 AssertionError: 0 not greater than 0 : Failed to move-source-output
  • system_tests_whonix@hw1

    whonixcheck/Failed (2/5 times with errors)
    • job 182677 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    • job 184193 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/Failed (1/5 times with errors)
    • job 182411 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/fail (1/5 times with errors)
    • job 182411 Whonixcheck for anon-whonix failed...
    whonixcheck/fail (1/5 times with errors)
    • job 184193 Whonixcheck for whonix-gateway-18 failed...
    whonixcheck/fail (1/5 times with errors)
    whonixcheck/fail (1/5 times with errors)
  • system_tests_basic_vm_qrexec_gui_btrfs

    system_tests/ (1/5 times with errors)
    system_tests/Failed (1/5 times with errors)
    • job 183526 # Test died: no candidate needle with tag(s) 'x11' matched...
    system_tests/Failed (1/5 times with errors)
    • job 183570 # Test died: command 'curl --form upload=@nose2-junit.xml --form up...
  • system_tests_basic_vm_qrexec_gui_ext4

    system_tests/ (2/5 times with errors)
    system_tests/Failed (2/5 times with errors)
    • job 183527 # Test died: no candidate needle with tag(s) 'x11' matched...
    • job 183569 # Test died: no candidate needle with tag(s) 'x11' matched...
  • system_tests_basic_vm_qrexec_gui_xfs

    switch_pool/Failed (1/5 times with errors)
    • job 183748 # Test died: command 'qvm-start sys-firewall sys-usb' failed at /us...
    system_tests/Failed (1/5 times with errors)
    • job 183811 # Test died: command 'curl --form upload=@nose2-junit-qubes.tests.i...
    switch_pool/wait_serial (1/5 times with errors)
    • job 183748 # Command: qvm-run --no-gui -p -u root sys-firewall "cat /var/log/x...
  • system_tests_basic_vm_qrexec_gui@hw7

    system_tests/Fail (1/5 times with errors)
    • job 182429 Tests qubes.tests.integ.basic failed (exit code 1), details reporte...
    system_tests/Fail (1/5 times with errors)
    • job 182429 Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...
    system_tests/Failed (1/5 times with errors)
    • job 183745 # Test died: command 'curl --form upload=@tests-qubes.tests.integ.b...
    system_tests/Failed (1/5 times with errors)
    • job 182429 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_10_Generic/test_000_anyvm_deny_dom0 (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_03_QvmRevertTemplateChanges/test_000_revert_linux (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_NonAudio_fedora-43-xfce/test_101_qrexec_filecopy_with_autostart (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_00_Basic/test_211_bootmode_standalone (1/5 times with errors)
    • job 182429 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_guivm_vnc_gui_interactive

    guivm_manager/ (1/5 times with errors)
    guivm_manager/Failed (1/5 times with errors)
    • job 183735 # Test died: no candidate needle with tag(s) 'menu-qubes-manager' m...
    guivm_startup/Failed (1/5 times with errors)
    • job 184201 # Test died: command 'qvm-start --skip-if-running sys-gui-vnc' time...
    update_guivm/Failed (1/5 times with errors)
    • job 183515 # Test died: command '(set -o pipefail; qubesctl --all --show-outpu...
    guivm_startup/wait_serial (1/5 times with errors)
    • job 184201 # Command: qvm-start --skip-if-running sys-gui-vnc...
  • system_tests_pvgrub_salt_storage

    system_tests/Fail (4/5 times with errors)
    • job 182709 Tests qubes.tests.integ.grub failed (exit code 1), details reported...
    • job 183539 Tests qubes.tests.integ.grub failed (exit code 1), details reported...
    • job 183759 Tests qubes.tests.integ.grub failed (exit code 1), details reported...
    • job 184225 Tests qubes.tests.integ.grub failed (exit code 1), details reported...
    system_tests/Fail (1/5 times with errors)
    • job 184225 Tests qubes.tests.integ.storage failed (exit code 1), details repor...
    system_tests/Failed (3/5 times with errors)
    • job 182709 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 183539 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 183759 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (1/5 times with errors)
    • job 184225 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_41_HVMGrub_debian-13-xfce/test_000_standalone_vm (2/5 times with errors)
    • job 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184225 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 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184225 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    StorageFile/test_001_non_volatile (1/5 times with errors)
    • job 184225 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_debian-13-xfce/test_001_standalone_vm_dracut (4/5 times with errors)
    • job 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183539 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183759 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184225 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 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183539 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183759 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184225 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_fedora-43-xfce/test_010_template_based_vm (2/5 times with errors)
    • job 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 184225 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_fedora-44-xfce/test_010_template_based_vm (2/5 times with errors)
    • job 183539 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183759 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_debian-13-xfce/test_011_template_based_vm_dracut (3/5 times with errors)
    • job 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183539 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183759 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_guivm_gui_interactive

    guivm_manager/ (1/5 times with errors)
    guivm_manager/Failed (1/5 times with errors)
    • job 183755 # Test died: no candidate needle with tag(s) 'menu-qubes-manager' m...
    update_guivm/Failed (2/5 times with errors)
    • job 183535 # Test died: command '(set -o pipefail; qubesctl --all --show-outpu...
    • job 183568 # Test died: command '(set -o pipefail; qubesctl --all --show-outpu...
  • system_tests_suspend@hw1

    suspend/Failed (1/5 times with errors)
    • job 179098 # Test died: command 'qvm-run -p sys-net true' timed out at /usr/li...
    suspend/Failed (2/5 times with errors)
    • job 179101 # Test died: command '! qvm-check sys-usb || qvm-run -p sys-usb tru...
    • job 179957 # Test died: command '! qvm-check sys-usb || qvm-run -p sys-usb tru...
    suspend/wait_serial (1/5 times with errors)
    • job 179098 # Command: qvm-run -p sys-net true...
    suspend/wait_serial (2/5 times with errors)
    • job 179101 # Command: ! qvm-check sys-usb || qvm-run -p sys-usb true...
    • job 179957 # Command: ! qvm-check sys-usb || qvm-run -p sys-usb true...
    suspend/wait_serial (1/5 times with errors)
    suspend/wait_serial (2/5 times with errors)
    • job 179101 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...
    • job 179957 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...

Performance Tests

Performance degradation:

32 performance degradations
  • debian-13-xfce_exec-data-simplex: 69.76 🔻 ( previous job: 63.05, degradation: 110.64%)
  • debian-13-xfce_exec-data-duplex-root: 86.70 🔻 ( previous job: 78.04, degradation: 111.08%)
  • fedora-43-xfce_socket-root: 9.24 🔻 ( previous job: 7.96, degradation: 116.19%)
  • fedora-43-xfce_exec-data-simplex: 70.11 🔻 ( previous job: 60.82, degradation: 115.26%)
  • fedora-43-xfce_exec-data-duplex-root: 111.07 🔻 ( previous job: 98.74, degradation: 112.49%)
  • whonix-gateway-18_exec-root: 149.57 🔻 ( previous job: 126.14, degradation: 118.58%)
  • whonix-gateway-18_exec-data-duplex-root: 153.16 🔻 ( previous job: 137.28, degradation: 111.56%)
  • whonix-gateway-18_socket-data-duplex: 103.84 🔻 ( previous job: 90.03, degradation: 115.34%)
  • whonix-workstation-18_exec-root: 167.36 🔻 ( previous job: 144.02, degradation: 116.20%)
  • whonix-workstation-18_socket: 10.82 🔻 ( previous job: 7.66, degradation: 141.17%)
  • whonix-workstation-18_exec-data-duplex-root: 159.55 🔻 ( previous job: 130.67, degradation: 122.10%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8031.00 🔻 ( previous job: 8963.00, degradation: 89.60%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 72072.00 🔻 ( previous job: 201978.00, degradation: 35.68%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 5237.00 🔻 ( previous job: 10623.00, degradation: 49.30%)
  • fedora-43-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 48723.00 🔻 ( previous job: 78270.00, degradation: 62.25%)
  • fedora-43-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 7320.00 🔻 ( previous job: 8769.00, degradation: 83.48%)
  • fedora-43-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 41073.00 🔻 ( previous job: 71992.00, degradation: 57.05%)
  • fedora-43-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 923.00 🔻 ( previous job: 3674.00, degradation: 25.12%)
  • fedora-43-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 6887.00 🔻 ( previous job: 8429.00, degradation: 81.71%)
  • fedora-43-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 368.00 🔻 ( previous job: 567.00, degradation: 64.90%)
  • fedora-43-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 271440.00 🔻 ( previous job: 378957.00, degradation: 71.63%)
  • fedora-43-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 53199.00 🔻 ( previous job: 79218.00, degradation: 67.16%)
  • fedora-43-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7190.00 🔻 ( previous job: 8667.00, degradation: 82.96%)
  • debian-13-xfce_dom0-vm-gui-api (mean:0.059): 0.71 🔻 ( previous job: 0.47, degradation: 152.69%)
  • fedora-43-xfce_dom0-dispvm-gui-api (mean:10.331): 123.97 🔻 ( previous job: 112.35, degradation: 110.35%)
  • fedora-43-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.812): 45.75 🔻 ( previous job: 41.41, degradation: 110.47%)
  • fedora-43-xfce_dom0-vm-gui-api (mean:0.043): 0.51 🔻 ( previous job: 0.46, degradation: 112.75%)
  • whonix-workstation-18_dom0-dispvm-api (mean:9.98): 119.76 🔻 ( previous job: 97.14, degradation: 123.29%)
  • whonix-workstation-18_dom0-dispvm-gui-api (mean:11.84): 142.08 🔻 ( previous job: 121.86, degradation: 116.59%)
  • whonix-workstation-18_dom0-dispvm-preload-2-api (mean:4.898): 58.77 🔻 ( previous job: 48.39, degradation: 121.45%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-0-api (mean:4.452): 53.42 🔻 ( previous job: 48.26, degradation: 110.69%)
  • whonix-workstation-18_dom0-dispvm-preload-4-gui-api (mean:4.932): 59.19 🔻 ( previous job: 52.81, degradation: 112.07%)

Remaining performance tests:

78 tests
  • debian-13-xfce_exec: 8.36 🔻 ( previous job: 7.85, degradation: 106.38%)
  • debian-13-xfce_exec-root: 28.27 🔻 ( previous job: 26.74, degradation: 105.73%)
  • debian-13-xfce_socket: 8.94 🔻 ( previous job: 8.37, degradation: 106.83%)
  • debian-13-xfce_socket-root: 9.23 🔻 ( previous job: 9.13, degradation: 101.10%)
  • debian-13-xfce_exec-data-duplex: 67.13 🔻 ( previous job: 62.45, degradation: 107.50%)
  • debian-13-xfce_socket-data-duplex: 85.06 🟢 ( previous job: 85.67, improvement: 99.30%)
  • fedora-43-xfce_exec: 9.30 🔻 ( previous job: 9.10, degradation: 102.12%)
  • fedora-43-xfce_exec-root: 69.93 🔻 ( previous job: 69.86, degradation: 100.11%)
  • fedora-43-xfce_socket: 9.13 🔻 ( previous job: 8.52, degradation: 107.23%)
  • fedora-43-xfce_exec-data-duplex: 72.20 🔻 ( previous job: 68.31, degradation: 105.69%)
  • fedora-43-xfce_socket-data-duplex: 80.79 🟢 ( previous job: 91.81, improvement: 88.00%)
  • whonix-gateway-18_exec: 8.55 🔻 ( previous job: 8.01, degradation: 106.79%)
  • whonix-gateway-18_socket: 8.93 🔻 ( previous job: 8.63, degradation: 103.51%)
  • whonix-gateway-18_socket-root: 9.00 🔻 ( previous job: 8.37, degradation: 107.57%)
  • whonix-gateway-18_exec-data-simplex: 66.05 🔻 ( previous job: 62.50, degradation: 105.67%)
  • whonix-gateway-18_exec-data-duplex: 66.69 🟢 ( previous job: 68.01, improvement: 98.05%)
  • whonix-workstation-18_exec: 7.97 🟢 ( previous job: 8.14, improvement: 97.95%)
  • whonix-workstation-18_socket-root: 9.05 🔻 ( previous job: 8.87, degradation: 102.08%)
  • whonix-workstation-18_exec-data-simplex: 66.30 🟢 ( previous job: 66.36, improvement: 99.91%)
  • whonix-workstation-18_exec-data-duplex: 71.08 🔻 ( previous job: 65.56, degradation: 108.43%)
  • whonix-workstation-18_socket-data-duplex: 97.67 🔻 ( previous job: 92.97, degradation: 105.06%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 481661.00 🟢 ( previous job: 388793.00, improvement: 123.89%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 261751.00 🟢 ( previous job: 119690.00, improvement: 218.69%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 433295.00 🟢 ( previous job: 245223.00, improvement: 176.69%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 189228.00 🔻 ( previous job: 199974.00, degradation: 94.63%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 105725.00 🟢 ( previous job: 13948.00, improvement: 757.99%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 7918.00 🟢 ( previous job: 6899.00, improvement: 114.77%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 4659.00 🔻 ( previous job: 5055.00, degradation: 92.17%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 505581.00 🟢 ( previous job: 429040.00, improvement: 117.84%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 355449.00 🟢 ( previous job: 257066.00, improvement: 138.27%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 401907.00 🔻 ( previous job: 446202.00, degradation: 90.07%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 101702.00 🔻 ( previous job: 102155.00, degradation: 99.56%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 8729.00 🟢 ( previous job: 8179.00, improvement: 106.72%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 5178.00 🟢 ( previous job: 4404.00, improvement: 117.57%)
  • fedora-43-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 376373.00 🔻 ( previous job: 415113.00, degradation: 90.67%)
  • fedora-43-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 187604.00 🟢 ( previous job: 138144.00, improvement: 135.80%)
  • fedora-43-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 334154.00 🟢 ( previous job: 310781.00, improvement: 107.52%)
  • fedora-43-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 86438.00 🔻 ( previous job: 90877.00, degradation: 95.12%)
  • fedora-43-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 1571.00 🟢 ( previous job: 1519.00, improvement: 103.42%)
  • fedora-43-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 579.00 🟢 ( previous job: 262.00, improvement: 220.99%)
  • fedora-43-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 351399.00 🔻 ( previous job: 355690.00, degradation: 98.79%)
  • fedora-43-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 128585.00 🔻 ( previous job: 130275.00, degradation: 98.70%)
  • fedora-43-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 345950.00 🟢 ( previous job: 294295.00, improvement: 117.55%)
  • fedora-43-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 79384.00 🔻 ( previous job: 81357.00, degradation: 97.57%)
  • fedora-43-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 126676.00 🟢 ( previous job: 95037.00, improvement: 133.29%)
  • fedora-43-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 342336.00 🟢 ( previous job: 202428.00, improvement: 169.11%)
  • fedora-43-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 24721.00 🔻 ( previous job: 26016.00, degradation: 95.02%)
  • fedora-43-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 2316.00 🟢 ( previous job: 1720.00, improvement: 134.65%)
  • fedora-43-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 630.00 🟢 ( previous job: 548.00, improvement: 114.96%)
  • debian-13-xfce_dom0-dispvm-api (mean:6.758): 81.09 🔻 ( previous job: 74.50, degradation: 108.86%)
  • debian-13-xfce_dom0-dispvm-gui-api (mean:8.089): 97.07 🔻 ( previous job: 93.50, degradation: 103.82%)
  • debian-13-xfce_dom0-dispvm-preload-2-api (mean:3.438): 41.26 🔻 ( previous job: 37.79, degradation: 109.18%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.062): 36.74 🔻 ( previous job: 34.29, degradation: 107.14%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:3.367): 40.41 🔻 ( previous job: 38.52, degradation: 104.90%)
  • debian-13-xfce_dom0-dispvm-preload-4-api (mean:2.75): 33.01 🔻 ( previous job: 30.73, degradation: 107.39%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.474): 29.69 🔻 ( previous job: 29.50, degradation: 100.65%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:2.538): 30.46 🔻 ( previous job: 28.74, degradation: 105.97%)
  • debian-13-xfce_dom0-dispvm-preload-2-gui-api (mean:4.788): 57.46 🔻 ( previous job: 53.65, degradation: 107.10%)
  • debian-13-xfce_dom0-dispvm-preload-4-gui-api (mean:3.682): 44.18 🟢 ( previous job: 44.40, improvement: 99.51%)
  • debian-13-xfce_dom0-dispvm-preload-6-gui-api (mean:3.274): 39.29 🟢 ( previous job: 41.47, improvement: 94.74%)
  • debian-13-xfce_dom0-vm-api (mean:0.032): 0.38 🟢 ( previous job: 0.62, improvement: 61.13%)
  • fedora-43-xfce_dom0-dispvm-api (mean:8.011): 96.14 🔻 ( previous job: 89.33, degradation: 107.62%)
  • fedora-43-xfce_dom0-dispvm-preload-2-api (mean:3.706): 44.47 🔻 ( previous job: 44.03, degradation: 101.00%)
  • fedora-43-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:4.174): 50.08 🔻 ( previous job: 46.26, degradation: 108.27%)
  • fedora-43-xfce_dom0-dispvm-preload-4-api (mean:3.102): 37.22 🔻 ( previous job: 36.18, degradation: 102.86%)
  • fedora-43-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.782): 33.38 🟢 ( previous job: 36.15, improvement: 92.34%)
  • fedora-43-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.107): 37.29 🔻 ( previous job: 36.13, degradation: 103.20%)
  • fedora-43-xfce_dom0-dispvm-preload-2-gui-api (mean:5.309): 63.70 🟢 ( previous job: 63.91, improvement: 99.67%)
  • fedora-43-xfce_dom0-dispvm-preload-4-gui-api (mean:4.073): 48.87 🟢 ( previous job: 52.06, improvement: 93.88%)
  • fedora-43-xfce_dom0-dispvm-preload-6-gui-api (mean:3.515): 42.18 🟢 ( previous job: 46.35, improvement: 90.99%)
  • fedora-43-xfce_dom0-vm-api (mean:0.027): 0.32 🟢 ( previous job: 0.47, improvement: 69.03%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:4.697): 56.37 🟢 ( previous job: 59.22, improvement: 95.19%)
  • whonix-workstation-18_dom0-dispvm-preload-4-api (mean:3.448): 41.37 🔻 ( previous job: 38.29, degradation: 108.05%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-0-api (mean:3.4): 40.80 🟢 ( previous job: 43.23, improvement: 94.36%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.59): 43.08 🔻 ( previous job: 42.67, degradation: 100.97%)
  • whonix-workstation-18_dom0-dispvm-preload-6-gui-api (mean:4.151): 49.81 🟢 ( previous job: 50.72, improvement: 98.21%)
  • whonix-workstation-18_dom0-vm-api (mean:0.031): 0.38 🟢 ( previous job: 0.43, improvement: 87.07%)
  • whonix-workstation-18_dom0-vm-gui-api (mean:0.04): 0.48 🟢 ( previous job: 0.56, improvement: 85.97%)

@marmarek

marmarek commented May 7, 2026

Copy link
Copy Markdown
Member

I have some doubts about safety of this - if a qube leaves device in a weird state that would try to attack sys-usb. Here, the hope is device reset (like, re-plug) would restore it to a good state, but before that it would remain attached to usbip driver (that does nothing if device is not attached to any qube). But that's really a wishful thinking, no proof of that really helping. And device with persistent memory (like updateable firmware) could still perform an attack like this. And maybe even a compromised device could simulate re-plug event itself (to get attached to the default driver).
What do you think?
@HW42 maybe you have some opinion?

@piotrbartman

Copy link
Copy Markdown
Member Author

I see a problem. Yes, it's some attack surface on sys-usb. In such a case, however, we need to specify what exactly the user should expect. Currently, we have:

USB stick plugged in -> partition exposed from sys-usb
USB stick attach to VM1 -> partition exposed from VM1
USB stick detach -> no partition exposed (confusion)
USB stick attach to VM2 -> partition exposed from VM2 (more confusion)
USB stick detach -> no partition exposed

VM2 is less protected than sys-usb.

I think we should choose one of the following:
(a) it should not be possible to connect the device to VM2 without hard reset, or
(b) it should be possible to expose the partition from sys-usb without a hard reset.

@marmarek

Copy link
Copy Markdown
Member

I have two ideas of a middle ground solution:

  • reset the device explicitly on detach (we have usb-reset script already)
  • reattach only to popular drivers, like usb-storage, or uvcvideo

The second one is mostly heuristic, based on assumption that popular drivers are better reviewed/tested and more resilient against malicious hardware. But maybe first one is good enough already? (still depends on how much device cooperates, but all of this has this caveat...)

minimize chance of device persistent state attack
@HW42

HW42 commented May 27, 2026

Copy link
Copy Markdown

I have some doubts about safety of this

While this kind of was my first reaction too, I'm not sure there's really a realistic scenario where it helps.

if a qube leaves device in a weird state that would try to attack sys-usb. Here, the hope is device reset (like, re-plug) would restore it to a good state, but before that it would remain attached to usbip driver (that does nothing if device is not attached to any qube). But that's really a wishful thinking, no proof of that really helping. And device with persistent memory (like updateable firmware) could still perform an attack like this. And maybe even a compromised device could simulate re-plug event itself (to get attached to the default driver).

It depends on what you mean by weird state.

If this doesn't involve code execution on the USB device then it seems realistic that the attacker can not trigger a reconnect. But in this case I don't think it's that likely that they would be able to use that state to attack sys-usb, probably the device would just be in some semi-broken state.

If the attacker gets code execution (even without writable firmware), then most likely they can trigger a reconnect from the device (obviously depends on the specific hardware, but I think this is common). So here this doesn't help anyway.

Based on this I think the usability argument, seems reasonable.

In general for such usage having a minimal/locked-down sys-usb would be great, but that's another topic.

@HW42

HW42 commented May 27, 2026

Copy link
Copy Markdown

In case you want to play around with it here a little demo using a Raspbery Pi Pico: reset-test-v2.tar.gz

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.

4 participants