Subject: bug#61011: ‘guix system vm’ spawns QEMU and hangs

From: Ludovic Courtès <[email-masked]>
Date: Sun, 22 Jan 2023 22:36:21 +0100

Hello,

On my Guix System machine, the ‘qemu-system-x86_64’ spawned by ‘guix
system vm’ hangs after printing “Booting from ROM...”; it has to be
terminated with SIGKILL, SIGINT is not enough.

Specifically:

  $(guix time-machine --commit=66188398c446bdf9ce044fa539536e9b54c28c60 \
    -- system vm gnu/system/examples/bare-bones.tmpl) -m 1024  # Good.

… whereas:

  $(guix time-machine --commit=9923100a42ffa80f604c1c13a5e999e6a4c15146 \
    -- system vm gnu/system/examples/bare-bones.tmpl) -m 1024  # Bad!

I thought the culprit might be this commit:

  commit 9923100a42ffa80f604c1c13a5e999e6a4c15146
  Date:   Fri Dec 23 09:42:27 2022 +0200

      gnu: sgabios: Fix build on cross-build architectures.

      * gnu/packages/firmware.scm (sgabios)[arguments]: When cross-building
      add a make-flag to use the correct objcopy.

… but even after reverting it on today’s master, QEMU occasionally hangs
as before, though not always.

‘qemu-minimal’ as used for “make check-system” seems to work fine.

There have been a number of packages unbundled, so I wonder if another
one of these might be causing problems.

What do you think?

Ludo’.