[artix-general] [s6] random boot error -> setfont: ERROR kdfontop.c:232 put_font_kdfontop: ioctl(KDFONTOP): Input/output error

Javier je-vv at e.email
Mon Feb 15 03:25:36 CET 2021


On 2/14/21 7:53 PM, Javier wrote:
> ...
>> artixlinux login:  error diagnosing on stderr
>> setfont: ERROR kdfontop.c:232 put_font_kdfontop: ioctl(KDFONTOP): Input/output error
>> error diagnosing on stderr
>> error diagnosing on stderr
>> error diagnosing on stderr
>> error diagnosing on stderr
>> error diagnosing on stderr
>> error diagnosing on stderr
> 
> That with this script:
> 
>> % cat /etc/s6/sv/console-setup/shell_up #!/bin/sh
>>
>> [ -r /etc/vconsole.conf ] && . /etc/vconsole.conf
>> TTYS=${TTYS:-6}
>> _index=0
>> while [ ${_index} -le $TTYS ]; do
>>     if [ -n "$FONT" ]; then
>>         setfont ${FONT_MAP:+-m $FONT_MAP} ${FONT_UNIMAP:+-u $FONT_UNIMAP} \
>>                 $FONT -C "/dev/tty${_index}"
>>                   >&2 echo "error diagnosing on stderr"
>>     fi
>>     printf "\033%s" "%G" >/dev/tty${_index}
>>     _index=$((_index + 1))
>> done
>> if [ -n "$KEYMAP" ]; then
>>     loadkeys -q -u ${KEYMAP}
>> fi

By changing

>         setfont ${FONT_MAP:+-m $FONT_MAP} ${FONT_UNIMAP:+-u $FONT_UNIMAP} \
>                 $FONT -C "/dev/tty${_index}"
>                   >&2 echo "error diagnosing on stderr"

To:

>         setfont -v ${FONT_MAP:+-m $FONT_MAP} ${FONT_UNIMAP:+-u $FONT_UNIMAP} \
>                 $FONT -C "/dev/tty${_index}"
>         echo setfont ${FONT_MAP:+-m $FONT_MAP} ${FONT_UNIMAP:+-u $FONT_UNIMAP} \
>                 $FONT -C "/dev/tty${_index}" >> /run/setfont.log

So that I can realize when it fails, and see a bit more verbose output, and still know what is executed, I see the following output on the initial tty1:

> artixlinux login:  setfont:  INFO setfont.c:161 do_loadfont:  Loading 512-char 11x22 font from file /usr/share/kbd/consolefonts/ter-v22n.psf.gz
> setfont:  INFO setfont.c:248 do_loadtable:  Loading Unicode mapping table...
> setfont:  INFO setfont.c:161 do_loadfont:  Loading 512-char 11x22 font from file /usr/share/kbd/consolefonts/ter-v22n.psf.gz
> setfont:  INFO setfont.c:248 do_loadtable:  Loading Unicode mapping table...
> setfont: ERROR kdfontop.c:232 put_font_kdfontop: ioctl(KDFONTOP): Input/output error
> setfont:  INFO setfont.c:161 do_loadfont:  Loading 512-char 11x22 font from file /usr/share/kbd/consolefonts/ter-v22n.psf.gz
> setfont:  INFO setfont.c:248 do_loadtable:  Loading Unicode mapping table...
> setfont:  INFO setfont.c:161 do_loadfont:  Loading 512-char 11x22 font from file /usr/share/kbd/consolefonts/ter-v22n.psf.gz
> setfont:  INFO setfont.c:248 do_loadtable:  Loading Unicode mapping table...
> setfont:  INFO setfont.c:161 do_loadfont:  Loading 512-char 11x22 font from file /usr/share/kbd/consolefonts/ter-v22n.psf.gz
> setfont:  INFO setfont.c:248 do_loadtable:  Loading Unicode mapping table...
> setfont:  INFO setfont.c:161 do_loadfont:  Loading 512-char 11x22 font from file /usr/share/kbd/consolefonts/ter-v22n.psf.gz
> setfont:  INFO setfont.c:248 do_loadtable:  Loading Unicode mapping table...
> setfont:  INFO setfont.c:161 do_loadfont:  Loading 512-char 11x22 font from file /usr/share/kbd/consolefonts/ter-v22n.psf.gz
> setfont:  INFO setfont.c:248 do_loadtable:  Loading Unicode mapping table...

Then, by looking at what command lines were executed:

> % cat /run/setfont.log                                                                                                                                                                                                             
> setfont ter-v22n -C /dev/tty0
> setfont ter-v22n -C /dev/tty1
> setfont ter-v22n -C /dev/tty2
> setfont ter-v22n -C /dev/tty3
> setfont ter-v22n -C /dev/tty4
> setfont ter-v22n -C /dev/tty5
> setfont ter-v22n -C /dev/tty6

It seems it fails on "setfont ter-v22n -C /dev/tty1", but I actually executed all of them by hand without error, so I couldn't reproduce it by hand:

> % sudo su
> [sudo] password for vasqueja:
> [m1 vasqueja]# setfont ter-v22n -C /dev/tty0
> [m1 vasqueja]# setfont ter-v22n -C /dev/tty1
> [m1 vasqueja]# setfont ter-v22n -C /dev/tty2
> [m1 vasqueja]# setfont ter-v22n -C /dev/tty3
> [m1 vasqueja]# setfont ter-v22n -C /dev/tty4
> [m1 vasqueja]# setfont ter-v22n -C /dev/tty5
> [m1 vasqueja]# setfont ter-v22n -C /dev/tty6
> [m1 vasqueja]#

So no failure by hand, just randomly when executing the one-shot...

Thanks !

-- 
Javier

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <https://lists.artixlinux.org/archives/artix-general/attachments/20210214/ec67ac34/attachment.sig>


More information about the artix-general mailing list