From: "Ludovic Courtès" <ludo@gnu.org>
To: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
Cc: Mathieu Othacehe <othacehe@gnu.org>,
39341-done@debbugs.gnu.org,
Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: bug#39341: Installer using 100% of a CPU core
Date: Tue, 27 Apr 2021 23:26:41 +0200 [thread overview]
Message-ID: <8735vbwh9q.fsf@gnu.org> (raw)
In-Reply-To: <20210427123209.jyqw77edsbt5qhdj@pelzflorian.localdomain> (pelzflorian@pelzflorian.de's message of "Tue, 27 Apr 2021 14:32:09 +0200")
Hi,
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> skribis:
> 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 tried this in ‘guix system vm gnu/system/install.scm’. I proceed like
so:
1. after the installer’s welcome screen I choose French layout;
2. the next dialog is the host name, which is where I confirm I really
got French layout;
3. from there I press F1, choose German layout, confirm by typing into
the host name dialog that I got German layout;
4. I repeat step #3 with a variety of layouts.
Changing layouts there just works and is instantaneous. (Note that this
only changes the layout of kmscon, so tty3 & co. are unaffected.)
The strace log shows this when changing layouts (FD 17 corresponds to
/tmp/kmscon-165-keymap-update, the FIFO node):
--8<---------------cut here---------------start------------->8---
165 epoll_wait(3, [{EPOLLIN, {u32=17731792, u64=17731792}}, {EPOLLIN|EPOLLHUP, {u32=18285248, u64=18285248}}, {EPOLLIN, {u32=17639536, u64=17639536}}], 32, -1) = 3
165 epoll_wait(12, [{EPOLLIN, {u32=17678528, u64=17678528}}], 32, 0) = 1
165 read(20, "\33[5;22H\33[44m\33[K\33[6;22H\33[K\33[7;22H"..., 16384) = 1657
165 read(20, 0x10f6c28, 16384) = -1 EAGAIN (Resource temporarily unavailable)
165 read(17, "p", 1) = 1
165 read(17, "c", 1) = 1
165 read(17, "1", 1) = 1
165 read(17, "0", 1) = 1
165 read(17, "5", 1) = 1
165 read(17, "\0", 1) = 1
165 read(17, "f", 1) = 1
165 read(17, "r", 1) = 1
165 read(17, "\0", 1) = 1
165 read(17, "\0", 1) = 1
165 read(17, "\0", 1) = 1
165 read(17, "", 1) = 0
165 stat("/gnu/store/m734r6j7g74x9k74sgjb8835pg7dnqbk-libxkbcommon-1.0.3/etc/xkb", 0x7fff179314b0) = -1 ENOENT (No such file or directory)
165 stat("/gnu/store/qz3zdrz12rxawlkvah9qjhjyf6fh1v98-xkeyboard-config-2.31/share/X11/xkb", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
[...]
165 openat(AT_FDCWD, "/gnu/store/qz3zdrz12rxawlkvah9qjhjyf6fh1v98-xkeyboard-config-2.31/share/X11/xkb/symbols/inet", O_RDONLY) = 22
165 fstat(22, {st_mode=S_IFREG|0444, st_size=64040, ...}) = 0
165 mmap(NULL, 64040, PROT_READ, MAP_SHARED, 22, 0) = 0x7f50d23b5000
165 brk(0x12bb000) = 0x12bb000
165 munmap(0x7f50d23b5000, 64040) = 0
165 close(22) = 0
165 epoll_ctl(3, EPOLL_CTL_DEL, 17, NULL) = 0
165 close(17) = 0
165 getpid() = 165
165 unlink("/tmp/kmscon-165-keymap-update") = 0
165 mknod("/tmp/kmscon-165-keymap-update", S_IFIFO|0700) = 0
165 openat(AT_FDCWD, "/tmp/kmscon-165-keymap-update", O_RDONLY|O_NONBLOCK) = 17
165 epoll_ctl(3, EPOLL_CTL_ADD, 17, {EPOLLIN, {u32=19410896, u64=19410896}}) = 0
--8<---------------cut here---------------end--------------->8---
The last lines show that we delete the FIFO from the poll set, close the
FIFO, recreate it, and re-add it to the poll set.
So for me it works exactly as intended.
Do you have a scenario I could follow to try to reproduce the problem?
Thanks,
Ludo’.
next prev parent reply other threads:[~2021-04-27 21:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-29 5:19 bug#39341: Installer using 100% of a CPU core Maxim Cournoyer
2021-04-25 21:41 ` Ludovic Courtès
2021-04-26 14:32 ` pelzflorian (Florian Pelz)
2021-04-26 16:07 ` Ludovic Courtès
2021-04-26 16:14 ` pelzflorian (Florian Pelz)
2021-04-27 10:38 ` Ludovic Courtès
2021-04-27 12:32 ` pelzflorian (Florian Pelz)
2021-04-27 17:43 ` Bengt Richter
2021-04-27 19:58 ` pelzflorian (Florian Pelz)
2021-04-27 21:26 ` Ludovic Courtès [this message]
2021-04-28 7:02 ` pelzflorian (Florian Pelz)
2021-04-28 7:06 ` pelzflorian (Florian Pelz)
2021-04-28 13:43 ` Ludovic Courtès
2021-04-28 15:20 ` pelzflorian (Florian Pelz)
2021-04-29 9:33 ` Mathieu Othacehe
2021-04-29 9:59 ` Ludovic Courtès
2021-04-29 10:13 ` Mathieu Othacehe
2021-04-29 10:47 ` pelzflorian (Florian Pelz)
2021-04-28 15:22 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8735vbwh9q.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=39341-done@debbugs.gnu.org \
--cc=maxim.cournoyer@gmail.com \
--cc=othacehe@gnu.org \
--cc=pelzflorian@pelzflorian.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.