Skip to content

Conversation

@ben-grande
Copy link
Contributor

The 'gui' feature is not passed via QubesDB to the qube, if it was, only one service would be necessary.

For: QubesOS/qubes-issues#1512


This makes the handler for domain-start simpler, besides not having to sleep if there is no GUI for a qube.

@codecov
Copy link

codecov bot commented May 9, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 70.68%. Comparing base (4fb6c15) to head (f9a21b6).
Report is 15 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #571      +/-   ##
==========================================
- Coverage   71.10%   70.68%   -0.42%     
==========================================
  Files           3        3              
  Lines         481      481              
==========================================
- Hits          342      340       -2     
- Misses        139      141       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@qubesos-bot
Copy link

qubesos-bot commented May 17, 2025

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025060710-4.3&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=2025031804-4.3&flavor=update

  • system_tests_splitgpg

  • system_tests_extra

  • system_tests_network_updates

    • TC_00_Dom0Upgrade_whonix-gateway-17: test_001_update_check (failure)
      ^... AssertionError: '' is not true
  • system_tests_devices

    • TC_00_List_whonix-workstation-17: test_011_list_dm_mounted (failure)
      AssertionError: 'test-dm' == 'test-dm' : Device test-inst-vm:dm-0::...
  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

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

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

  • system_tests_qwt_win10@hw13

    • windows_install: Failed (test died)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...
  • system_tests_guivm_vnc_gui_interactive

    • clipboard_and_web: unnamed test (unknown)
    • clipboard_and_web: Failed (test died)
      # Test died: no candidate needle with tag(s) 'personal-firefox' mat...

Failed tests

18 failures
  • system_tests_splitgpg

  • system_tests_extra

  • system_tests_network_updates

    • TC_00_Dom0Upgrade_whonix-gateway-17: test_001_update_check (failure)
      ^... AssertionError: '' is not true
  • system_tests_devices

    • TC_00_List_whonix-workstation-17: test_011_list_dm_mounted (failure)
      AssertionError: 'test-dm' == 'test-dm' : Device test-inst-vm:dm-0::...
  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

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

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

  • system_tests_qwt_win10@hw13

    • windows_install: Failed (test died)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...
  • system_tests_guivm_vnc_gui_interactive

    • clipboard_and_web: unnamed test (unknown)
    • clipboard_and_web: Failed (test died)
      # Test died: no candidate needle with tag(s) 'personal-firefox' mat...

Fixed failures

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

14 fixed
  • system_tests_basic_vm_qrexec_gui

  • system_tests_qrexec

  • system_tests_kde_gui_interactive

    • clipboard_and_web: unnamed test (unknown)

    • clipboard_and_web: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qubes-website' matche...

    • clipboard_and_web: wait_serial (wait serial expected)
      # wait_serial expected: "lspci; echo 2E8vz-\$?-"...

  • system_tests_audio

  • system_tests_whonix@hw7

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

    • whonixcheck: unnamed test (unknown)

  • system_tests_guivm_vnc_gui_interactive

    • gui_filecopy: unnamed test (unknown)
    • gui_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'files-work' matched...
  • system_tests_suspend

    • suspend: unnamed test (unknown)
    • suspend: Failed (test died)
      # Test died: no candidate needle with tag(s) 'SUSPEND-FAILED' match...
  • system_tests_whonix

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

    • whonixcheck: unnamed test (unknown)

Unstable tests

Performance Tests

Performance degradation:

16 performance degradations
  • debian-12-xfce_exec: 8.41 🔺 ( previous job: 7.12, degradation: 118.09%)
  • whonix-gateway-17_socket: 8.09 🔺 ( previous job: 7.24, degradation: 111.77%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 334901.00 :small_red_triangle: ( previous job: 446963.00, degradation: 74.93%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 123445.00 :small_red_triangle: ( previous job: 294295.00, degradation: 41.95%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 46957.00 :small_red_triangle: ( previous job: 95454.00, degradation: 49.19%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 23101.00 :small_red_triangle: ( previous job: 79803.00, degradation: 28.95%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 1985.00 :small_red_triangle: ( previous job: 6149.00, degradation: 32.28%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 1275.00 :small_red_triangle: ( previous job: 4826.00, degradation: 26.42%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 97901.00 :small_red_triangle: ( previous job: 250795.00, degradation: 39.04%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 3437.00 :small_red_triangle: ( previous job: 4903.00, degradation: 70.10%)
  • fedora-41-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 47025.00 :small_red_triangle: ( previous job: 87940.00, degradation: 53.47%)
  • fedora-41-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 540.00 :small_red_triangle: ( previous job: 1130.00, degradation: 47.79%)
  • fedora-41-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 66451.00 :small_red_triangle: ( previous job: 179949.00, degradation: 36.93%)
  • fedora-41-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 252851.00 :small_red_triangle: ( previous job: 324737.00, degradation: 77.86%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 3430.00 :small_red_triangle: ( previous job: 5672.00, degradation: 60.47%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 1346.00 :small_red_triangle: ( previous job: 1953.00, degradation: 68.92%)

Remaining performance tests:

56 tests
  • debian-12-xfce_exec-root: 29.20 🔺 ( previous job: 28.65, degradation: 101.89%)
  • debian-12-xfce_socket: 8.69 🔺 ( previous job: 8.60, degradation: 101.04%)
  • debian-12-xfce_socket-root: 8.45 🟢 ( previous job: 8.52, improvement: 99.15%)
  • debian-12-xfce_exec-data-simplex: 73.49 🔺 ( previous job: 71.62, degradation: 102.60%)
  • debian-12-xfce_exec-data-duplex: 72.97 🔺 ( previous job: 70.34, degradation: 103.74%)
  • debian-12-xfce_exec-data-duplex-root: 69.14 🟢 ( previous job: 82.72, improvement: 83.58%)
  • debian-12-xfce_socket-data-duplex: 139.09 🟢 ( previous job: 156.96, improvement: 88.62%)
  • fedora-41-xfce_exec: 9.32 🔺 ( previous job: 9.27, degradation: 100.58%)
  • fedora-41-xfce_exec-root: 61.39 🟢 ( previous job: 61.51, improvement: 99.81%)
  • fedora-41-xfce_socket: 9.07 🔺 ( previous job: 8.63, degradation: 105.08%)
  • fedora-41-xfce_socket-root: 8.55 🟢 ( previous job: 8.71, improvement: 98.24%)
  • fedora-41-xfce_exec-data-simplex: 73.13 🟢 ( previous job: 75.53, improvement: 96.82%)
  • fedora-41-xfce_exec-data-duplex: 77.13 🔺 ( previous job: 71.56, degradation: 107.79%)
  • fedora-41-xfce_exec-data-duplex-root: 94.75 🟢 ( previous job: 109.13, improvement: 86.82%)
  • fedora-41-xfce_socket-data-duplex: 139.07 🟢 ( previous job: 150.61, improvement: 92.34%)
  • whonix-gateway-17_exec: 7.23 🔺 ( previous job: 6.82, degradation: 106.02%)
  • whonix-gateway-17_exec-root: 38.97 🟢 ( previous job: 40.43, improvement: 96.38%)
  • whonix-gateway-17_socket-root: 7.56 🟢 ( previous job: 7.65, improvement: 98.82%)
  • whonix-gateway-17_exec-data-simplex: 72.95 🟢 ( previous job: 78.32, improvement: 93.14%)
  • whonix-gateway-17_exec-data-duplex: 76.55 🟢 ( previous job: 76.65, improvement: 99.87%)
  • whonix-gateway-17_exec-data-duplex-root: 76.19 🟢 ( previous job: 88.52, improvement: 86.07%)
  • whonix-gateway-17_socket-data-duplex: 170.15 🟢 ( previous job: 171.76, improvement: 99.06%)
  • whonix-workstation-17_exec: 8.32 🔺 ( previous job: 7.67, degradation: 108.50%)
  • whonix-workstation-17_exec-root: 52.73 🟢 ( previous job: 58.26, improvement: 90.50%)
  • whonix-workstation-17_socket: 8.15 🟢 ( previous job: 8.19, improvement: 99.49%)
  • whonix-workstation-17_socket-root: 8.87 🔺 ( previous job: 8.13, degradation: 109.13%)
  • whonix-workstation-17_exec-data-simplex: 78.01 🔺 ( previous job: 74.99, degradation: 104.02%)
  • whonix-workstation-17_exec-data-duplex: 73.89 🔺 ( previous job: 72.71, degradation: 101.63%)
  • whonix-workstation-17_exec-data-duplex-root: 102.57 🔺 ( previous job: 99.82, degradation: 102.76%)
  • whonix-workstation-17_socket-data-duplex: 141.17 🟢 ( previous job: 169.50, improvement: 83.28%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 215623.00 :green_circle: ( previous job: 129298.00, improvement: 166.76%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 10560.00 :small_red_triangle: ( previous job: 10795.00, degradation: 97.82%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 501951.00 :green_circle: ( previous job: 382273.00, improvement: 131.31%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 437453.00 :small_red_triangle: ( previous job: 437636.00, degradation: 99.96%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 171688.00 :small_red_triangle: ( previous job: 184752.00, degradation: 92.93%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 106050.00 :green_circle: ( previous job: 62195.00, improvement: 170.51%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 8788.00 :green_circle: ( previous job: 6479.00, improvement: 135.64%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 8264.00 :green_circle: ( previous job: 7669.00, improvement: 107.76%)
  • fedora-41-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 411367.00 :green_circle: ( previous job: 368309.00, improvement: 111.69%)
  • fedora-41-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 188031.00 :green_circle: ( previous job: 162081.00, improvement: 116.01%)
  • fedora-41-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 296207.00 :small_red_triangle: ( previous job: 318716.00, degradation: 92.94%)
  • fedora-41-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 87855.00 :green_circle: ( previous job: 82694.00, improvement: 106.24%)
  • fedora-41-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 3267.00 :small_red_triangle: ( previous job: 3599.00, degradation: 90.78%)
  • fedora-41-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 7977.00 :small_red_triangle: ( previous job: 8485.00, degradation: 94.01%)
  • fedora-41-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 1571.00 :green_circle: ( previous job: 542.00, improvement: 289.85%)
  • fedora-41-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 358978.00 :small_red_triangle: ( previous job: 373957.00, degradation: 95.99%)
  • fedora-41-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 189376.00 :green_circle: ( previous job: 170062.00, improvement: 111.36%)
  • fedora-41-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 330572.00 :small_red_triangle: ( previous job: 334687.00, degradation: 98.77%)
  • fedora-41-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 65840.00 :green_circle: ( previous job: 61534.00, improvement: 107.00%)
  • fedora-41-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 83433.00 :green_circle: ( previous job: 80283.00, improvement: 103.92%)
  • fedora-41-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 3240.00 :green_circle: ( previous job: 2215.00, improvement: 146.28%)
  • fedora-41-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 8734.00 :green_circle: ( previous job: 7540.00, improvement: 115.84%)
  • fedora-41-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 376914.00 :green_circle: ( previous job: 369868.00, improvement: 101.91%)
  • fedora-41-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 142636.00 :green_circle: ( previous job: 17567.00, improvement: 811.95%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 76530.00 :small_red_triangle: ( previous job: 79021.00, degradation: 96.85%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7764.00 :small_red_triangle: ( previous job: 7867.00, degradation: 98.69%)

done
set -eu

if qubesdb-read -q /qubes-gui-domain-xid >/dev/null; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That isn't a good idea, it will also happen if GUI domain is started later. Adding -w option (to wait for the value) would help, but would also defeat the purpose of this condition. I don't think there is an easy way to distinguish the "no gui" from the "gui domain not started yet" case from within a VM. Maybe there should be a separate qubesdb entry for this info?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe there should be a separate qubesdb entry for this info?

Yeah, didn't think of the case of GUIVM not being started yet... a separate qubesdb entry makes sense as it could cover the guivm property and the gui feature.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using db entry /qubes-gui-enabled, now it depends on QubesOS/qubes-core-admin#660

The 'gui' feature is not passed via QubesDB to the qube, if it was, only
one service would be necessary.

For: QubesOS/qubes-issues#1512
@marmarek marmarek merged commit 8a5e873 into QubesOS:main Jun 7, 2025
3 of 5 checks passed
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