-
-
Notifications
You must be signed in to change notification settings - Fork 15.2k
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
nixosTests.keymap.qwertz fails on aarch64-linux #147294
Comments
Well, we could remove |
In #144106 (comment) it was discussed wether Linux 5.15 could be the cause, but the way I see it the test is running with Linux 5.10? 5.15 seems only to be used for the stdenv. |
Yes, It is at least surprising that a large part of the channel tests is about keyboard layouts. |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/nix-2-4-and-what-s-next/16257/11 |
if the keymap tests have no maintainers, perhaps they should be removed, or at leat disabled for now. |
it looks like its random which one symbol fails https://hydra.nixos.org/build/159750551/nixlog/8
https://hydra.nixos.org/build/159733263/nixlog/17
azerty fails sometimes too
|
This test has been flaky since forever and does not provide much value. |
I'm thinking this is a race condition with sending keys too fast, maybe made worse when a builder is under high load. Something like this perhaps? diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index 643446f313e..adacca47abe 100755
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -904,6 +904,7 @@ class Machine:
def send_key(self, key: str) -> None:
key = CHAR_TO_KEY.get(key, key)
self.send_monitor_command("sendkey {}".format(key))
+ time.sleep(0.01)
def start(self) -> None:
if self.booted: |
EDIT: it takes way too long to run the test without kvm so i didn't
i had to apply this patch to run the test vm because kvm was failing but its very very slow now diff --git a/nixos/lib/qemu-common.nix b/nixos/lib/qemu-common.nix
index 1a1f7531feb..26584bc0f54 100644
--- a/nixos/lib/qemu-common.nix
+++ b/nixos/lib/qemu-common.nix
@@ -24,7 +24,7 @@ rec {
qemuBinary = qemuPkg: {
x86_64-linux = "${qemuPkg}/bin/qemu-kvm -cpu max";
armv7l-linux = "${qemuPkg}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
- aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -enable-kvm -machine virt,gic-version=host -cpu host";
+ aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -machine virt, -cpu max";
powerpc64le-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
powerpc64-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
x86_64-darwin = "${qemuPkg}/bin/qemu-kvm -cpu max";
|
So, at least the simple step for now? #147715 |
@tomberek the sleep patch does indeed fix the issue, at least when building on my Honeycomb. I do think it's odd though that the test fails in exactly the same way every time I run it. I'd expect it to fail less consistently, or in different ways… |
azerty test fails sometimes too https://hydra.nixos.org/job/nixos/release-21.11/nixos.tests.keymap.azerty.aarch64-linux |
While it's far from elegant, I'd be fine with adding the sleep patch. Since it's only 10ms per character, I don't think the performance impact will be significant, and I'd prefer to start verifying the functionality again (major use case: encryption passphrase input, where the results aren't even visible). |
attempt to fix NixOS#147294
i've run some tests on my rpi4b and found that applying this patch fixes the issue even with load and no delay(i still think we should leave the delay) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index c7c3d747464..fa3e25afb03 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -835,6 +835,7 @@ in
# FIXME: Consolidate this one day.
virtualisation.qemu.options = mkMerge [
+ [ "-device virtio-keyboard" ]
(mkIf pkgs.stdenv.hostPlatform.isx86 [
"-usb" "-device usb-tablet,bus=usb-bus.0"
])
|
by default a ps/2 keyboard input is used which seems to cause issues on aarch64-linux when the machine is used high load, causing the keymap qwertz test to always fail and azerty to sometimes fail See NixOS#147294
In combination with 21.11 adding it to the
tested
job, this preventsnixos-21.11
channel.The keymap tests don't have any maintainers. That's quite an issue for channel-blocking jobs, I think.
The text was updated successfully, but these errors were encountered: