** Description changed:
- (Updated Description/Summary)
- * This is a bug in the supermin package v5.1.14 in Xenial.
- * This bug affects supermin versions < v5.1.18 when using a
- kernel that is v4.13-based or later.
- * This bug was caused by an update to the mainline v4.13 kernel
- which broke supermin due to the way supermin handled symlinks.
+ An update to mainline kernel v4.13 breaks the supermin v5.1.14
+ package in Xenial. Supermin is a tool for preparing and building
+ very specific, tiny, virtual appliances which boot very fast. It
+ uses an ext2 file system disk image. Users of supermin functionality
+ like guestfish, libguestfs-test-tool, etc., all break in different
+ ways as a result, some catastrophic, but in each case, the tool
+ and virtual appliance are not usable. This impacts the
+ libguestfs-tools package (users of supermin).
- * The bug results in total loss of functionality in supermin
- and users of supermin such as guestfish, libguestfs-test-tool,
- others. i.e. it is a regression in functionality for managing
- virtual appliances.
- * This bug does not affect Bionic, Artful or Trusty (See Comment #14).
- Test Case & Reproduction
- * This bug manifests in different ways based on the caller / use case
- but is reliable and consistent in its reproduction.
- See original description and Comment #12, for trivial repro cases.
- * The fix for the Xenial version includes a backport of 2 upstream
- fixes to the file ext2fs-c.c (the fix for the symlink breakage
- is contained in this file). See comment #13 for details.
- * A separate PPA test package for Xenial is available to test with
- (See comment #13).
- * This fix has been tested successfully on Xenial and shown to fix the
- reported and related breakages as listed in this bug (Comment #12).
- Regression Potential
- * Regression Potential: there might be some bugs in some edge cases
- that have not been tested or some environment that is not typical
- causing some new issue which might affect the creation of the virtual
- appliances and their management/manipulation via tools in the
- libguestfs-tools package (e.g. guestfish).
+ This bug results in users not being able to upgrade their kernel,
+ specifically, use a kernel that is v4.13-based or later. A
+ workaround is to ensure that an earlier kernel (e.g. v4.4-based
+ Xenial kernels) is used by supermin. This can conflict
+ with user needs to use a later kernel for other reasons.
- The attached debdiff is intended to create a rev of the current Xenial
- package version supermin_5.1.14-2ubuntu1 to supermin_5.1.14-2ubuntu1.1.
+ [Test Case]
+ 1) Using the v5.1.14 supermin installed and running on a 4.13-based
+ kernel like 4.13.0-32-generic #35~16.04.1-Ubuntu:
+ (Assuming you have virtualization support packages etc. already
+ $ sudo apt-get install libguestfs-tools
+ $ libguestfs-test-tool
+ [appliance kernel panic or qemu crash or just a silent hang]
+ 2) Using the v5.1.14 supermin version and running on a 4.13-based
+ kernel like 4.13.0-32-generic #35~16.04.1-Ubuntu:
+ # wget
+ # guestfish --rw -a
+ Welcome to guestfish, the guest filesystem shell for
+ editing virtual machine filesystems and disk images.
+ Type: 'help' for help on commands
+ 'man' to read the manual
+ 'quit' to quit the shell
+ ><fs> run
+ libguestfs: error: appliance closed the connection unexpectedly.
+ This usually means the libguestfs appliance crashed.
+ [Regression Potential]
+ * There might be errors in creation and management of tiny
+ supermin appliances via tools in the libguestfs-tools
+ [Other Info]
+ * From the upstream patch description, brief explanation of
+ the bug:
+ "The ext2 filesystem on disk format has two ways to store symlinks.
+ For symlinks >= 60 bytes in length, they are stored as files
+ (so-called "slow symlinks"). For shorter symlinks the symlink is
+ stored in the inode ("fast symlinks").
+ Previously we only created slow symlinks even if they are shorter than
+ 60 bytes. This didn't matter until recently, when a change went into
+ the upstream kernel which assumes that symlinks shorter than 60 bytes
+ are always stored in the inode, thus breaking the filesystems that we
+ created before..."
+ Note that the real fix is to switch to use ext2fs_symlink() to create
+ * A fix for this problem went into upstream supermin v5.1.18.
+ Thus this bug affects supermin < v5.1.18, and kernel >= v4.13.
+ * Thus this bug only affects the Ubuntu Xenial distro release:
+ supermin = v5.1.14
+ kernel = v4.13.*
+ Artful includes the v4.1.18 supermin package (which has the symlink fix)
+ and Bionic has a later one (v4.1.19). Thus neither is affected by
+ this issue. Trusty is running an older version (4.1.6-1) of supermin
+ but is not running the v4.13 or later kernel, and is thus not affected
+ * This fix has been tested successfully on Xenial and shown to fix the
+ reported and related breakages as listed in the Test Case section
+ and more.
+ * A public PPA test package for Xenial is available to test with
+ and has been tested by at least one user who was seeing the
+ problem, successfully.
+ * This fix backports 2 patches from upstream:
+ 1. ext2: Don't load whole files into memory when copying to the appliance
+ 2. ext2: Create symlinks properly (RHBZ#1470157).
+ Patch 1 is necessary as it supplies some dependent code
+ used by Patch 2; and Patch 2 does not compile cleanly without
+ Both patches are contained to a single file (ext2fs-c.c).
+ * The fixed supermin has been tested with older (< 4.13) kernels
+ as well, with no regression or issues.
+ * There is no security impact / aspect to this change (as confirmed
+ by a quick review from security team member)
after upgrade to 4.13.0-26-generic #29~16.04.2-Ubuntu all the virt-* tools
not work anymore
running the libguestfs-test-tool shows that the qemu kernel crashes
[ 0.755354] Kernel panic - not syncing: Attempted to kill init!
[ 0.756619] CPU: 0 PID: 1 Comm: init Not tainted 4.13.0-26-generic
[ 0.757893] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
[ 0.759157] Call Trace:
[ 0.759444] dump_stack+0x63/0x8b
[ 0.760847] panic+0xe4/0x23d
[ 0.761184] do_exit+0xae6/0xaf0
[ 0.761547] ? dput+0x34/0x1f0
[ 0.762292] do_group_exit+0x43/0xb0
[ 0.762690] SyS_exit_group+0x14/0x20
[ 0.763333] entry_SYSCALL_64_fastpath+0x1e/0x81
[ 0.764221] RIP: 0033:0x451579
[ 0.764799] RSP: 002b:00007ffda4fe3768 EFLAGS: 00000246 ORIG_RAX:
[ 0.766275] RAX: ffffffffffffffda RBX: 0000000001415cb3 RCX:
[ 0.767056] RDX: 0000000000000008 RSI: 0000000000000001 RDI:
[ 0.768290] RBP: 0000000001415c30 R08: 000000000000003c R09:
[ 0.769451] R10: ffffffffffffffd0 R11: 0000000000000246 R12:
[ 0.770651] R13: 0044b82fa09b5a53 R14: 0000000000000000 R15:
[ 0.772563] Kernel Offset: 0x3cc00000 from 0xffffffff81000000 (relocation
[ 0.774729] Rebooting in 1 seconds..
libguestfs: error: appliance closed the connect
DistroRelease: Ubuntu 16.04
Package: linux-image-4.13.0-26-generic 4.13.0-26.29~16.04.2
ProcVersionSignature: Ubuntu 4.13.0-26.29~16.04.2-generic 4.13.13
Uname: Linux 4.13.0-26-generic x86_64
Date: Mon Jan 15 07:03:40 2018
InstallationDate: Installed on 2017-07-14 (184 days ago)
InstallationMedia: Ubuntu-Server 16.04.2 LTS "Xenial Xerus" - Release amd64
UpgradeStatus: No upgrade log present (probably fresh install)
** Patch removed: "Debdiff for updated supermin package in Xenial."
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
libguestfs not work anymore with 4.13.0-26-generic #29~16.04.2-Ubuntu
To manage notifications about this bug go to:
ubuntu-bugs mailing list