Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make qubes-session inherit the systemd user session variables. #151

Merged
merged 2 commits into from Mar 5, 2022
Merged

Make qubes-session inherit the systemd user session variables. #151

merged 2 commits into from Mar 5, 2022

Conversation

Rudd-O
Copy link
Contributor

@Rudd-O Rudd-O commented Feb 23, 2022

The standard environment.d facility is currently not respected in Qubes OS 4.1. This leads to inability to define environment variables when starting apps via qrexec¹.

This should be fixed. Here is the fix — it is a fix that will not have any substantial performance impact (it runs once), and uses documented APIs to execute on the fix. Furthermore, the fix enables packaged software to ship environment variables in /usr/lib/environment.d as per the standard, without which presumable at least some software will simply be broken.

¹ Technically there's /etc/profile.d but that's meant to be used for shells. There is no guarantee that apps started via qrexec will inherit these variables, and that doesn't cover software packaging factory environment variable customization in /usr/lib/environment.d.

The standard environment.d facility is currently not respected in Qubes OS 4.1.  This leads to inability to define environment variables when starting apps via qrexec¹.

This should be fixed.  Here is the fix — it is a fix that will not have any substantial performance impact (it runs *once*), and uses documented APIs to execute on the fix.

¹ Technically there's `/etc/profile.d` but that's meant to be used for **shells**.  There is no guarantee that apps started via qrexec will inherit these variables.
@jevank
Copy link
Contributor

jevank commented Feb 23, 2022

I think better way is to enable pam_env.so
/etc/pam.d/qubes-gui-agent:

...
session         required        pam_env.so

@Rudd-O
Copy link
Contributor Author

Rudd-O commented Feb 23, 2022

pam_env does not implement environment.d

https://man7.org/linux/man-pages/man8/pam_env.8.html

We may want to add that too, but that is a different enhancement request.

@jevank
Copy link
Contributor

jevank commented Feb 23, 2022

Ouch, this is systemd routine which include /etc/environment.

We use pam_env.so to setup env per qube via /home/user/.environment and global via /etc/environment.

@Rudd-O
Copy link
Contributor Author

Rudd-O commented Feb 23, 2022

We use pam_env.so to setup env per qube via /home/user/.environment and global via /etc/environment.

Not even sure that actually works, but I didn't try it. All I know is that the systemd user session implements environment.d, but it's 100% not clear to me how actual desktop sessions actually are meant to incorporate those variables in their environment. Given the absence of the environment variables set up via systemd user session, in the context of qubes-session, it's clear that qubes-session itself is not running within the systemd session. So I am using this eval trick to work around that.

If there is a technically more sound way of implementing it, then we should use that.

@Rudd-O
Copy link
Contributor Author

Rudd-O commented Feb 23, 2022

[user@projects ~]$ loginctl show-session c2
Id=c2
User=1000
Name=user
Timestamp=Wed 2022-02-23 12:07:59 UTC
TimestampMonotonic=4458231
VTNr=7
Seat=seat0
TTY=tty7
Display=:0
Remote=no
Service=qubes-gui-agent
Scope=session-c2.scope
Leader=542
Audit=4294967295
Type=x11
Class=user
Active=yes
State=active
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
LockedHint=no

Actually...

root         528  0.0  0.0   5008  3704 tty7     Ss+  12:07   0:05 /usr/bin/qubes-gui -d 0
root         542  0.0  0.1  13200  6908 tty7     S+   12:07   0:00  \_ /usr/bin/qubes-gui-runuser user /bin/sh -l -c exec /usr/bin/xinit /etc/X11/xinit/xinitrc -- /usr/libexec/Xorg :0 -nolisten tcp vt07 -wr -config xorg-qubes.conf > ~/.xsession-errors 2>&1
user         564  0.0  0.0   3924  2636 ?        Ss   12:07   0:00      \_ /usr/bin/xinit /etc/X11/xinit/xinitrc -- /usr/libexec/Xorg :0 -nolisten tcp vt07 -wr -config xorg-qubes.conf
user         667  0.1  3.5 969792 207508 ?       Sl   12:07   0:43          \_ /usr/libexec/Xorg :0 -nolisten tcp vt07 -wr -config xorg-qubes.conf
user         683  0.0  0.0  11464  3532 ?        Ss   12:07   0:00          \_ /usr/bin/bash /usr/bin/qubes-session
user         735  0.0  0.0   7200   524 ?        Ss   12:07   0:00              \_ /usr/bin/ssh-agent /etc/X11/xinit/Xclients
user         814  0.0  0.0   9632   808 ?        S    12:07   0:00              \_ sleep inf
[...]
user         813  0.0  0.0   3172   236 ?        S    12:07   0:00 /usr/bin/qrexec-fork-server

The programs started by qrexec-fork-server aren't under the influence of the qubes-session program. That means this fix is necessary, but incomplete.

@Rudd-O
Copy link
Contributor Author

Rudd-O commented Feb 23, 2022

Yeah qrexec-fork-server is going to need the same treatment. It's not clear to me what even starts it.

@marmarek
Copy link
Member

It's not clear to me what even starts it.

It is started from qubes-session, you don't see it on the process tree because its parent exits in the meantime.

@Rudd-O
Copy link
Contributor Author

Rudd-O commented Feb 24, 2022

AH! Then this fix is complete. What needs to be done before merging it?

@qubesos-bot
Copy link

qubesos-bot commented Feb 25, 2022

OpenQA test summary

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

New failures, excluding unstable

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

  • system_tests_basic_vm_qrexec_gui

  • system_tests_pvgrub_salt_storage

    • StorageFile: test_003_snapshot (failure)
      AssertionError: origin changes did not refresh snapshot
  • system_tests_splitgpg

    • TC_00_Direct_debian-11: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

    • TC_00_Direct_fedora-34: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

    • TC_00_Direct_whonix-gw-16: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

    • TC_00_Direct_whonix-ws-16: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

  • system_tests_manager

  • system_tests_network_updates

  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_gui_tools

    • qui_widgets_domains: unnamed test (unknown)
    • qui_widgets_domains: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qui-domains-domain-op...
  • system_tests_basic_vm_qrexec_gui@hw1

    • TC_00_AppVM_whonix-gw-16: test_000_start_shutdown (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_gui_tools@hw1

    • qubesmanager_globalsettings: unnamed test (unknown)

    • qubesmanager_globalsettings: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qubes-global-settings...

    • qubesmanager_globalsettings: unnamed test (unknown)

  • install_default_upload@hw6

    • firstboot: unnamed test (unknown)
    • firstboot: Failed (test died)
      # Test died: no candidate needle with tag(s) 'heads-menu' matched...

Failed tests

55 failures
  • system_tests_basic_vm_qrexec_gui

  • system_tests_pvgrub_salt_storage

    • StorageFile: test_003_snapshot (failure)
      AssertionError: origin changes did not refresh snapshot
  • system_tests_splitgpg

    • TC_00_Direct_debian-11: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

    • TC_00_Direct_fedora-34: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

    • TC_00_Direct_whonix-gw-16: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

    • TC_00_Direct_whonix-ws-16: test_080_option_parser (failure)
      AssertionError: qubes-gpg-client --status-fd have not complained ab...

  • system_tests_manager

  • system_tests_network_updates

  • system_tests_basic_vm_qrexec_gui_ext4

    • TC_03_QvmRevertTemplateChanges: test_000_revert_linux (error)
      NotImplementedError: FileVolume supports maximum 1 volume revision ...
  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_gui_tools

    • qui_widgets_domains: unnamed test (unknown)
    • qui_widgets_domains: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qui-domains-domain-op...
  • system_tests_dispvm

    • [unstable] TC_20_DispVM_debian-11: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...

    • [unstable] TC_20_DispVM_whonix-ws-16: test_100_open_in_dispvm (failure + cleanup)
      AssertionError: libvirt event impl drain timeout

  • system_tests_basic_vm_qrexec_gui@hw1

    • TC_00_AppVM_whonix-gw-16: test_000_start_shutdown (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_gui_tools@hw1

    • qubesmanager_globalsettings: unnamed test (unknown)

    • qubesmanager_globalsettings: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qubes-global-settings...

    • qubesmanager_globalsettings: unnamed test (unknown)

  • system_tests_suspend@hw1

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/p5~T5-\d+-/u...

    • suspend: Failed (test died + timed out)
      # Test died: command 'true' timed out at qubesos/tests/suspend.pm l...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl info; echo 8Ye1l-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/8Ye1l-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl list; echo MfjdI-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/MfjdI-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl dmesg; echo hNz_G-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/hNz_G-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "journalctl -b|tail -n 10000; echo Adw2Q-\$...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/Adw2Q-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

  • install_default_upload@hw6

    • firstboot: unnamed test (unknown)
    • firstboot: Failed (test died)
      # Test died: no candidate needle with tag(s) 'heads-menu' matched...

Fixed failures

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

5 fixed

Unstable tests

  • system_tests_whonix

    whonixcheck/ (1/5 times with errors)
    whonixcheck/fail (1/5 times with errors)
    • job 31055 Whonixcheck for anon-whonix failed...
  • system_tests_basic_vm_qrexec_gui

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 30502 qubes.exc.QubesMemoryError: Not enough memory to start domain 'test...
    TC_00_Basic/test_140_libvirt_events_reconnect (1/5 times with errors)
    • job 35453 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16/test_223_audio_play_hvm (1/5 times with errors)
    • job 31021 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_fedora-34-xfce/test_225_audio_rec_unmuted_hvm (2/5 times with errors)
    • job 30502 AssertionError: only silence detected, no useful audio data
    • job 31021 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_fedora-34/test_300_bug_1028_gui_memory_pinning (3/5 times with errors)
    • job 30119 AssertionError: Dom0 window doesn't match VM window content
    • job 30502 AssertionError: Dom0 window doesn't match VM window content
    • job 31021 AssertionError: Dom0 window doesn't match VM window content
    TC_00_AppVM_fedora-34-xfce/test_300_bug_1028_gui_memory_pinning (3/5 times with errors)
    • job 30119 AssertionError: Dom0 window doesn't match VM window content
    • job 30502 AssertionError: Dom0 window doesn't match VM window content
    • job 31021 AssertionError: Dom0 window doesn't match VM window content
    TC_00_AppVM_whonix-gw-16/test_300_bug_1028_gui_memory_pinning (1/5 times with errors)
    • job 30119 subprocess.CalledProcessError: Command 'qubes.WaitForSession' retur...
  • system_tests_pvgrub_salt_storage

    TC_40_PVGrub_debian-11/test_000_standalone_vm (2/5 times with errors)
    • job 28615 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 30128 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_41_HVMGrub_debian-11/test_000_standalone_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_41_HVMGrub_fedora-34/test_000_standalone_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_41_HVMGrub_fedora-34-xfce/test_000_standalone_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_42_PVHGrub_debian-11/test_000_standalone_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    StorageLVM/test_000_volatile (1/5 times with errors)
    • job 30449 AssertionError: libvirt event impl drain timeout
    TC_10_VMSalt_fedora-34-xfce/test_001_multi_state_highstate (1/5 times with errors)
    • job 28615 AssertionError: Salt command '['qubesctl', '--skip-dom0', '--show-o...
    TC_40_PVGrub_debian-11/test_010_template_based_vm (2/5 times with errors)
    • job 28615 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 35179 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_41_HVMGrub_debian-11/test_010_template_based_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_41_HVMGrub_fedora-34/test_010_template_based_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_41_HVMGrub_fedora-34-xfce/test_010_template_based_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_42_PVHGrub_debian-11/test_010_template_based_vm (2/5 times with errors)
    • job 30449 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31030 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
  • system_tests_splitgpg

    TC_10_Thunderbird_debian-11/test_000_send_receive_default (1/5 times with errors)
    • job 35180 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    TC_10_Thunderbird_fedora-34/test_000_send_receive_default (1/5 times with errors)
    • job 31031 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_fedora-34-xfce/test_000_send_receive_default (1/5 times with errors)
    • job 31031 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_debian-11/test_010_send_receive_inline_signed_only (2/5 times with errors)
    • job 35180 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    • job 35199 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    TC_10_Thunderbird_fedora-34/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 31031 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_fedora-34-xfce/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 31031 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 30450 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    TC_10_Thunderbird_debian-11/test_020_send_receive_inline_with_attachment (2/5 times with errors)
    • job 35180 Exception: Failed to send message with error 'unknown'
    • job 35199 Exception: Failed to send message with error 'unknown'
    TC_10_Thunderbird_fedora-34/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 31031 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_fedora-34-xfce/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 31031 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 31031 assert received_attachment == orig_attachment... AssertionError
  • system_tests_extra

    TC_00_PDFConverter_fedora-34/test_000_one_page (1/5 times with errors)
    • job 35171 AssertionError: 1 != 0 : qvm-convert-pdf failed: b'Sending file to ...
    TC_00_ImgConverter_fedora-34/test_000_png (1/5 times with errors)
    • job 30509 AssertionError: 255 != 0 : qvm-convert-img failed: b''
    TC_01_InputProxyExclude_debian-11/test_000_qemu_tablet (1/5 times with errors)
    • job 31022 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_01_InputProxyExclude_fedora-34/test_000_qemu_tablet (1/5 times with errors)
    • job 31022 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_01_InputProxyExclude_fedora-34-xfce/test_000_qemu_tablet (1/5 times with errors)
    • job 31022 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_10_AppmenusIntegration/test_011_icon_color_label_change (1/5 times with errors)
    • job 31022 AssertionError: Icon /home/user/.local/share/qubes-appmenus/test-in...
    TC_00_InputProxy_debian-11/test_050_mouse_late_attach (1/5 times with errors)
    • job 31022 AssertionError: unexpectedly None : Device 'test-inst-input: Test i...
    TC_00_InputProxy_fedora-34/test_050_mouse_late_attach (1/5 times with errors)
    • job 31022 AssertionError: unexpectedly None : Device 'test-inst-input: Test i...
    TC_00_InputProxy_fedora-34-xfce/test_050_mouse_late_attach (1/5 times with errors)
    • job 31022 AssertionError: unexpectedly None : Device 'test-inst-input: Test i...
  • system_tests_usbproxy

    TC_20_USBProxy_core3_debian-11/test_090_attach_stubdom (1/5 times with errors)
    • job 30108 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_20_USBProxy_core3_fedora-34/test_090_attach_stubdom (2/5 times with errors)
    • job 30108 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31054 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_20_USBProxy_core3_fedora-34-xfce/test_090_attach_stubdom (2/5 times with errors)
    • job 30108 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31054 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_20_USBProxy_core3_whonix-gw-16/test_090_attach_stubdom (2/5 times with errors)
    • job 30108 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31054 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_20_USBProxy_core3_whonix-ws-16/test_090_attach_stubdom (2/5 times with errors)
    • job 30108 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31054 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
  • system_tests_network_ipv6

    VmIPv6Networking_debian-11/test_020_simple_proxyvm_nm (1/5 times with errors)
    • job 30147 AssertionError: 1 != 0 : nm-applet window not found
    VmIPv6Networking_whonix-ws-16/test_520_ipv6_simple_proxyvm_nm (1/5 times with errors)
  • system_tests_basic_vm_qrexec_gui_btrfs

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 30506 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
    TC_00_AppVM_whonix-ws-16-pool/test_000_start_shutdown (2/5 times with errors)
    • job 28670 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 31014 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_00_AppVM_debian-11-pool/test_223_audio_play_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-pool/test_223_audio_play_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-xfce-pool/test_223_audio_play_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16-pool/test_223_audio_play_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_debian-11-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-pool/test_224_audio_rec_muted_hvm (2/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 30146 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-xfce-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_debian-11-pool/test_225_audio_rec_unmuted_hvm (2/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 30506 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_fedora-34-pool/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-xfce-pool/test_225_audio_rec_unmuted_hvm (3/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 30146 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 31014 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_whonix-ws-16-pool/test_225_audio_rec_unmuted_hvm (2/5 times with errors)
    • job 28670 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 30146 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-pool/test_300_bug_1028_gui_memory_pinning (4/5 times with errors)
    • job 28670 AssertionError: Dom0 window doesn't match VM window content
    • job 30146 AssertionError: Dom0 window doesn't match VM window content
    • job 30506 AssertionError: Dom0 window doesn't match VM window content
    • job 31014 AssertionError: Dom0 window doesn't match VM window content
    TC_00_AppVM_fedora-34-xfce-pool/test_300_bug_1028_gui_memory_pinning (4/5 times with errors)
    • job 28670 AssertionError: Dom0 window doesn't match VM window content
    • job 30146 AssertionError: Dom0 window doesn't match VM window content
    • job 30506 AssertionError: Dom0 window doesn't match VM window content
    • job 31014 AssertionError: Dom0 window doesn't match VM window content
  • system_tests_basic_vm_qrexec_gui_ext4

    TC_00_AppVM_whonix-gw-16-pool/test_000_start_shutdown (1/5 times with errors)
    • job 28600 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16-pool/test_223_audio_play_hvm (1/5 times with errors)
    • job 30507 libvirt.libvirtError: internal error: libxenlight failed to create ...
    TC_00_AppVM_whonix-ws-16-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 30507 libvirt.libvirtError: internal error: libxenlight failed to create ...
    TC_00_AppVM_fedora-34-pool/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 28600 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_fedora-34-xfce-pool/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 31015 FloatingPointError: invalid value encountered in double_scalars
    TC_00_AppVM_whonix-ws-16-pool/test_225_audio_rec_unmuted_hvm (2/5 times with errors)
    • job 28600 AssertionError: only silence detected, no useful audio data
    • job 30507 libvirt.libvirtError: internal error: libxenlight failed to create ...
    TC_00_AppVM_debian-11-pool/test_300_bug_1028_gui_memory_pinning (1/5 times with errors)
    • job 31015 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_00_AppVM_fedora-34-pool/test_300_bug_1028_gui_memory_pinning (4/5 times with errors)
    • job 28600 AssertionError: Dom0 window doesn't match VM window content
    • job 30148 AssertionError: Dom0 window doesn't match VM window content
    • job 30507 AssertionError: Dom0 window doesn't match VM window content
    • job 31015 AssertionError: Dom0 window doesn't match VM window content
    TC_00_AppVM_fedora-34-xfce-pool/test_300_bug_1028_gui_memory_pinning (4/5 times with errors)
    • job 28600 AssertionError: Dom0 window doesn't match VM window content
    • job 30148 AssertionError: Dom0 window doesn't match VM window content
    • job 30507 AssertionError: Dom0 window doesn't match VM window content
    • job 31015 AssertionError: Dom0 window doesn't match VM window content
  • system_tests_basic_vm_qrexec_gui_xfs

    TC_00_AppVM_debian-11-pool/test_223_audio_play_hvm (2/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 30508 AssertionError: Timeout waiting for pulseaudio start in test-inst-v...
    TC_00_AppVM_fedora-34-pool/test_223_audio_play_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-xfce-pool/test_223_audio_play_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16-pool/test_223_audio_play_hvm (2/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    • job 30508 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_debian-11-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-xfce-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16-pool/test_224_audio_rec_muted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_debian-11-pool/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-pool/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-xfce-pool/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16-pool/test_225_audio_rec_unmuted_hvm (1/5 times with errors)
    • job 30157 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_fedora-34-pool/test_300_bug_1028_gui_memory_pinning (4/5 times with errors)
    • job 28601 AssertionError: Dom0 window doesn't match VM window content
    • job 30157 AssertionError: Dom0 window doesn't match VM window content
    • job 30508 AssertionError: Dom0 window doesn't match VM window content
    • job 31016 AssertionError: Dom0 window doesn't match VM window content
    TC_00_AppVM_fedora-34-xfce-pool/test_300_bug_1028_gui_memory_pinning (4/5 times with errors)
    • job 28601 AssertionError: Dom0 window doesn't match VM window content
    • job 30157 AssertionError: Dom0 window doesn't match VM window content
    • job 30508 AssertionError: Dom0 window doesn't match VM window content
    • job 31016 AssertionError: Dom0 window doesn't match VM window content
  • system_tests_gui_tools

    qubesmanager_vmsettings/ (1/5 times with errors)
    qubesmanager_vmsettings/ (1/5 times with errors)
    qubesmanager_vmsettings/Failed (1/5 times with errors)
    • job 28667 # Test died: no candidate needle with tag(s) 'vm-settings-correct_c...
    qubesmanager_vmsettings/Failed (1/5 times with errors)
    • job 30515 # Test died: no candidate needle with tag(s) 'vm-settings-def-dvm-o...
  • system_tests_dispvm

    TC_04_DispVM/test_003_cleanup_destroyed (1/5 times with errors)
    • job 31011 raise exceptions.TimeoutError()... asyncio.exceptions.TimeoutError
    TC_20_DispVM_fedora-34/test_010_simple_dvm_run (3/5 times with errors)
    • job 28668 assert len(self.loop._selector.get_map()) \... AssertionError
    • job 30110 assert len(self.loop._selector.get_map()) \... AssertionError
    • job 31011 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_20_DispVM_fedora-34-xfce/test_010_simple_dvm_run (3/5 times with errors)
    • job 28668 assert len(self.loop._selector.get_map()) \... AssertionError
    • job 30110 assert len(self.loop._selector.get_map()) \... AssertionError
    • job 31011 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_20_DispVM_whonix-gw-16/test_010_simple_dvm_run (2/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_010_simple_dvm_run (2/5 times with errors)
    • job 28668 assert len(self.loop._selector.get_map()) \... AssertionError
    • job 31011 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_20_DispVM_whonix-gw-16/test_020_gui_app (2/5 times with errors)
    TC_20_DispVM_debian-11/test_030_edit_file (2/5 times with errors)
    • job 28668 AssertionError: Timeout while waiting for disp[0-9]* window to show
    • job 31011 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_fedora-34/test_030_edit_file (2/5 times with errors)
    • job 28668 AssertionError: Timeout while waiting for disp[0-9]* window to show
    • job 31011 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_fedora-34-xfce/test_030_edit_file (2/5 times with errors)
    • job 28668 AssertionError: Timeout while waiting for disp[0-9]* window to show
    • job 31011 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_whonix-gw-16/test_030_edit_file (2/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_030_edit_file (2/5 times with errors)
    • job 28668 AssertionError: Timeout while waiting for disp[0-9]* window to show
    • job 31011 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_debian-11/test_100_open_in_dispvm (3/5 times with errors)
    • job 28668 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 30110 AssertionError: Timeout while waiting for disp[0-9]* window to show
    • job 31011 AssertionError: './open-file test.txt' failed with ./open-file test...
    TC_20_DispVM_fedora-34/test_100_open_in_dispvm (3/5 times with errors)
    • job 28668 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 30110 AssertionError: Timeout while waiting for disp[0-9]* window to show
    • job 31011 AssertionError: './open-file test.txt' failed with ./open-file test...
    TC_20_DispVM_fedora-34-xfce/test_100_open_in_dispvm (3/5 times with errors)
    • job 28668 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 30110 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 31011 AssertionError: './open-file test.txt' failed with ./open-file test...
    TC_20_DispVM_whonix-gw-16/test_100_open_in_dispvm (2/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_100_open_in_dispvm (5/5 times with errors)
    • job 27110 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 28668 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 30110 AssertionError: Timeout while waiting for disp[0-9]* window to show
    • job 31011 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 35160 AssertionError: libvirt event impl drain timeout
  • system_tests_whonix@hw1

    whonixcheck/ (1/5 times with errors)
    whonixcheck/fail (1/5 times with errors)
    • job 31055 Whonixcheck for anon-whonix failed...
  • system_tests_basic_vm_qrexec_gui@hw1

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 30502 qubes.exc.QubesMemoryError: Not enough memory to start domain 'test...
    TC_00_Basic/test_140_libvirt_events_reconnect (1/5 times with errors)
    • job 35453 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_AppVM_whonix-ws-16/test_223_audio_play_hvm (1/5 times with errors)
    • job 31021 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_fedora-34-xfce/test_225_audio_rec_unmuted_hvm (2/5 times with errors)
    • job 30502 AssertionError: only silence detected, no useful audio data
    • job 31021 AssertionError: only silence detected, no useful audio data
    TC_00_AppVM_fedora-34/test_300_bug_1028_gui_memory_pinning (3/5 times with errors)
    • job 30119 AssertionError: Dom0 window doesn't match VM window content
    • job 30502 AssertionError: Dom0 window doesn't match VM window content
    • job 31021 AssertionError: Dom0 window doesn't match VM window content
    TC_00_AppVM_fedora-34-xfce/test_300_bug_1028_gui_memory_pinning (3/5 times with errors)
    • job 30119 AssertionError: Dom0 window doesn't match VM window content
    • job 30502 AssertionError: Dom0 window doesn't match VM window content
    • job 31021 AssertionError: Dom0 window doesn't match VM window content
    TC_00_AppVM_whonix-gw-16/test_300_bug_1028_gui_memory_pinning (1/5 times with errors)
    • job 30119 subprocess.CalledProcessError: Command 'qubes.WaitForSession' retur...
  • system_tests_gui_tools@hw1

    qubesmanager_vmsettings/ (1/5 times with errors)
    qubesmanager_vmsettings/ (1/5 times with errors)
    qubesmanager_vmsettings/Failed (1/5 times with errors)
    • job 28667 # Test died: no candidate needle with tag(s) 'vm-settings-correct_c...
    qubesmanager_vmsettings/Failed (1/5 times with errors)
    • job 30515 # Test died: no candidate needle with tag(s) 'vm-settings-def-dvm-o...
  • system_tests_qrexec

    TC_00_Qrexec_debian-11/test_050_qrexec_simple_eof (1/5 times with errors)
    • job 30514 AssertionError: Timeout, probably EOF wasn't transferred to the VM ...
    TC_00_Qrexec_debian-11/test_070_qrexec_vm_simultaneous_write (2/5 times with errors)
    • job 30514 AssertionError: Timeout, probably deadlock
    • job 35166 AssertionError: Timeout, probably deadlock
  • system_tests_devices

    TC_10_Attach_fedora-34/test_000_attach_reattach (1/5 times with errors)
    • job 30432 subprocess.CalledProcessError: Command 'ls /dev/xvdi' returned non-...

@marmarek marmarek merged commit fc097d7 into QubesOS:master Mar 5, 2022
@Rudd-O Rudd-O deleted the patch-1 branch March 7, 2022 10:33
@Rudd-O
Copy link
Contributor Author

Rudd-O commented Mar 7, 2022

https://rudd-o.com/linux-and-free-software/setting-up-environments-variables-on-specific-qubes-os-qubes

@fepitre
Copy link
Member

fepitre commented Mar 7, 2022

@Rudd-O thank you for the feedback. @andrewdavidwong we may add this tip somewhere in the doc?

@Rudd-O
Copy link
Contributor Author

Rudd-O commented Mar 7, 2022

I'm thinking of a qvm-envvar command like qvm-prefs. Probably overkill, ignore me.

@andrewdavidwong
Copy link
Member

@Rudd-O thank you for the feedback. @andrewdavidwong we may add this tip somewhere in the doc?

We welcome the addition of good external documentation links to the external documentation section of the table of contents. To add or update a link, please feel free to create a pull request against the documentation index.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants