Subject: Re: bug#39341: Installer using 100% of a CPU core

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Tue, 27 Apr 2021 14:32:09 +0200

On Tue, Apr 27, 2021 at 12:38:23PM +0200, Ludovic Courtès wrote:
> What do you mean by “fails on real hardware”?  That the keyboard layout
> is unchanged?

Yes.

> Is there anything in /var/log/messages

No, nothing out of the ordinary, only the installer pages I went
through.

> or wherever kmscon
> writes its logs?

I try with

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 24b3ea785b..0eff24828c 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2330,6 +2330,7 @@ This service is not part of @var{%base-services}."
 
        (define kmscon-command
          #~(list
+            #$(file-append strace "/bin/strace") "-o" "/var/log/kmscon-out" "-f"
             #$(file-append kmscon "/bin/kmscon") "--login"
             "--vt" #$virtual-terminal
             "--no-switchvt" ;Prevent a switch to the virtual terminal.

I do

cat /var/log/kmscon-out | grep keymap-update

I see

231   unlink("/tmp/kmscon-231-keymap-update") = -1 ENOENT (No such file or directory)
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 17
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 20
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 23
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 26
259   stat("/tmp/kmscon-231-keymap-update", {st_mode=S_IFIFO|0700, st_size=0, ...}) = 0
259   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 19
259   lstat("/tmp/kmscon-231-keymap-update", {st_mode=S_IFIFO|0700, st_size=0, ...}) = 0
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 26
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 18
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 21
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 24

Now I checked again; after going back to the installer via
Ctrl-Alt-F1, I can actually type Amharic.  Maybe it just took a long
time?  But it does not change back to English.

I have more lines in kmscon-out by now

231   unlink("/tmp/kmscon-231-keymap-update") = -1 ENOENT (No such file or directory)
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 17
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 20
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 23
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 26
259   stat("/tmp/kmscon-231-keymap-update", {st_mode=S_IFIFO|0700, st_size=0, ...}) = 0
259   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 19
259   lstat("/tmp/kmscon-231-keymap-update", {st_mode=S_IFIFO|0700, st_size=0, ...}) = 0
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 26
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 18
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 21
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 24
259   stat("/tmp/kmscon-231-keymap-update", {st_mode=S_IFIFO|0700, st_size=0, ...}) = 0
259   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 19
259   lstat("/tmp/kmscon-231-keymap-update", {st_mode=S_IFIFO|0700, st_size=0, ...}) = 0
231   unlink("/tmp/kmscon-231-keymap-update") = 0
231   mknod("/tmp/kmscon-231-keymap-update", S_IFIFO|0700) = 0
231   openat(AT_FDCWD, "/tmp/kmscon-231-keymap-update", O_RDONLY|O_NONBLOCK) = 24

It has still not gone back to English layout (except when I press
Alt+Shift).

Regards,
Florian