setupcon cannot handle large fonts in FONT, "putfont: KDFONTOP: Invalid argument"

Bug #1865088 reported by Ben Harris
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
console-setup (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

When I specify a large font file using the FONT variable in .console-setup, setupcon fails to load the font, reporting "putfont: KDFONTOP: Invalid argument". If I specify the same font by setting CODESET, FONTFACE, and FONTSIZE, the setupcon loads it fine.

For instance, if I have the following files:

bjh21@sole:~$ tail .console-setup.test*
==> .console-setup.test1 <==
VERBOSE_OUTPUT="no"
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="Uni2"
FONTFACE="Terminus"
FONTSIZE="32x16"

==> .console-setup.test2 <==
VERBOSE_OUTPUT="no"
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
FONT=Uni2-Terminus32x16.psf.gz

==> .console-setup.test3 <==
VERBOSE_OUTPUT="no"
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
FONT=Uni2-Terminus16.psf.gz

Running "setupcon test1" correctly loads Uni2-Terminus32x16, but "setupcon test2" does not, reporting "putfont: KDFONTOP: Invalid argument". "setupcon test3" works, demonstrating that not all uses of FONT are broken.

I've attached the verbose output from "setupcon -v test2".

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: console-setup 1.178ubuntu2.9
ProcVersionSignature: Ubuntu 4.15.0-88.88-generic 4.15.18
Uname: Linux 4.15.0-88-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.11
Architecture: i386
CurrentDesktop: Unity:Unity7:ubuntu
Date: Thu Feb 27 20:40:08 2020
DistributionChannelDescriptor:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-motts-20100121-3
EcryptfsInUse: Yes
InstallationDate: Installed on 2010-06-09 (3550 days ago)
InstallationMedia: Ubuntu GNU/Linux 9.10 "Karmic" - Build i386 LIVE Binary 20100121-21:52
PackageArchitecture: all
SourcePackage: console-setup
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Ben Harris (bjh21.me.uk) wrote :
Revision history for this message
Ben Harris (bjh21.me.uk) wrote :

I notice that the output from setupcon mentions loading the font twice. That seems to correspond to this fragment of code in setupcon:

# FONTFILES
FONTFILES=''
if [ "$FONT" ]; then
    for f in $FONT; do
        FONTFILES="$FONTFILES `findfile $fontdir $f`"
        RES=`findfile $fontdir $f`
        if [ -z "$RES" ]; then
            fdec="${f%.gz}"
            RES=`findfile $fontdir $fdec`
        fi
        FONTFILES="$FONTFILES $RES"
    done
fi

It looks to me like this will add each font file to FONTFILES twice, once in the first line of the loop body, and once in the last.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in console-setup (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.