[Bug 1743300] Re: libguestfs not work anymore with 4.13.0-26-generic #29~16.04.2-Ubuntu

Nivedita Singhvi nivedita.singhvi at canonical.com
Wed Feb 14 22:49:18 UTC 2018


Revised debdiff for the following changes:

* correct syntax for LP Bug #
* kept upstream patches as their original separate patches, rather 
  than combining into one (second needed patch does not compile 
  without the first change).

-- 
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:
  In Progress

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