Skip to content

validate env limits in qfile-dom0-unpacker#209

Open
rishi-jat wants to merge 3 commits into
QubesOS:mainfrom
rishi-jat:fix-validate-env-limits
Open

validate env limits in qfile-dom0-unpacker#209
rishi-jat wants to merge 3 commits into
QubesOS:mainfrom
rishi-jat:fix-validate-env-limits

Conversation

@rishi-jat

@rishi-jat rishi-jat commented Apr 26, 2026

Copy link
Copy Markdown

Summary

This change fixes unsafe parsing of UPDATES_MAX_BYTES and UPDATES_MAX_FILES in qfile-dom0-unpacker.

The current implementation uses atoll(), which silently returns 0 on invalid input. Since 0 is interpreted as “no limit”, malformed or unintended values (e.g., non-numeric strings) can effectively disable limits without any error. In the context of copying data into dom0, this results in a fail-open behavior and weakens expected safeguards.

This patch replaces atoll() with strtoll() and adds strict validation. The parsing now:

  • rejects non-numeric and malformed inputs
  • rejects partial parses (e.g., trailing characters)
  • rejects overflow conditions (ERANGE)
  • rejects negative values
  • accepts 0 only when explicitly provided as "0"

Any invalid input results in an error message and immediate exit, enforcing fail-closed semantics.

This ensures that user misconfiguration cannot silently remove limits and aligns the behavior with the expectation that invalid input must not degrade safety guarantees.

Fixes QubesOS/qubes-issues#8882

Copilot AI review requested due to automatic review settings April 26, 2026 06:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR hardens parsing of UPDATES_MAX_BYTES and UPDATES_MAX_FILES in qfile-dom0-unpacker to avoid fail-open behavior when environment variables are malformed, enforcing fail-closed semantics.

Changes:

  • Introduces parse_limit_env() using strtoll() with strict validation (full parse, no overflow, no negatives).
  • Ensures invalid environment values cause an error message and immediate exit.
  • Replaces atoll()-based parsing with the new validated parser for both limits.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov-commenter

codecov-commenter commented Apr 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.74%. Comparing base (497d467) to head (3cc072c).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #209      +/-   ##
==========================================
+ Coverage   71.72%   71.74%   +0.02%     
==========================================
  Files          12       12              
  Lines        1337     1338       +1     
==========================================
+ Hits          959      960       +1     
  Misses        378      378              

☔ View full report in Codecov by Harness.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@rishi-jat

Copy link
Copy Markdown
Author

/cc @ben-grande

@DemiMarie

Copy link
Copy Markdown
Contributor

@rishi-jat If this was assisted by AI you need to mention that it was. See the Qubes OS documentation.

(no longer a team member, but familiar with this rule)

@ben-grande

Copy link
Copy Markdown
Contributor

I am no C expert, I just tested the code. Error messages should contain the reason of the failure, to be able to differentiate amongst them. The last if statement seems to be never reached as errors fall under the previous conditions, but it might be ok to keep it.

@qubesos-bot

qubesos-bot commented Apr 29, 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=2026061619-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_network

  • system_tests_guivm_gui_interactive

  • system_tests_usbproxy

    • TC_20_USBProxy_core3_debian-13-xfce: test_030_detach (error)
      qubesusbproxy.core3ext.QubesUSBException: Device detach failed: 20...
  • system_tests_dispvm

    • TC_20_DispVM_debian-13-xfce: test_090_edit_file (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_audio

  • system_tests_basic_vm_qrexec_gui_btrfs

    • TC_20_NonAudio_fedora-43-xfce-pool: test_000_start_shutdown (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • 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) 'vm-settings-ok' match...

Failed tests

16 failures
  • system_tests_whonix

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

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

  • system_tests_network

  • system_tests_guivm_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • [unstable] guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools-subm...
  • system_tests_usbproxy

    • TC_20_USBProxy_core3_debian-13-xfce: test_030_detach (error)
      qubesusbproxy.core3ext.QubesUSBException: Device detach failed: 20...

    • [unstable] 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_updates

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

    • TC_20_DispVM_debian-13-xfce: test_090_edit_file (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_guivm_vnc_gui_interactive

    • [unstable] update_guivm: Failed (test died)
      # Test died: command '(set -o pipefail; qubesctl --all --show-outpu...
  • system_tests_audio

  • system_tests_basic_vm_qrexec_gui_btrfs

    • TC_20_NonAudio_fedora-43-xfce-pool: test_000_start_shutdown (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • 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) 'vm-settings-ok' match...

Fixed failures

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

30 fixed
  • system_tests_pvgrub_salt_storage

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

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

    • 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

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

    • 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: wait_serial (wait serial expected)
      # wait_serial expected: qr/h3uXO-\d+-/...
  • 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_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' ...

Unstable tests

Details
  • system_tests_whonix

    whonixcheck/Failed (1/5 times with errors)
    • job 182677 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/Failed (2/5 times with errors)
    • job 181249 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    • job 182411 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/fail (2/5 times with errors)
    whonixcheck/fail (1/5 times with errors)
    whonixcheck/fail (2/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 (3/5 times with errors)
    • job 179097 # Test died: command '! qvm-check sys-usb || qvm-run -p sys-usb tru...
    • 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 (3/5 times with errors)
    • job 179097 # Command: ! qvm-check sys-usb || qvm-run -p sys-usb true...
    • 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 (3/5 times with errors)
    • job 179097 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...
    • 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 181256 Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...
    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 181256 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    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...
    TC_20_NonAudio_fedora-43-xfce/test_401_long_window_title_utf8 (1/5 times with errors)
    • job 181256 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_network

    system_tests/Fail (4/5 times with errors)
    • job 181267 Tests qubes.tests.integ.network failed (exit code 1), details repor...
    • 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...
    system_tests/Failed (2/5 times with errors)
    • job 181267 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 183756 # 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 (1/5 times with errors)
    • job 182706 ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 125 != 0
    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 (3/5 times with errors)
    • job 181267 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • 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 (3/5 times with errors)
    • job 181267 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182440 ^^^^^^^^^^... AssertionError
    • job 182706 ^^^^^^^^^^... AssertionError
  • system_tests_pvgrub_salt_storage

    system_tests/Fail (3/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...
    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...
    TC_41_HVMGrub_debian-13-xfce/test_000_standalone_vm (1/5 times with errors)
    • job 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_fedora-43-xfce/test_000_standalone_vm (1/5 times with errors)
    • job 182709 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_41_HVMGrub_debian-13-xfce/test_001_standalone_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...
    TC_41_HVMGrub_debian-13-xfce/test_010_template_based_vm (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...
    TC_41_HVMGrub_fedora-43-xfce/test_010_template_based_vm (1/5 times with errors)
    • job 182709 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_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 (3/5 times with errors)
    • job 181263 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    • 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 (3/5 times with errors)
    • job 181263 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • 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_20_Evolution_fedora-43-xfce/test_000_send_receive_signed_encrypted (1/5 times with errors)
    • job 181263 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    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-43-xfce/test_004_cancel_stops_conversion (1/5 times with errors)
    • job 181263 AssertionError: DispVM not cleaned up 10s after cancel: {<DispVM at...
    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']
    TC_20_Evolution_fedora-43-xfce/test_010_send_receive_signed_only (1/5 times with errors)
    • job 181263 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_10_Thunderbird_fedora-43-xfce/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 181263 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_gui_interactive

    screenlocker_lock/ (1/5 times with errors)
    screenlocker_lock/Failed (1/5 times with errors)
    • job 181264 # Test died: no candidate needle with tag(s) 'screenlocker-blank' m...
  • 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_usbproxy

    system_tests/Fail (2/5 times with errors)
    • job 181248 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    • job 182676 Tests qubes.tests.extra failed (exit code 1), details reported sepa...
    system_tests/Failed (2/5 times with errors)
    • job 181248 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 182676 # 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 181248 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_USBProxy_core3_fedora-43-xfce/test_000_list (1/5 times with errors)
    • job 181248 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    TC_20_USBProxy_core3_fedora-43-xfce/test_080_attach_existing_policy (1/5 times with errors)
    • job 181248 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 182676 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 (2/5 times with errors)
    • job 181268 Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...
    • job 182441 Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...
    system_tests/Failed (2/5 times with errors)
    • job 181268 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • job 182441 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    VmIPv6Networking_fedora-43-xfce/test_001_simple_networking_paused_restart_netvm (1/5 times with errors)
    • job 181268 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    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 (2/5 times with errors)
    • job 181268 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182441 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    VmIPv6Networking_fedora-43-xfce/test_113_reattach_after_provider_kill (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_114_reattach_after_provider_crash (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_200_fake_ip_simple (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_201_fake_ip_without_gw (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_202_fake_ip_firewall (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_203_fake_ip_inter_vm_allow (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_204_fake_ip_proxy (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_210_custom_ip_simple (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_211_custom_ip_proxy (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_212_custom_ip_firewall (2/5 times with errors)
    • job 181268 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182441 ^^^^^^^^^^... AssertionError
    VmIPv6Networking_fedora-43-xfce/test_500_ipv6_simple_networking (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_change_purge_old (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_change_shutdown_old (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_from_existent_to_none (2/5 times with errors)
    VmIPv6Networking_debian-13-xfce/test_501_simple_networking_paused_from_none_to_existent (1/5 times with errors)
    • job 181268 subprocess.CalledProcessError: Command 'qubes.WaitForNetworkUplink'...
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_from_none_to_existent (2/5 times with errors)
    • job 181268 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182441 ^^^^^^^^^^... AssertionError
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_restart_netvm (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_501_simple_networking_paused_shutdown_netvm (2/5 times with errors)
    • job 181268 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182441 ^^^^^^^^^^... AssertionError
    VmIPv6Networking_fedora-43-xfce/test_510_ipv6_simple_proxyvm (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_520_ipv6_simple_proxyvm_nm (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_530_ipv6_firewallvm_firewall (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_540_ipv6_inter_vm (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_550_ipv6_spoof_ip (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_710_ipv6_custom_ip_simple (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_711_ipv6_custom_ip_proxy (2/5 times with errors)
    VmIPv6Networking_fedora-43-xfce/test_712_ipv6_custom_ip_firewall (2/5 times with errors)
  • system_tests_network_updates

    system_tests/Fail (1/5 times with errors)
    • job 181269 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    system_tests/Failed (1/5 times with errors)
    • job 181269 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_11_QvmTemplateMgmtVM_fedora-43-xfce/test_000_template_list (1/5 times with errors)
    • job 181269 AssertionError: qvm-template failed: [Qrexec] ERROR: dnf command is...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_010_instal (1/5 times with errors)
    • job 181269 subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...
  • system_tests_dispvm

    system_tests/Fail (4/5 times with errors)
    • job 181262 Tests qubes.tests.integ.dispvm failed (exit code 1), details report...
    • 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 (4/5 times with errors)
    • job 181262 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • 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 (3/5 times with errors)
    • job 181262 subprocess.CalledProcessError: Command 'cat > /etc/thunderbird/pref...
    • 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/wait_serial (1/5 times with errors)
    • job 181262 # Command: curl --form upload=@/var/log/libvirt/libxl/libxl-driver....
  • 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/Failed (1/5 times with errors)
    • job 182415 # Test died: command 'qvm-shutdown --wait work' failed at /usr/lib/...
    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_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...
    update_guivm/Failed (1/5 times with errors)
    • job 183515 # Test died: command '(set -o pipefail; qubesctl --all --show-outpu...
  • system_tests_audio

    system_tests/Failed (2/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...
    system_tests/Failed (3/5 times with errors)
    • job 181250 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • 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-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_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 181250 AssertionError: too short audio, expected 10s, got 6.18662131519274...
    • 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...
    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_fedora-43-xfce/test_251_audio_playback_audiovm_pipewire_late_start (1/5 times with errors)
    • job 181250 AssertionError: too short audio, expected 10s, got 9.35857142857142...
    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 181250 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182414 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 (2/5 times with errors)
    • job 181250 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183510 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 181250 AssertionError: pacat for test-inst-vm1 (xid 50) running(False) in ...
    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 (2/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...
    system_tests/Failed (3/5 times with errors)
    • job 181250 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    • 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-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_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 181250 AssertionError: too short audio, expected 10s, got 6.18662131519274...
    • 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...
    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_fedora-43-xfce/test_251_audio_playback_audiovm_pipewire_late_start (1/5 times with errors)
    • job 181250 AssertionError: too short audio, expected 10s, got 9.35857142857142...
    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 181250 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 182414 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 (2/5 times with errors)
    • job 181250 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 183510 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 181250 AssertionError: pacat for test-inst-vm1 (xid 50) running(False) in ...
    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 (1/5 times with errors)
    • job 182677 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/Failed (2/5 times with errors)
    • job 181249 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    • job 182411 # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...
    whonixcheck/fail (2/5 times with errors)
    whonixcheck/fail (1/5 times with errors)
    whonixcheck/fail (2/5 times with errors)
  • system_tests_basic_vm_qrexec_gui_btrfs

    system_tests/ (1/5 times with errors)
    system_tests/Fail (1/5 times with errors)
    • job 182430 Tests qubes.tests.integ.basic failed (exit code 1), details reporte...
    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/Failed (1/5 times with errors)
    • job 182430 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_Basic/test_210_bootmode_template (1/5 times with errors)
    • job 182430 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • 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 (2/5 times with errors)
    • job 182432 # Test died: command 'qvm-start sys-firewall sys-usb' failed at /us...
    • 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_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 (3/5 times with errors)
    • job 179097 # Test died: command '! qvm-check sys-usb || qvm-run -p sys-usb tru...
    • 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 (3/5 times with errors)
    • job 179097 # Command: ! qvm-check sys-usb || qvm-run -p sys-usb true...
    • 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 (3/5 times with errors)
    • job 179097 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...
    • job 179101 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...
    • job 179957 # wait_serial expected: "lspci; echo 2E8vz-\$?-"...
  • system_tests_gui_interactive@hw7

    screenlocker_lock/ (1/5 times with errors)
    screenlocker_lock/Failed (1/5 times with errors)
    • job 181264 # Test died: no candidate needle with tag(s) 'screenlocker-blank' m...
  • 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 181256 Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...
    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 181256 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    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...
    TC_20_NonAudio_fedora-43-xfce/test_401_long_window_title_utf8 (1/5 times with errors)
    • job 181256 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

Performance Tests

Performance degradation:

29 performance degradations
  • debian-13-xfce_socket-data-duplex: 94.24 🔻 ( previous job: 85.67, degradation: 110.02%)
  • fedora-43-xfce_exec-data-simplex: 66.94 🔻 ( previous job: 60.82, degradation: 110.06%)
  • whonix-gateway-18_socket-root: 9.53 🔻 ( previous job: 8.37, degradation: 113.86%)
  • whonix-gateway-18_socket-data-duplex: 116.16 🔻 ( previous job: 90.03, degradation: 129.02%)
  • whonix-workstation-18_socket: 9.26 🔻 ( previous job: 7.66, degradation: 120.86%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 4783.00 🔻 ( previous job: 6899.00, degradation: 69.33%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 6555.00 🔻 ( previous job: 8963.00, degradation: 73.13%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 118451.00 🔻 ( previous job: 429040.00, degradation: 27.61%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 234371.00 🔻 ( previous job: 446202.00, degradation: 52.53%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 8657.00 🔻 ( previous job: 10623.00, degradation: 81.49%)
  • fedora-43-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 28664.00 🔻 ( previous job: 78270.00, degradation: 36.62%)
  • fedora-43-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 83280.00 🔻 ( previous job: 130275.00, degradation: 63.93%)
  • fedora-43-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 37858.00 🔻 ( previous job: 71992.00, degradation: 52.59%)
  • fedora-43-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 69858.00 🔻 ( previous job: 81357.00, degradation: 85.87%)
  • fedora-43-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 2475.00 🔻 ( previous job: 3674.00, degradation: 67.37%)
  • fedora-43-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 350.00 🔻 ( previous job: 567.00, degradation: 61.73%)
  • fedora-43-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 70539.00 🔻 ( previous job: 79218.00, degradation: 89.04%)
  • fedora-43-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7016.00 🔻 ( previous job: 8667.00, degradation: 80.95%)
  • fedora-43-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 461.00 🔻 ( previous job: 548.00, degradation: 84.12%)
  • fedora-43-xfce_dom0-dispvm-api (mean:8.511): 102.13 🔻 ( previous job: 89.33, degradation: 114.33%)
  • 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-api (mean:4.089): 49.06 🔻 ( previous job: 44.03, degradation: 111.44%)
  • fedora-43-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.973): 47.68 🔻 ( previous job: 41.41, degradation: 115.13%)
  • fedora-43-xfce_dom0-dispvm-preload-4-api (mean:3.361): 40.33 🔻 ( previous job: 36.18, degradation: 111.47%)
  • fedora-43-xfce_dom0-vm-api (mean:0.045): 0.54 🔻 ( previous job: 0.47, degradation: 116.77%)
  • whonix-workstation-18_dom0-dispvm-api (mean:9.9): 118.80 🔻 ( previous job: 97.14, degradation: 122.30%)
  • whonix-workstation-18_dom0-dispvm-gui-api (mean:12.082): 144.99 🔻 ( previous job: 121.86, degradation: 118.98%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-0-api (mean:4.481): 53.77 🔻 ( previous job: 48.26, degradation: 111.41%)
  • whonix-workstation-18_dom0-dispvm-preload-4-gui-api (mean:4.896): 58.75 🔻 ( previous job: 52.81, degradation: 111.24%)

Remaining performance tests:

82 tests
  • debian-13-xfce_exec: 8.42 🔻 ( previous job: 7.85, degradation: 107.23%)
  • debian-13-xfce_exec-root: 27.45 🔻 ( previous job: 26.74, degradation: 102.63%)
  • debian-13-xfce_socket: 8.55 🔻 ( previous job: 8.37, degradation: 102.16%)
  • debian-13-xfce_socket-root: 9.03 🟢 ( previous job: 9.13, improvement: 98.95%)
  • debian-13-xfce_exec-data-simplex: 58.43 🟢 ( previous job: 63.05, improvement: 92.67%)
  • debian-13-xfce_exec-data-duplex: 66.51 🔻 ( previous job: 62.45, degradation: 106.50%)
  • debian-13-xfce_exec-data-duplex-root: 75.69 🟢 ( previous job: 78.04, improvement: 96.98%)
  • fedora-43-xfce_exec: 9.05 🟢 ( previous job: 9.10, improvement: 99.40%)
  • fedora-43-xfce_exec-root: 70.49 🔻 ( previous job: 69.86, degradation: 100.91%)
  • fedora-43-xfce_socket: 8.74 🔻 ( previous job: 8.52, degradation: 102.63%)
  • fedora-43-xfce_socket-root: 8.74 🔻 ( previous job: 7.96, degradation: 109.91%)
  • fedora-43-xfce_exec-data-duplex: 69.21 🔻 ( previous job: 68.31, degradation: 101.32%)
  • fedora-43-xfce_exec-data-duplex-root: 100.93 🔻 ( previous job: 98.74, degradation: 102.22%)
  • fedora-43-xfce_socket-data-duplex: 94.72 🔻 ( previous job: 91.81, degradation: 103.17%)
  • whonix-gateway-18_exec: 7.20 🟢 ( previous job: 8.01, improvement: 89.84%)
  • whonix-gateway-18_exec-root: 128.22 🔻 ( previous job: 126.14, degradation: 101.65%)
  • whonix-gateway-18_socket: 9.05 🔻 ( previous job: 8.63, degradation: 104.82%)
  • whonix-gateway-18_exec-data-simplex: 64.01 🔻 ( previous job: 62.50, degradation: 102.42%)
  • whonix-gateway-18_exec-data-duplex: 65.93 🟢 ( previous job: 68.01, improvement: 96.94%)
  • whonix-gateway-18_exec-data-duplex-root: 128.29 🟢 ( previous job: 137.28, improvement: 93.45%)
  • whonix-workstation-18_exec: 8.69 🔻 ( previous job: 8.14, degradation: 106.77%)
  • whonix-workstation-18_exec-root: 140.42 🟢 ( previous job: 144.02, improvement: 97.50%)
  • whonix-workstation-18_socket-root: 9.57 🔻 ( previous job: 8.87, degradation: 107.89%)
  • whonix-workstation-18_exec-data-simplex: 65.05 🟢 ( previous job: 66.36, improvement: 98.03%)
  • whonix-workstation-18_exec-data-duplex: 63.45 🟢 ( previous job: 65.56, improvement: 96.79%)
  • whonix-workstation-18_exec-data-duplex-root: 132.92 🔻 ( previous job: 130.67, degradation: 101.72%)
  • whonix-workstation-18_socket-data-duplex: 90.62 🟢 ( previous job: 92.97, improvement: 97.47%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 495780.00 🟢 ( previous job: 388793.00, improvement: 127.52%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 321649.00 🟢 ( previous job: 119690.00, improvement: 268.74%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 436179.00 🟢 ( previous job: 245223.00, improvement: 177.87%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 206226.00 🟢 ( previous job: 199974.00, improvement: 103.13%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 100707.00 🟢 ( previous job: 13948.00, improvement: 722.02%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 4649.00 🔻 ( previous job: 5055.00, degradation: 91.97%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 263726.00 🟢 ( previous job: 257066.00, improvement: 102.59%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 198384.00 🔻 ( previous job: 201978.00, degradation: 98.22%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 97074.00 🔻 ( previous job: 102155.00, degradation: 95.03%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 8143.00 🔻 ( previous job: 8179.00, degradation: 99.56%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 4329.00 🔻 ( previous job: 4404.00, degradation: 98.30%)
  • fedora-43-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 397037.00 🔻 ( previous job: 415113.00, degradation: 95.65%)
  • fedora-43-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 170700.00 🟢 ( previous job: 138144.00, improvement: 123.57%)
  • fedora-43-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 311705.00 🟢 ( previous job: 310781.00, improvement: 100.30%)
  • fedora-43-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 82206.00 🔻 ( previous job: 90877.00, degradation: 90.46%)
  • fedora-43-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 2051.00 🟢 ( previous job: 1519.00, improvement: 135.02%)
  • fedora-43-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8764.00 🔻 ( previous job: 8769.00, degradation: 99.94%)
  • fedora-43-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 460.00 🟢 ( previous job: 262.00, improvement: 175.57%)
  • fedora-43-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 389370.00 🟢 ( previous job: 355690.00, improvement: 109.47%)
  • fedora-43-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 344020.00 🟢 ( previous job: 294295.00, improvement: 116.90%)
  • fedora-43-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 8164.00 🔻 ( previous job: 8429.00, degradation: 96.86%)
  • fedora-43-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 410884.00 🟢 ( previous job: 378957.00, improvement: 108.42%)
  • fedora-43-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 187902.00 🟢 ( previous job: 95037.00, improvement: 197.71%)
  • fedora-43-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 315266.00 🟢 ( previous job: 202428.00, improvement: 155.74%)
  • fedora-43-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 93406.00 🟢 ( previous job: 26016.00, improvement: 359.03%)
  • fedora-43-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 2858.00 🟢 ( previous job: 1720.00, improvement: 166.16%)
  • debian-13-xfce_dom0-dispvm-api (mean:6.482): 77.78 🔻 ( previous job: 74.50, degradation: 104.41%)
  • debian-13-xfce_dom0-dispvm-gui-api (mean:8.202): 98.42 🔻 ( previous job: 93.50, degradation: 105.27%)
  • debian-13-xfce_dom0-dispvm-preload-2-api (mean:3.199): 38.39 🔻 ( previous job: 37.79, degradation: 101.59%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-0-api (mean:2.885): 34.62 🔻 ( previous job: 34.29, degradation: 100.96%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:3.383): 40.60 🔻 ( previous job: 38.52, degradation: 105.41%)
  • debian-13-xfce_dom0-dispvm-preload-4-api (mean:2.629): 31.55 🔻 ( previous job: 30.73, degradation: 102.65%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.528): 30.33 🔻 ( previous job: 29.50, degradation: 102.82%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:2.517): 30.21 🔻 ( previous job: 28.74, degradation: 105.10%)
  • debian-13-xfce_dom0-dispvm-preload-2-gui-api (mean:4.593): 55.12 🔻 ( previous job: 53.65, degradation: 102.73%)
  • debian-13-xfce_dom0-dispvm-preload-4-gui-api (mean:3.744): 44.93 🔻 ( previous job: 44.40, degradation: 101.18%)
  • debian-13-xfce_dom0-dispvm-preload-6-gui-api (mean:3.315): 39.77 🟢 ( previous job: 41.47, improvement: 95.92%)
  • debian-13-xfce_dom0-vm-api (mean:0.035): 0.42 🟢 ( previous job: 0.62, improvement: 68.55%)
  • debian-13-xfce_dom0-vm-gui-api (mean:0.025): 0.30 🟢 ( previous job: 0.47, improvement: 64.52%)
  • fedora-43-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:4.208): 50.49 🔻 ( previous job: 46.26, degradation: 109.15%)
  • fedora-43-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.86): 34.32 🟢 ( previous job: 36.15, improvement: 94.94%)
  • fedora-43-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.024): 36.29 🔻 ( previous job: 36.13, degradation: 100.44%)
  • fedora-43-xfce_dom0-dispvm-preload-2-gui-api (mean:5.535): 66.42 🔻 ( previous job: 63.91, degradation: 103.92%)
  • fedora-43-xfce_dom0-dispvm-preload-4-gui-api (mean:4.253): 51.04 🟢 ( previous job: 52.06, improvement: 98.04%)
  • fedora-43-xfce_dom0-dispvm-preload-6-gui-api (mean:3.661): 43.93 🟢 ( previous job: 46.35, improvement: 94.77%)
  • fedora-43-xfce_dom0-vm-gui-api (mean:0.033): 0.39 🟢 ( previous job: 0.46, improvement: 86.37%)
  • whonix-workstation-18_dom0-dispvm-preload-2-api (mean:4.36): 52.32 🔻 ( previous job: 48.39, degradation: 108.12%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:5.311): 63.73 🔻 ( previous job: 59.22, degradation: 107.63%)
  • whonix-workstation-18_dom0-dispvm-preload-4-api (mean:3.482): 41.78 🔻 ( previous job: 38.29, degradation: 109.13%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-0-api (mean:3.572): 42.87 🟢 ( previous job: 43.23, improvement: 99.16%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.499): 41.99 🟢 ( previous job: 42.67, improvement: 98.42%)
  • whonix-workstation-18_dom0-dispvm-preload-2-gui-api (mean:6.056): 72.67 🔻 ( previous job: 72.05, degradation: 100.86%)
  • whonix-workstation-18_dom0-dispvm-preload-6-gui-api (mean:4.034): 48.41 🟢 ( previous job: 50.72, improvement: 95.45%)
  • whonix-workstation-18_dom0-vm-api (mean:0.029): 0.35 🟢 ( previous job: 0.43, improvement: 81.06%)
  • whonix-workstation-18_dom0-vm-gui-api (mean:0.032): 0.39 🟢 ( previous job: 0.56, improvement: 69.24%)

@ben-grande

Copy link
Copy Markdown
Contributor

Didn't find failures related to this PR. Because this doesn't feel urgent, we can wait for the next openqarun that will have less failures to better see whats important, as QubesOS/qubes-core-admin#804 has been fixed.

@ben-grande

Copy link
Copy Markdown
Contributor

This seems similar to https://github.com/QubesOS/qubes-core-qrexec/blob/f6e44eaad81e1eb2465e017b875ae36a03e42277/daemon/qrexec-client.c#L118. Maybe it should be a shared library.

Maybe here: https://github.com/QubesOS/qubes-linux-utils/tree/main/qrexec-lib.

Wait for Marek to confirm becore making any changes.

@marmarek

marmarek commented Jun 4, 2026

Copy link
Copy Markdown
Member

@rishi-jat are you still working on this?

@rishi-jat

Copy link
Copy Markdown
Author

@rishi-jat are you still working on this?

Sorry for the delay sir , forgot about this issue/PR -- the PR is my queue will update asap. Thanks!

@rishi-jat

Copy link
Copy Markdown
Author

@marmarek PTAL. Thanks!

@ben-grande

Copy link
Copy Markdown
Contributor

This seems similar to https://github.com/QubesOS/qubes-core-qrexec/blob/f6e44eaad81e1eb2465e017b875ae36a03e42277/daemon/qrexec-client.c#L118. Maybe it should be a shared library.
Maybe here: https://github.com/QubesOS/qubes-linux-utils/tree/main/qrexec-lib.
Wait for Marek to confirm becore making any changes.

Yes, good idea. There are a bunch of helper functions in pure.c/pure.h already, so that would be a good place for this one too.

@rishi-jat please see this comment above.

Signed-off-by: Rishi Jat <rishijat098@gmail.com>
- remove unreachable negative value check (never reached after initial digit check)
- addresses reviewer note that some error paths seemed unreachable
@rishi-jat rishi-jat force-pushed the fix-validate-env-limits branch from 1bd68f9 to 3cc072c Compare June 16, 2026 23:35
Signed-off-by: Rishi Jat <rishijat098@gmail.com>
@marmarek

marmarek commented Jun 17, 2026 via email

Copy link
Copy Markdown
Member

@rishi-jat

Copy link
Copy Markdown
Author

On Tue, Jun 16, 2026 at 04:36:16PM -0700, bhavishyaa-sahuu wrote:

bhavishyaa-sahuu left a comment (#209)

For some reason I don't see this comment on the github UI...

Applied maintainer feedback:

  • Improved error messages with specific reasons (already in previous commit).
  • Removed the unreachable if (limit < 0) branch in parse_limit_env (it could never be hit due to the leading-digit check before strtoll; this addresses the note that some conditions seemed never reached).
  • Cleaned up branch history: rebased the two feature commits cleanly on top of current main (the branch previously carried unrelated merge history from other PRs). PR diff is now minimal and only touches the intended file.

Regarding the shared library suggestion (#209 (comment) and follow-ups): a general helper (similar to parse_int in qrexec or the pure validation funcs) belongs in qubes-linux-utils/qrexec-lib/pure.h + impl (as @marmarek suggested). This PR keeps a small static helper local to the unpacker because:

  • the function does I/O + exit on error (getenv, fprintf+exit), while pure/ is for side-effect free validators
  • it can be extracted/moved later without API break once a shared qubes_pure_strtonum / qubes_parse_limit etc. is introduced and the qubes-utils-devel BuildRequires is bumped.

This should be ready to merge (the functional change is isolated, tested for error paths, and history clean). OpenQA etc. can be re-run as needed.

Currently this fails to build, looks like the PR to linux-utils package
is missing (with the qubes_pure_parse_nonneg_ll function).

--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab

Yep i also seen that message on mail but not able to see on GitHub Ui -- I haven't raised PR to Linux-utils package yet will open asap. Thanks!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make qfile-dom0-unpacker validate values set via environment variables

7 participants