• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

systemd / systemd
72%

Build:
DEFAULT BRANCH: main
Repo Added 22 Sep 2021 02:51PM UTC
Files 2018
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: main
CHANGE BRANCH
x
Reset
  • main
  • arm
  • backport-mkosi
  • bpf_token
  • ci
  • coverage
  • dependabot/github_actions/actions-6de3b69595
  • dependabot/github_actions/actions-9300885c21
  • dependabot/github_actions/coverallsapp/github-action-2.3.6
  • dependabot/github_actions/systemd/mkosi-df51194bc2d890d4c267af644a1832d2d53339ac
  • dependabot/github_actions/systemd/mkosi-e805253447bbab0cf6b21fe2acc08082a86be16e
  • drop-workaround
  • ephemeral
  • fix
  • fmf
  • hacking
  • history
  • hyperscale
  • integration-test-fix
  • integration-tests
  • meson-find-program
  • mkosi
  • mkosi-args
  • mkosi-debug
  • mkosi-update
  • mkosi_arm
  • mkosi_update
  • musl-v259
  • musl-v259-mkosi
  • ppc_s390
  • pr
  • qemu_debug
  • qemu_logs
  • ruff
  • ruff-python-scripts
  • signal
  • standalone
  • test-06-selinux-opensuse
  • test-mount-dependencies
  • test_qemu_debug
  • test_sb
  • test_selinux_skip
  • update-mkosi
  • v257-backport
  • v257-stable
  • v258-stable
  • v259-stable

31 Mar 2026 12:42PM UTC coverage: 72.404% (+0.006%) from 72.398%
23825567702

push

github

daandemeyer
terminal-util: fix boot hang from ANSI terminal size queries

Since v257, terminal_fix_size() is called during early boot via
console_setup() → reset_dev_console_fd() to query terminal dimensions
via ANSI escape sequences. This has caused intermittent boot hangs
where the system gets stuck with a blinking cursor and requires a
keypress to continue (see systemd/systemd#35499).

The function tries CSI 18 first, then falls back to DSR if that fails.
Previously, each method independently opened a non-blocking fd, disabled
echo/icanon, ran its query, restored termios, and closed its fd. This
created two problems:

1. Echo window between CSI 18 and DSR fallback: After CSI 18 times out
   and restores termios (re-enabling ECHO and ICANON), there is a brief
   window before DSR disables them again. If the terminal's CSI 18
   response arrives during this window, it is echoed back to the
   terminal — where the terminal interprets \e[8;rows;cols t as a
   "resize text area" command — and the response bytes land in the
   canonical line buffer as stale input that can confuse the DSR
   response parser.

2. Cursor left at bottom-right on DSR timeout: The DSR method worked by
   sending two DSR queries — one to save the cursor position, then
   moving the cursor to (32766,32766) and sending another to read the
   clamped position. If neither response was received (timeout), the
   cursor restore was skipped (conditional on saved_row > 0), leaving
   the cursor at the bottom-right corner of the terminal. The
   subsequent terminal_reset_ansi_seq() then moved it to the beginning
   of the last line via \e[1G, making boot output appear at the bottom
   of the screen — giving the appearance of a hang even when the system
   was still booting.

This commit fixes both issues:

- terminal_fix_size() now opens the non-blocking fd and configures
  termios once for both query methods, so echo stays disabled for the
  entire CSI 18 → DSR fallback sequence with no gap. tcflu... (continued)

22 of 57 new or added lines in 3 files covered. (38.6%)

834 existing lines in 52 files now uncovered.

318485 of 439872 relevant lines covered (72.4%)

1162379.76 hits per line

Relevant lines Covered
Build:
Build:
439872 RELEVANT LINES 318485 COVERED LINES
1162379.76 HITS PER LINE
Source Files on main
  • Tree
  • List 2018
  • Changed 88
  • Source Changed 22
  • Coverage Changed 79
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
23825567702 main terminal-util: fix boot hang from ANSI terminal size queries Since v257, terminal_fix_size() is called during early boot via console_setup() → reset_dev_console_fd() to query terminal dimensions via ANSI escape sequences. This has caused intermit... push 01 Apr 2026 02:59AM UTC daandemeyer github
72.4
23774132158 main Only enable `NoAuto=true` for supported partitions When `Format=empty` is set we need to check for `NoAuto` support for the partition type, else we print a warning later in the build. Followup for 381304a push 31 Mar 2026 02:57AM UTC daandemeyer github
72.4
23722534442 main repart: allow --el-torito= with any --empty= value The restriction requiring --empty= to be require, force, or create when using --el-torito= is unnecessary. context_verify_eltorito_overlap() already validates that the ISO 9660 blocks don't colli... push 30 Mar 2026 03:02AM UTC daandemeyer github
72.21
23697482987 main repart: Make it possible to set persistent allow-discards activation flag AllowDiscards= will set allow-discards in the persistent flags which will make activating the device automatically activate with that option. This is useful for devices dis... push 29 Mar 2026 03:05AM UTC daandemeyer github
72.41
23672908348 main boot-entry: add 'auto' keyword to parse_boot_entry_token_type Add the auto keyword as documented in the help message and man pages of `kernel-install`, `bootctl` and `systemd-pcrlock`. push 28 Mar 2026 03:32AM UTC daandemeyer github
72.4
23624534405 main Make imds networking unlocked by default (#41359) push 27 Mar 2026 02:54AM UTC web-flow github
72.11
23570886220 main tpm2-util: fix PCR bank guessing without EFI Since 7643e4a89 efi_get_active_pcr_banks() is used to determine the active PCR banks. Without EFI support, this returns -EOPNOTSUPP. This in turns leads to cryptenroll and cryptsetup attach failures un... push 26 Mar 2026 02:53AM UTC poettering github
72.36
23518499972 main resolved: add "static RRs" concept (#41213) split out of #40980 push 25 Mar 2026 03:00AM UTC web-flow github
72.57
23415972010 main ssh: handle VMADDR_CID_ANY in a couple places (#41230) Originally reported in Ubuntu as https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2145027. push 23 Mar 2026 03:01AM UTC web-flow github
72.58
23367620641 main kmod-setup: load vsock_loopback alongside vsock Loading vmw_vsock_virtio_transport early at boot causes vsock to be resident before any application opens an AF_VSOCK socket. Because the kernel skips autoloading when the vsock module is already pr... push 21 Mar 2026 02:42AM UTC bluca github
72.61
See All Builds (2291)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc