Package: console-setup
Version: 1.226
Severity: normal
Tags: patch

Dear Maintainer,
On occasion I have a situation where console-setup.service fails to
start up due to a race condition. After investigating this, it was
already reported in Ubuntu back in 2019 and I have verified that the
patch they have implemented resolves the issue for me:

admin@boxpc001-a8f7693fbff14940ade0e3247b1cea8e:~$ for s in $(systemctl 
list-units --type service --full --failed --plain --no-legend | cut -f 1 -d ' 
'); do journalctl --boot --no-pager --unit "${s}"; done
May 28 13:15:05 boxpc001 systemd[1]: Starting console-setup.service - Set 
console font and keymap...
May 28 13:15:05 boxpc001 console-setup.sh[588]: /usr/bin/setupcon: 999: cannot 
open /tmp/tmpkbd.hoHrPK: No such file
May 28 13:15:05 boxpc001 systemd[1]: console-setup.service: Main process 
exited, code=exited, status=1/FAILURE
May 28 13:15:05 boxpc001 systemd[1]: console-setup.service: Failed with result 
'exit-code'.
May 28 13:15:05 boxpc001 systemd[1]: Failed to start console-setup.service - 
Set console font and keymap.

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (400, 
'bookworm'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.7.12-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages console-setup depends on:
ii  console-setup-linux     1.226
ii  debconf [debconf-2.0]   1.5.86
ii  keyboard-configuration  1.226
ii  xkb-data                2.41-2

console-setup recommends no packages.

Versions of packages console-setup suggests:
ii  locales                    2.38-11
ii  lsb-base                   11.6
ii  sysvinit-utils [lsb-base]  3.09-1

Versions of packages keyboard-configuration depends on:
ii  debconf [debconf-2.0]   1.5.86
ii  liblocale-gettext-perl  1.07-7
ii  xkb-data                2.41-2

Versions of packages console-setup-linux depends on:
ii  init-system-helpers     1.66
ii  kbd                     2.6.4-2
ii  keyboard-configuration  1.226

console-setup-linux suggests no packages.

Versions of packages console-setup is related to:
pn  console-common        <none>
pn  console-data          <none>
pn  console-tools         <none>
ii  gnome-control-center  1:46.0.1-1
ii  kbd                   2.6.4-2
ii  systemd               255.5-1

-- debconf information:
* keyboard-configuration/optionscode:
  console-setup/use_system_font:
  console-setup/store_defaults_in_debconf_db: true
  debian-installer/console-setup-udeb/title:
  keyboard-configuration/unsupported_config_layout: true
* keyboard-configuration/model: Generic 105-key PC
* keyboard-configuration/store_defaults_in_debconf_db: true
* keyboard-configuration/switch: No temporary switch
* keyboard-configuration/layout:
  keyboard-configuration/unsupported_layout: true
  console-setup/fontsize: 8x16
  console-setup/codeset47: # Latin1 and Latin5 - western Europe and Turkic 
languages
  console-setup/guess_font:
* keyboard-configuration/layoutcode: us
* keyboard-configuration/altgr: The default for the keyboard layout
  console-setup/fontsize-fb47: 8x16
* keyboard-configuration/xkb-keymap: us
* keyboard-configuration/variantcode:
* keyboard-configuration/toggle: No toggling
* keyboard-configuration/modelcode: pc105
* keyboard-configuration/compose: No compose key
  console-setup/fontface47: Fixed
  console-setup/framebuffer_only:
* keyboard-configuration/other:
  console-setup/fontsize-text47: 8x16
  console-setup/codesetcode: Lat15
* keyboard-configuration/variant: English (US)
  keyboard-configuration/unsupported_options: true
  console-setup/charmap47: UTF-8
  keyboard-configuration/ctrl_alt_bksp: false
  keyboard-configuration/unsupported_config_options: true
diff -Nru console-setup-1.108ubuntu15.4/debian/changelog 
console-setup-1.108ubuntu15.5/debian/changelog
--- console-setup-1.108ubuntu15.4/debian/changelog      2017-10-05 
19:36:07.000000000 +0000
+++ console-setup-1.108ubuntu15.5/debian/changelog      2019-04-10 
20:16:29.000000000 +0000
@@ -1,3 +1,13 @@
+console-setup (1.108ubuntu15.5) xenial; urgency=medium
+
+  * setupcon: use /run for tempfiles (and dump the various unnecessary
+    fallback paths), since /run is always mountable rw at least as early as
+    /tmp is and is guaranteed to be safe from tmpcleaners at boot.  Only keep
+    /tmp as a fallback in case we have access to write to /tmp and to a
+    console, but not to /run.  LP: #1824227.
+
+ -- Steve Langasek <steve.langa...@ubuntu.com>  Wed, 10 Apr 2019 13:16:29 -0700
+
 console-setup (1.108ubuntu15.4) xenial; urgency=medium
 
    * Drop dependency from console-setup to initramfs-tools |
diff -Nru console-setup-1.108ubuntu15.4/setupcon 
console-setup-1.108ubuntu15.5/setupcon
--- console-setup-1.108ubuntu15.4/setupcon      2016-04-04 17:41:49.000000000 
+0000
+++ console-setup-1.108ubuntu15.5/setupcon      2019-04-10 20:16:13.000000000 
+0000
@@ -56,11 +56,8 @@
     local tmp
     tmp="$TMPFILE"
     if \
-        TMPFILE=`mktemp /tmp/tmpkbd.XXXXXX 2>/dev/null` \
-            || TMPFILE=`mktemp /run/tmpkbd.XXXXXX 2>/dev/null` \
-            || TMPFILE=`mktemp /dev/.tmpkbd.XXXXXX 2>/dev/null` \
-            || TMPFILE=`mktemp /lib/init/rw/tmpkbd.XXXXXX 2>/dev/null` \
-            || TMPFILE=`mktemp 2>/dev/null`
+        TMPFILE=`mktemp /run/tmpkbd.XXXXXX 2>/dev/null` \
+            || TMPFILE=`mktemp /tmp/tmpkbd.XXXXXX 2>/dev/null`
     then
         if [ -z "$tmp" ]; then
             trap 'rm -f "$TMPFILE" >/dev/null 2>&1' 0

Reply via email to