Bug 1099862

Summary: supermin: internal error: assertion failed at rpm.ml, line 227, char 11
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: superminAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: lyarwood, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: xz-5.1.2-9alpha.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-30 23:51:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Richard W.M. Jones 2014-05-21 11:33:04 UTC
Description of problem:

(Reported by Lee Yarwood)

# export LIBGUESTFS_DEBUG=1
# export LIBGUESTFS_TRACE=1
# virt-sysprep -a disk.img --install http://[path obscured]/some.rpm
[   0.0] Examining the guest ...
libguestfs: trace: set_verbose true
libguestfs: trace: set_verbose = 0
libguestfs: create: flags = 0, handle = 0x1f4bc40, program = virt-sysprep
libguestfs: trace: add_drive "rhelosp4a3-ha-controller-1.img" "readonly:false" "protocol:file" "discard:besteffort"
libguestfs: trace: add_drive = 0
libguestfs: trace: launch
libguestfs: trace: get_tmpdir
libguestfs: trace: get_tmpdir = "/tmp"
libguestfs: trace: version
libguestfs: trace: version = <struct guestfs_version *>
libguestfs: trace: get_backend
libguestfs: trace: get_backend = "libvirt"
libguestfs: launch: program=virt-sysprep
libguestfs: launch: version=1.26.2fedora=20,release=1.fc20,libvirt
libguestfs: launch: backend registered: unix
libguestfs: launch: backend registered: uml
libguestfs: launch: backend registered: libvirt
libguestfs: launch: backend registered: direct
libguestfs: launch: backend=libvirt
libguestfs: launch: tmpdir=/tmp/libguestfsqWYf7J
libguestfs: launch: umask=0022
libguestfs: launch: euid=0
libguestfs: libvirt version = 1001003 (1.1.3)
libguestfs: guest random name = guestfs-ofcjkfpr3pv9c6u8
libguestfs: [00000ms] connect to libvirt
libguestfs: opening libvirt handle: URI = qemu:///system, auth = default+wrapper, flags = 0
libguestfs: successfully opened libvirt handle: conn = 0x1f4c6c0
libguestfs: qemu version (reported by libvirt) = 1006002 (1.6.2)
libguestfs: [00010ms] get libvirt capabilities
libguestfs: [00020ms] parsing capabilities XML
libguestfs: [00021ms] build appliance
libguestfs: trace: get_cachedir
libguestfs: trace: get_cachedir = "/var/tmp"
libguestfs: [00022ms] begin building supermin appliance
libguestfs: [00022ms] run supermin
libguestfs: command: run: /usr/bin/supermin
libguestfs: command: run: \ --build
libguestfs: command: run: \ --verbose
libguestfs: command: run: \ --if-newer
libguestfs: command: run: \ --lock /var/tmp/.guestfs-0/lock
libguestfs: command: run: \ --copy-kernel
libguestfs: command: run: \ -f ext2
libguestfs: command: run: \ --host-cpu x86_64
libguestfs: command: run: \ /usr/lib64/guestfs/supermin.d
libguestfs: command: run: \ -o /var/tmp/.guestfs-0/appliance.d
supermin: version: 5.1.7
supermin: rpm: detected RPM version 4.11
supermin: package handler: fedora/rpm
supermin: acquiring lock on /var/tmp/.guestfs-0/lock
supermin: build: /usr/lib64/guestfs/supermin.d
supermin: build: visiting /usr/lib64/guestfs/supermin.d/base.tar.gz type gzip base image (tar)
supermin: build: visiting /usr/lib64/guestfs/supermin.d/daemon.tar.gz type gzip base image (tar)
supermin: build: visiting /usr/lib64/guestfs/supermin.d/excludefiles type uncompressed excludefiles
supermin: build: visiting /usr/lib64/guestfs/supermin.d/hostfiles type uncompressed hostfiles
supermin: build: visiting /usr/lib64/guestfs/supermin.d/init.tar.gz type gzip base image (tar)
supermin: build: visiting /usr/lib64/guestfs/supermin.d/packages type uncompressed packages
supermin: build: visiting /usr/lib64/guestfs/supermin.d/udev-rules.tar.gz type gzip base image (tar)
supermin: build: 248 packages, including dependencies
supermin: internal error: assertion failed at rpm.ml, line 227, char 11
libguestfs: trace: launch = -1 (error)
Fatal error: exception Guestfs.Error("/usr/bin/supermin exited with error status 1, see debug messages above")
libguestfs: trace: close
libguestfs: closing guestfs handle 0x1f4bc40 (state 0)
libguestfs: command: run: rm
libguestfs: command: run: \ -rf /tmp/libguestfsqWYf7J

Version-Release number of selected component (if applicable):

# rpm -qa | egrep '(libguestfs|supermin)' | sort
febootstrap-supermin-helper-3.21-2.fc18.x86_64
libguestfs-1.26.2-1.fc20.x86_64
libguestfs-bash-completion-1.26.2-1.fc20.noarch
libguestfs-devel-1.26.2-1.fc20.x86_64
libguestfs-gobject-1.26.2-1.fc20.x86_64
libguestfs-gobject-devel-1.26.2-1.fc20.x86_64
libguestfs-java-1.26.2-1.fc20.x86_64
libguestfs-java-devel-1.26.2-1.fc20.x86_64
libguestfs-javadoc-1.26.2-1.fc20.noarch
libguestfs-live-service-1.26.2-1.fc20.x86_64
libguestfs-man-pages-ja-1.26.2-1.fc20.noarch
libguestfs-man-pages-uk-1.26.2-1.fc20.noarch
libguestfs-tools-1.26.2-1.fc20.noarch
libguestfs-tools-c-1.26.2-1.fc20.x86_64
supermin-5.1.7-3.fc20.x86_64

How reproducible:

Reported to happen on all libguestfs commands.

Comment 1 Richard W.M. Jones 2014-05-21 11:37:32 UTC
Lee, does this command give you any output:

rpm -q --qf '[%{FILENAMES} %{FILEFLAGS:fflags}\n]' -a |
grep ' .* '

The idea of the command is to see if any of the paths printed
by RPM contain a space.

That's going to print all paths on your system that contain a space,
which is not the actual failure.  I think the failure is that a path
of a package depended on by libguestfs now contains a space .. not
sure which package that will be yet.

Comment 2 Richard W.M. Jones 2014-05-21 11:54:05 UTC
There is a scratch build of supermin with a patch that makes
the RPM handler use tab instead of space, so it should now be
robust against spaces in filenames.  Please let me know if
this works.

http://koji.fedoraproject.org/koji/taskinfo?taskID=6870510

Comment 3 Fedora Update System 2014-05-21 12:35:20 UTC
xz-5.1.2-9alpha.fc20, supermin-5.1.8-5.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/FEDORA-2014-6534/xz-5.1.2-9alpha.fc20,supermin-5.1.8-5.fc20

Comment 4 Fedora Update System 2014-05-21 23:20:07 UTC
Package xz-5.1.2-9alpha.fc20, supermin-5.1.8-5.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing xz-5.1.2-9alpha.fc20 supermin-5.1.8-5.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-6534/xz-5.1.2-9alpha.fc20,supermin-5.1.8-5.fc20
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2014-05-30 23:51:53 UTC
xz-5.1.2-9alpha.fc20, supermin-5.1.8-5.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.