[Bug 1743300] Re: libguestfs not work anymore with 4.13.0-26-generic #29~16.04.2-Ubuntu
Brian Murray
brian at ubuntu.com
Tue Feb 20 00:06:18 UTC 2018
Hello Oliver, or anyone else affected,
Accepted supermin into xenial-proposed. The package will build now and
be available at
https://launchpad.net/ubuntu/+source/supermin/5.1.14-2ubuntu1.1 in a few
hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-xenial to verification-done-xenial. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-xenial. In either case, without details of
your testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance!
** Changed in: supermin (Ubuntu Xenial)
Status: In Progress => Fix Committed
** Tags added: verification-needed verification-needed-xenial
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1743300
Title:
libguestfs not work anymore with 4.13.0-26-generic #29~16.04.2-Ubuntu
Status in supermin package in Ubuntu:
Fix Released
Status in supermin source package in Xenial:
Fix Committed
Bug description:
[Impact]
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).
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.
[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
installed):
$ 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 https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img -O /var/lib/libvirt/images/ubuntu-16.04-server-cloudimg-amd64-disk1.img
# guestfish --rw -a /var/lib/libvirt/images/ubuntu-16.04-server-cloudimg-amd64-disk1.img
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
package.
[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
links.
* 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
either.
* 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 (RHBZ#1113065).
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
it.
https://github.com/libguestfs/supermin/commit/158854e3ba4be7f6b8d81f662ddad98358ede1de
https://github.com/libguestfs/supermin/commit/f5a3deef588759c49dc862427a265aced612002d
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)
----
Original Description
=====================
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! exitcode=0x00000100
[ 0.755354]
[ 0.756619] CPU: 0 PID: 1 Comm: init Not tainted 4.13.0-26-generic #29~16.04.2-Ubuntu
[ 0.757893] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
[ 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: 00000000000000e7
[ 0.766275] RAX: ffffffffffffffda RBX: 0000000001415cb3 RCX: 0000000000451579
[ 0.767056] RDX: 0000000000000008 RSI: 0000000000000001 RDI: 0000000000000001
[ 0.768290] RBP: 0000000001415c30 R08: 000000000000003c R09: 00000000000000e7
[ 0.769451] R10: ffffffffffffffd0 R11: 0000000000000246 R12: 0000000000000000
[ 0.770651] R13: 0044b82fa09b5a53 R14: 0000000000000000 R15: 0000000001415c30
[ 0.772563] Kernel Offset: 0x3cc00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[ 0.774729] Rebooting in 1 seconds..
libguestfs: error: appliance closed the connect
ProblemType: Bug
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
ApportVersion: 2.20.1-0ubuntu2.15
Architecture: amd64
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 (20170215.8)
SourcePackage: linux-hwe
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/supermin/+bug/1743300/+subscriptions
More information about the Ubuntu-sponsors
mailing list