Bug 613967

Summary: guestfsd segfaults in libaugeas.so
Product: Red Hat Enterprise Linux 6 Reporter: Mohua Li <moli>
Component: augeasAssignee: David Lutterkort <lutter>
Status: CLOSED CURRENTRELEASE QA Contact: BaseOS QE - Apps <qe-baseos-apps>
Severity: high Docs Contact:
Priority: high    
Version: 6.0CC: antillon.maurizio, cshao, hbrock, leiwang, llim, lutter, mbooth, mgoldman, moli, mshao, rjones, rwu, syeghiay
Target Milestone: rcKeywords: Regression, Reopened, TestBlocker
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: augeas-0.7.2-3.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 631770 (view as bug list) Environment:
Last Closed: 2010-11-10 19:55:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 613562    
Attachments:
Description Flags
log for xenpv convert
none
log from LIBGUESTFS_DEBUG and LIBGUESTFS_MEMSIZE=2000
none
Core dump and corresponding guestfsd none

Description Mohua Li 2010-07-13 11:47:00 UTC
Description of problem:
v2v fail to convert any xenpv in rhel6, try several different xenpv image, like rhel5u4,rhel5u5, rhel4u8, all exit with error, but this issue not exist on rhel5, detail as below, 

[root@dhcp-66-70-73 v2v]# virt-v2v -f /etc/virt-v2v.conf -ic xen+ssh://10.66.92.96 -o rhev -osd 10.66.90.115:/vol/v2vwulinglu/wulingluv2v/fcp_export   rhel5u5-64b-pv-raw-intel.img

root.92.96's password: 

root.92.96's password: 

add_drive_with_if "/tmp/VKGh2yhkr9/70351f38-8a05-4013-8995-376bf6a0a1c1/v2v.HQ6UFuxa/46557b84-7aec-4c40-aabe-3df9eb0fc4ca/cb341a11-08fe-46ea-bc20-0cafce302363" "ide"

add_drive_ro_with_if "/var/lib/virt-v2v/transfer.iso" "ide"

launch

set_autosync true

list_partitions

pvs

available "lvm2"

lvs

file "/dev/VolGroup00/LogVol00"

get_e2uuid "/dev/VolGroup00/LogVol00"

get_e2label "/dev/VolGroup00/LogVol00"

mount_ro "/dev/VolGroup00/LogVol00" "/"

is_file "/grub/menu.lst"

.....................................

tty11

" 122

aug_match "/files/boot/grub/menu.lst/title/kernel/console"

aug_save

umount "/transferQln63N"

guestfs_umount: call launch before using this function

(in guestfish, don't forget to use the 'run' command) at /usr/share/perl5/Sys/VirtV2V/GuestfsHandle.pm line 187.







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

libvirt-0.8.1-13.el6.x86_64

libguestfs-1.2.7-1.el6.5.x86_64

libguestfs-winsupport-1.0-5.el6.x86_64

Red Hat Enterprise Linux Server release 6.0 Beta (Santiago) snapshot 7



How reproducible:
always

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Mohua Li 2010-07-13 11:49:17 UTC
Created attachment 431430 [details]
log for xenpv convert

Comment 3 cshao 2010-07-21 10:09:59 UTC
After test again, v2v successful to convert xenpv in rhel6, so close the bug now. please see as follows:

[root@dhcp-93-235 pv]# virt-v2v -ic xen+ssh://10.66.91.118 -o rhev -osd 10.66.90.115:/vol/v2vwulinglu/wulingluv2v/fcp_export rhel4u8-32b-pv-raw-intel
The authenticity of host '10.66.91.118 (10.66.91.118)' can't be established.                                                                         
RSA key fingerprint is 78:4c:54:86:c6:7e:0c:a5:f3:03:5f:d1:0f:09:d1:d7.                                                                              
Are you sure you want to continue connecting (yes/no)? yes                                                                                           
root.91.118's password:                                                                                                                        
root.91.118's password:                                                                                                                        
virt-v2v: Failed to install packages using up2date. Error message was: command:  at /usr/share/perl5/Sys/VirtV2V/GuestfsHandle.pm line 187.          

virt-v2v: WARNING: No mapping found for bridge interface xenbr0 in config file. The converted guest may not start until its network interface is updated.
virt-v2v: rhel4u8-32b-pv-raw-intel configured with virtio drivers
[root@dhcp-93-235 pv]# virt-v2v -ic xen+ssh://10.66.91.118 -o rhev -osd 10.66.90.115:/vol/v2vwulinglu/wulingluv2v/fcp_export rhel5u5-32b-pv-raw-intel
root.91.118's password:
root.91.118's password:
virt-v2v: WARNING: No mapping found for bridge interface xenbr0 in config file. The converted guest may not start until its network interface is updated.
virt-v2v: rhel5u5-32b-pv-raw-intel configured with virtio drivers
[root@dhcp-93-235 pv]# virt-v2v -ic xen+ssh://10.66.91.118 -o rhev -osd 10.66.90.115:/vol/v2vwulinglu/wulingluv2v/fcp_export rhel5u5-64b-pv-raw-intel
root.91.118's password:
root.91.118's password:
virt-v2v: WARNING: No mapping found for bridge interface xenbr0 in config file. The converted guest may not start until its network interface is updated.
virt-v2v: rhel5u5-64b-pv-raw-intel configured with virtio drivers
[root@dhcp-93-235 pv]# virt-v2v -ic xen+ssh://10.66.91.118 -o rhev -osd 10.66.90.115:/vol/v2vwulinglu/wulingluv2v/fcp_export rhel4u8-64b-pv-raw-intel
root.91.118's password:
root.91.118's password:
virt-v2v: Failed to install packages using up2date. Error message was: command:  at /usr/share/perl5/Sys/VirtV2V/GuestfsHandle.pm line 187.

virt-v2v: WARNING: No mapping found for bridge interface xenbr0 in config file. The converted guest may not start until its network interface is updated.
virt-v2v: rhel4u8-64b-pv-raw-intel configured with virtio drivers

Comment 4 cshao 2010-07-22 01:25:04 UTC
Version-Release number of selected component:

libvirt-0.8.1-15.el6.x86_64

libguestfs-1.2.7-1.16.el6.x86_64

libguestfs-winsupport-1.0-5.el6.x86_64

Comment 5 cshao 2010-07-22 01:38:29 UTC
Because the libguestfs and libvirt version have been upgraded, solved the problem, after test again with new version in rhel6, the bug is not exist. So close the bug.

Comment 6 Rita Wu 2010-07-28 08:27:56 UTC
It re-occurs on the following verision, so reopen it. And set "Regression" as keyword.
# rpm -qa|grep virt-v2v
virt-v2v-0.6.1-2.el6.x86_64
# rpm -qa|grep libguestfs
libguestfs-1.2.7-1.21.el6.x86_64

Steps and results:

# LIBGUESTFS_TRACE=1 virt-v2v -ic xen+ssh://10.66.91.118 -o rhev -osd 10.66.90.115:/vol/v2vwulinglu/wulingluv2v/fcp_export xen-rhel54-32-pv.raw 2>&1 xen-rhel54-32-pv.raw.log
root.91.118's password:
root.91.118's password:
add_drive_with_if "/tmp/2sppGl3iox/70351f38-8a05-4013-8995-376bf6a0a1c1/v2v.Hefl66v7/a98675cf-82f1-4b27-83b0-6aede4d0ec5d/ec91ad0e-396b-42f0-84b9-1036c9886994" "ide"
add_drive_ro_with_if "/var/lib/virt-v2v/transfer.iso" "ide"
launch
set_autosync true
list_partitions
pvs
available "lvm2"
lvs
file "/dev/VolGroup00/LogVol00"
get_e2uuid "/dev/VolGroup00/LogVol00"
get_e2label "/dev/VolGroup00/LogVol00"
mount_ro "/dev/VolGroup00/LogVol00" "/"
is_file "/grub/menu.lst"
is_file "/grub/grub.conf"
is_dir "/etc"
is_dir "/bin"
is_file "/etc/fstab"
exists "/etc/redhat-release"
cat "/etc/redhat-release"
cat "/etc/fstab"
is_file "/bin/bash"
file "/bin/bash"
umount_all
file "/dev/VolGroup00/LogVol01"
umount_all
file "/dev/sda1"
get_e2uuid "/dev/sda1"
get_e2label "/dev/sda1"
mount_ro "/dev/sda1" "/"
is_file "/grub/menu.lst"
is_file "/grub/grub.conf"
umount_all
mount_options "" "/dev/VolGroup00/LogVol00" "/"
is_dir "/boot"
mount_options "" "/dev/sda1" "/boot"
command_lines "rpm -q -a --qf %{name} %{epoch} %{version} %{release} %{arch}
"
available "augeas"
aug_init "/" 16
aug_match "/files//etc/grub.conf/title"
aug_get "/files/etc/grub.conf/title"
aug_get "/files/etc/grub.conf/title/kernel"
aug_match "/files/etc/grub.conf/title/kernel/*"
aug_get "/files/etc/grub.conf/title/kernel/ro"
aug_get "/files/etc/grub.conf/title/kernel/root"
aug_get "/files/etc/grub.conf/title/kernel/rhgb"
aug_get "/files/etc/grub.conf/title/kernel/quiet"
exists "/boot/vmlinuz-2.6.18-164.el5xen"
command "rpm -qf --qf %{NAME} /boot/vmlinuz-2.6.18-164.el5xen"
file "/boot/vmlinuz-2.6.18-164.el5xen"
is_dir "/lib/modules/2.6.18-164.el5xen"
find "/lib/modules/2.6.18-164.el5xen"
file "/lib/modules/2.6.18-164.el5xen/kernel/arch/i386/crypto/aes-i586.ko"
aug_get "/files/etc/grub.conf/title/initrd"
exists "/boot/initrd-2.6.18-164.el5xen.img"
file "/boot/initrd-2.6.18-164.el5xen.img"
initrd_list "/boot/initrd-2.6.18-164.el5xen.img"
aug_get "/files//etc/grub.conf/default"
aug_init "/" 16
aug_match "/files/etc/conf.modules/alias"
aug_match "/files/etc/modules.conf/alias"
aug_match "/files/etc/modprobe.conf/alias"
aug_get "/files/etc/modprobe.conf/alias[1]"
aug_get "/files/etc/modprobe.conf/alias[1]/modulename"
aug_get "/files/etc/modprobe.conf/alias[2]"
aug_get "/files/etc/modprobe.conf/alias[2]/modulename"
aug_match "/files/etc/modprobe.d/*/alias"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[1]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[1]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[2]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[2]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[3]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[3]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[4]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[4]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[5]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[5]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[6]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[6]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[7]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[7]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[8]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[8]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[9]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[9]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[10]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[10]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[11]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[11]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[12]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[12]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[13]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[13]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[14]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[14]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[15]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[15]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[16]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[16]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[17]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[17]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[18]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[18]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[19]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[19]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[20]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[20]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[21]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[21]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[22]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[22]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[23]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[23]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[24]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[24]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[25]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[25]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[26]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[26]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[27]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[27]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[28]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[28]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[29]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[29]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[30]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[30]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[31]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[31]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[32]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[32]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[33]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[33]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[34]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[34]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[35]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[35]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[36]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[36]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[37]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[37]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[38]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[38]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[39]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[39]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[40]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[40]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[41]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[41]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[42]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[42]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[43]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[43]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[44]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[44]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[45]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[45]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[46]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[46]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[47]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[47]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[48]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[48]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[49]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[49]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[50]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[50]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[51]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[51]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[52]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[52]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[53]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[53]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[54]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[54]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[55]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[55]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[56]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[56]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[57]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[57]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[58]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[58]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[59]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[59]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[60]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[60]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[61]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[61]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[62]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[62]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[63]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[63]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[64]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[64]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[65]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[65]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[66]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[66]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[67]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[67]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[68]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[68]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[69]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[69]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[70]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[70]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[71]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[71]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[72]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[72]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[73]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[73]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[74]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[74]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[75]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[75]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[76]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[76]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[77]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[77]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[78]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[78]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[79]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[79]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[80]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[80]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[81]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[81]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[82]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[82]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[83]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[83]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[84]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[84]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[85]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[85]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[86]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[86]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[87]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[87]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[88]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[88]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[89]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[89]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[90]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[90]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[91]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[91]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[92]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[92]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[93]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[93]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[94]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[94]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[95]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[95]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[96]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[96]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[97]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[97]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[98]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[98]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[99]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[99]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[100]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[100]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[101]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[101]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[102]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[102]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[103]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[103]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[104]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[104]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[105]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[105]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[106]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[106]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[107]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[107]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[108]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[108]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[109]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[109]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[110]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[110]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[111]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[111]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[112]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[112]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[113]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[113]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[114]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[114]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[115]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[115]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[116]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[116]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[117]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[117]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[118]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[118]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[119]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[119]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[120]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[120]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[121]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[121]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[122]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[122]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[123]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[123]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[124]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[124]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[125]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[125]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[126]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[126]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[127]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[127]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[128]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[128]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[129]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[129]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[130]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[130]/modulename"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[131]"
aug_get "/files/etc/modprobe.d/modprobe.conf.dist/alias[131]/modulename"
exists "/usr/sbin/load_policy"
touch "/.autorelabel"
exists "/etc/conf.modules"
exists "/etc/modules.conf"
exists "/etc/modprobe.conf"
exists "/etc/modprobe.d"
aug_close
aug_init "/" 1
aug_match "/augeas/load/Grub/incl"
aug_get "/augeas/load/Grub/incl[1]"
aug_get "/augeas/load/Grub/incl[2]"
exists "/etc/X11/xorg.conf"
aug_load
command_lines "rpm -q --qf %{EPOCH} %{VERSION} %{RELEASE}\n selinux-policy-targeted"
command_lines "rpm -q --qf %{EPOCH} %{VERSION} %{RELEASE}\n lvm2"
glob_expand "/boot/vmlinuz-*"
exists "/etc/resolv.conf"
mv "/etc/resolv.conf" "/etc/resolv.conf.v2vtmp"
write_file "/etc/resolv.conf" "nameserver 169.254.2.3" 0
exists "/usr/bin/up2date"
exists "/usr/bin/yum"
command_lines "rpm -q --qf %{EPOCH} %{VERSION} %{RELEASE}\n kernel-PAE"
sh "LANG=C 'rpm' '-q' '--qf' '%{EPOCH} %{VERSION} %{RELEASE}\n' 'kernel-PAE' 2>&1 ||:"
sh_lines "LANG=C /usr/bin/yum -y install kernel-PAE-2.6.18-164.el5"
mkdtemp "/transferXXXXXX"
list_devices
mount_ro "/dev/sdb" "/transferqM4sde"
exists "/transferqM4sde/rhel/5/kernel-PAE-2.6.18-128.el5.i686.rpm"
exists "/transferqM4sde/rhel/5/ecryptfs-utils-56-8.el5.i386.rpm"
command "rpm -qp --qf %{NAME} %{EPOCH} %{VERSION} %{RELEASE} %{ARCH} /transferqM4sde/rhel/5/ecryptfs-utils-56-8.el5.i386.rpm"
command_lines "rpm -q --qf %{EPOCH} %{VERSION} %{RELEASE}\n ecryptfs-utils.i386"
sh "LANG=C 'rpm' '-q' '--qf' '%{EPOCH} %{VERSION} %{RELEASE}\n' 'ecryptfs-utils.i386' 2>&1 ||:"
command "rpm -U /transferqM4sde/rhel/5/ecryptfs-utils-56-8.el5.i386.rpm"
aug_load
command "rpm -i /transferqM4sde/rhel/5/kernel-PAE-2.6.18-128.el5.i686.rpm"
aug_load
mv "/etc/resolv.conf.v2vtmp" "/etc/resolv.conf"
aug_load
glob_expand "/boot/vmlinuz-*"
command_lines "rpm -qlf /boot/vmlinuz-2.6.18-128.el5PAE"
is_dir "/lib/modules/2.6.18-128.el5PAE"
aug_match "/files/boot/grub/menu.lst/title/kernel"
aug_get "/files/boot/grub/menu.lst/title[1]/kernel"
aug_get "/files/boot/grub/menu.lst/title[2]/kernel"
read_lines "/etc/redhat-release"
aug_get "/files/boot/grub/menu.lst/default"
aug_defvar "template" "/files/boot/grub/menu.lst/title[2]"
aug_defnode "new" "/files/boot/grub/menu.lst/title[last()+1]" "Red Hat Enterprise Linux Server (2.6.18-128.el5PAE)"
aug_get "$template/root"
aug_set "$new/root" "(hd0,0)"
aug_set "$new/kernel" "/vmlinuz-2.6.18-128.el5PAE"
aug_set "$new/initrd" "/initrd-2.6.18-128.el5PAE.img"
aug_match "$template/kernel/*"
aug_get "/files/boot/grub/menu.lst/title[2]/kernel/ro"
aug_clear "$new/kernel/ro"
aug_get "/files/boot/grub/menu.lst/title[2]/kernel/root"
aug_set "$new/kernel/root" "/dev/VolGroup00/LogVol00"
aug_get "/files/boot/grub/menu.lst/title[2]/kernel/rhgb"
aug_clear "$new/kernel/rhgb"
aug_get "/files/boot/grub/menu.lst/title[2]/kernel/quiet"
aug_clear "$new/kernel/quiet"
aug_match "$new"
aug_set "/files/boot/grub/menu.lst/default" "2"
aug_save
aug_get "/files/boot/grub/menu.lst/default"
aug_match "/files/boot/grub/menu.lst/title[2]/kernel"
aug_match "/files/boot/grub/menu.lst/title/kernel"
aug_get "/files/boot/grub/menu.lst/title[2]/kernel"
exists "/boot/vmlinuz-2.6.18-164.el5xen"
command "rpm -qf --qf %{NAME} /boot/vmlinuz-2.6.18-164.el5xen"
file "/boot/vmlinuz-2.6.18-164.el5xen"
is_dir "/lib/modules/2.6.18-164.el5xen"
find "/lib/modules/2.6.18-164.el5xen"
file "/lib/modules/2.6.18-164.el5xen/kernel/arch/i386/crypto/aes-i586.ko"
aug_get "/files/boot/grub/menu.lst/title[1]/kernel"
exists "/boot/vmlinuz-2.6.18-128.el5PAE"
command "rpm -qf --qf %{NAME} /boot/vmlinuz-2.6.18-128.el5PAE"
file "/boot/vmlinuz-2.6.18-128.el5PAE"
is_dir "/lib/modules/2.6.18-128.el5PAE"
find "/lib/modules/2.6.18-128.el5PAE"
file "/lib/modules/2.6.18-128.el5PAE/kernel/arch/i386/crypto/aes-i586.ko"
aug_get "/files/boot/grub/menu.lst/title[3]/kernel"
exists "/boot/vmlinuz-2.6.18-128.el5PAE"
command "rpm -qf --qf %{NAME} /boot/vmlinuz-2.6.18-128.el5PAE"
file "/boot/vmlinuz-2.6.18-128.el5PAE"
is_dir "/lib/modules/2.6.18-128.el5PAE"
find "/lib/modules/2.6.18-128.el5PAE"
file "/lib/modules/2.6.18-128.el5PAE/kernel/arch/i386/crypto/aes-i586.ko"
find "/lib/modules/2.6.18-128.el5PAE"
command_lines "rpm -qf /boot/vmlinuz-2.6.18-164.el5xen"
command "rpm -e kernel-xen-2.6.18-164.el5"
aug_load
aug_match "/files/etc/inittab/*/process"
aug_get "/files/etc/inittab/id/process"
aug_get "/files/etc/inittab/si/process"
aug_get "/files/etc/inittab/l0/process"
aug_get "/files/etc/inittab/l1/process"
aug_get "/files/etc/inittab/l2/process"
aug_get "/files/etc/inittab/l3/process"
aug_get "/files/etc/inittab/l4/process"
aug_get "/files/etc/inittab/l5/process"
aug_get "/files/etc/inittab/l6/process"
aug_get "/files/etc/inittab/ca/process"
aug_get "/files/etc/inittab/pf/process"
aug_get "/files/etc/inittab/pr/process"
aug_get "/files/etc/inittab/1/process"
aug_get "/files/etc/inittab/2/process"
aug_get "/files/etc/inittab/3/process"
aug_get "/files/etc/inittab/4/process"
aug_get "/files/etc/inittab/5/process"
aug_get "/files/etc/inittab/6/process"
aug_get "/files/etc/inittab/x/process"
read_lines "/etc/securetty"
write_file "/etc/securetty" "console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
" 122
aug_match "/files/boot/grub/menu.lst/title/kernel/console"
aug_save
umount "/transferqM4sde"
guestfs_umount: call launch before using this function
(in guestfish, don't forget to use the 'run' command) at /usr/share/perl5/vendor_perl/Sys/VirtV2V/GuestfsHandle.pm line 187.

Comment 7 Matthew Booth 2010-07-28 08:41:22 UTC
The above failed because the yum command failed:

sh_lines "LANG=C /usr/bin/yum -y install kernel-PAE-2.6.18-164.el5"

I'd like to see why that failed. Could you please run the following commands on the guest image after the conversion has failed:

# guestfish -i /path/to/image
><> sh "ifconfig"
><> cat /etc/resolv.conf
><> sh "dig"
><> sh "LANG=C /usr/bin/yum -y install kernel-PAE-2.6.18-164.el5 2>&1"

and post the output here?

Comment 8 Matthew Booth 2010-07-28 08:49:23 UTC
Actually, I forgot that resolv.conf needs to be mangled here. Those commands should be:

# guestfish -i /path/to/image
><> mv "/etc/resolv.conf" "/etc/resolv.conf.v2vtmp"
><> write_file "/etc/resolv.conf" "nameserver 169.254.2.3" 0
><> sh "ifconfig"
><> sh "dig"
><> sh "LANG=C /usr/bin/yum -y install kernel-PAE-2.6.18-164.el5 2>&1"
><> mv "/etc/resolv.conf.v2vtmp" "/etc/resolv.conf"

Comment 9 Rita Wu 2010-07-28 09:17:58 UTC
(In reply to comment #8)
> Actually, I forgot that resolv.conf needs to be mangled here. Those commands
> should be:
> 
> # guestfish -i /path/to/image
> ><> mv "/etc/resolv.conf" "/etc/resolv.conf.v2vtmp"
> ><> write_file "/etc/resolv.conf" "nameserver 169.254.2.3" 0
> ><> sh "ifconfig"
> ><> sh "dig"
> ><> sh "LANG=C /usr/bin/yum -y install kernel-PAE-2.6.18-164.el5 2>&1"
> ><> mv "/etc/resolv.conf.v2vtmp" "/etc/resolv.conf"    

Hi Matt,

The guest in comment6 doesn't register to RHN, so it won't use RHN way to upgrade kernel, instead using /var/lib/virt-v2v/software/rhel/:
# ll /var/lib/virt-v2v/software/rhel/
4/ 5/ 

# guestfish -i xen-rhel54-32-pv.raw

Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.

Type: 'help' for help with commands
      'quit' to quit the shell

><fs> mv "/etc/resolv.conf" "/etc/resolv.conf.v2vtmp" 
><fs> write_file /etc/
Display all 223 possibilities? (y or n)
><fs> cp /etc/resolv.conf.v2vtmp /etc/resolv.conf
><fs> write_file "/etc/resolv.conf" "nameserver 169.254.2.3" 0
><fs> sh "ifconfig"
eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56  
          inet addr:169.254.2.10  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:183 errors:0 dropped:0 overruns:0 frame:0
          TX packets:159 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11582 (11.3 KiB)  TX bytes:90322 (88.2 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)


><fs> sh "dig"

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>>
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9002
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 8

;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			126271	IN	NS	h.root-servers.net.
.			126271	IN	NS	i.root-servers.net.
.			126271	IN	NS	j.root-servers.net.
.			126271	IN	NS	k.root-servers.net.
.			126271	IN	NS	l.root-servers.net.
.			126271	IN	NS	m.root-servers.net.
.			126271	IN	NS	a.root-servers.net.
.			126271	IN	NS	b.root-servers.net.
.			126271	IN	NS	c.root-servers.net.
.			126271	IN	NS	d.root-servers.net.
.			126271	IN	NS	e.root-servers.net.
.			126271	IN	NS	f.root-servers.net.
.			126271	IN	NS	g.root-servers.net.

;; ADDITIONAL SECTION:
j.root-servers.net.	126271	IN	A	192.58.128.30
j.root-servers.net.	126271	IN	AAAA	2001:503:c27::2:30
k.root-servers.net.	126271	IN	A	193.0.14.129
k.root-servers.net.	126271	IN	AAAA	2001:7fd::1
l.root-servers.net.	126271	IN	A	199.7.83.42
l.root-servers.net.	126271	IN	AAAA	2001:500:3::42
m.root-servers.net.	126271	IN	A	202.12.27.33
m.root-servers.net.	126271	IN	AAAA	2001:dc3::35

;; Query time: 41 msec
;; SERVER: 169.254.2.3#53(169.254.2.3)
;; WHEN: Wed Jul 28 05:18:00 2010
;; MSG SIZE  rcvd: 404


><fs> sh "LANG=C /usr/"
/usr/bin       /usr/games     /usr/kerberos  /usr/libexec   /usr/sbin
/usr/src       /usr/X11R6     
/usr/etc       /usr/include   /usr/lib       /usr/local     /usr/share
/usr/tmp       
><fs> sh "LANG=C /usr/"
/usr/bin       /usr/games     /usr/kerberos  /usr/libexec   /usr/sbin
/usr/src       /usr/X11R6     
/usr/etc       /usr/include   /usr/lib       /usr/local     /usr/share
/usr/tmp       
><fs> sh "LANG=C /usr/bin/yum"
/usr/bin/yum
><fs> sh "LANG=C /usr/bin/yum -y install kernel-PAE-2.6.18-164.el5 2>&1"
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
No package kernel-PAE-2.6.18-164.el5 available.
Nothing to do

Comment 10 Matthew Booth 2010-07-29 13:58:28 UTC
rwu ran the conversion again with LIBGUESTFS_DEBUG=1. Output was:

mount --bind /sys /sysroot/sys
rpm -qf /boot/vmlinuz-2.6.18-164.el5xen
umount /sysroot/sys
umount /sysroot/proc
umount /sysroot/dev/pts
umount /sysroot/dev
proc 51 (command_lines) took 0.11 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 80
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e09c, buf_rtn =
0x7fffad06e090
mount --bind /dev /sysroot/dev
mount --bind /dev/pts /sysroot/dev/pts
mount --bind /proc /sysroot/proc
mount --bind /selinux /sysroot/selinux
mount: wrong fs type, bad option, bad superblock on /selinux,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

mount --bind /sys /sysroot/sys
rpm -e kernel-xen-2.6.18-164.el5
umount /sysroot/sys
umount /sysroot/proc
umount /sysroot/dev/pts
umount /sysroot/dev
proc 50 (command) took 2.51 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 28
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0bc, buf_rtn =
0x7fffad06e0b0
proc 27 (aug_load) took 0.07 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e09c, buf_rtn =
0x7fffad06e090
proc 24 (aug_match) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 64
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 60
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0ac, buf_rtn =
0x7fffad06e0a0
proc 19 (aug_get) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 48
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e09c, buf_rtn =
0x7fffad06e090
proc 15 (read_lines) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 180
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e07c, buf_rtn =
0x7fffad06e070
proc 44 (write_file) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 80
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e09c, buf_rtn =
0x7fffad06e090
proc 24 (aug_match) took 0.00 seconds
send_to_daemon: 0x36e8940 g->state = 3, n = 28
recv_from_daemon: 0x36e8940 g->state = 3, size_rtn = 0x7fffad06e0bc, buf_rtn =
0x7fffad06e0b0
[   82.343313] guestfsd[1]: segfault at 49 ip 0000003920e0663b sp
00007fff01092c30 error 4 in libaugeas.so.0.11.0[3920e00000+49000]
[   82.3508child_cleanup: 0x36e8940: child process died
guestfs_umount: call launch before using this function
(in guestfish, don't forget to use the 'run' command) at
/usr/share/perl5/vendor_perl/Sys/VirtV2V/GuestfsHandle.pm line 187.
closing guestfs handle 0x36e8940 (state 0)

Note that guestfsd segfaults in libaugeas.so.

Comment 11 Richard W.M. Jones 2010-07-29 14:32:51 UTC
Linglu, couple of questions:

(1) If you set the following variable before running
the v2v command does it makes any difference?

export LIBGUESTFS_MEMSIZE=2000

(2) Can I obtain a copy of the image?  If it's one of
the standard images, then I will already have it because
pcao sent us an external hard disk with some images
on it.

Comment 12 Richard W.M. Jones 2010-07-31 17:17:22 UTC
We should be able to capture the coredump now, if
we backport this patch:
https://bugzilla.redhat.com/show_bug.cgi?id=619334#c3

Linglu, it would still be useful to know the answers to
the questions in comment 11.

Comment 13 Rita Wu 2010-08-02 02:39:08 UTC
Hi Richard,
 
  Sorry for my late reply.
(1)
# export LIBGUESTFS_MEMSIZE=2000
# virt-v2v -ic xen+ssh://10.66.91.118 -o rhev -osd 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export xen-rhel54-32-pv.raw
virt-v2v: Failed to mount 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export. Command exited with status 32. Output was: mount.nfs: access denied by server while mounting 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export

virt-v2v: Failed to unmount 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export. Command exited with status 1. Output was: umount: /tmp/CZCAjgJM5t: not mounted

(2) I guess at least any of the XenPV guest without registering to RHN can reproduce this issue, so you can use the external harddisk

Comment 14 Rita Wu 2010-08-02 05:18:08 UTC
(In reply to comment #13)
> Hi Richard,
> 
>   Sorry for my late reply.
> (1)
> # export LIBGUESTFS_MEMSIZE=2000
> # virt-v2v -ic xen+ssh://10.66.91.118 -o rhev -osd
> 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export xen-rhel54-32-pv.raw
> virt-v2v: Failed to mount 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export.
> Command exited with status 32. Output was: mount.nfs: access denied by server
> while mounting 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export
> 
> virt-v2v: Failed to unmount 10.66.90.115:/v2vwulinglu/wulingluv2v/fcp_export.
> Command exited with status 1. Output was: umount: /tmp/CZCAjgJM5t: not mounted
> 
Update (1), since the above result is caused by error export domain path.
Retest, although I cannot see any difference, do I need to export LIBGUESTFS_TRACE and LIBGUESTFS_DEBUG?

# export LIBGUESTFS_MEMSIZE=2000
# virt-v2v -ic xen+ssh://10.66.93.224 -o rhev -osd 10.66.90.115:/vol/v2vwulinglu/wulingluv2v/fcp_export xen-rhel54-32-pv.raw
guestfs_umount: call launch before using this function
(in guestfish, don't forget to use the 'run' command) at /usr/share/perl5/vendor_perl/Sys/VirtV2V/GuestfsHandle.pm line 187.

Comment 15 Richard W.M. Jones 2010-08-02 08:04:31 UTC
Linglu, really we want to know if augeas is segfaulting.

Use LIBGUESTFS_DEBUG=1 and look for a line like:

guestfsd[1]: segfault at [...] in libaugeas.so.0.11.0

If it's a different error from this, then it's not this bug.

Comment 16 Rita Wu 2010-08-02 10:44:37 UTC
Created attachment 435997 [details]
log from LIBGUESTFS_DEBUG and  LIBGUESTFS_MEMSIZE=2000

Yeah, it's there and the full log is attached:
...
[   73.099835] guestfsd[1]: segfault at 49 ip 0000003920e0663b sp 00007ffff05e8ed0 error 4 in libaugeas.so.0.11.0[3920e00000+49000]
[   73.106764] child_cleanup: 0x2a9c120: child process died
guestfs_umount: call launch before using this function
(in guestfish, don't forget to use the 'run' command) at /usr/share/perl5/vendor_perl/Sys/VirtV2V/GuestfsHandle.pm line 187.

Comment 17 Richard W.M. Jones 2010-08-02 11:03:21 UTC
Thanks for that.  We do suspect that it's a bug in Augeas, and probably
not related to the amount of memory.  Luckily Matt is able to reproduce
it and is capturing a core dump for us.

Comment 18 Richard W.M. Jones 2010-08-03 11:20:17 UTC
Upstream bug report:
https://www.redhat.com/archives/augeas-devel/2010-August/msg00000.html

Comment 19 Matthew Booth 2010-08-03 16:37:56 UTC
Created attachment 436323 [details]
Core dump and corresponding guestfsd

I've managed to capture a coredump from guestfsd. I've attached the dump and the guestfsd which generated it.

Comment 20 Matthew Booth 2010-08-04 14:59:34 UTC
I've generated a reproducer for this using only augtool, so this is definitely an augeas issue. Reproducer is here:

http://www.redhat.com/archives/augeas-devel/2010-August/msg00012.html

I'm moving this bug to augeas.

Comment 21 Richard W.M. Jones 2010-08-04 16:30:20 UTC
CC-ing Marek on the bug since I think he was seeing a similar
problem.

Comment 22 Matthew Booth 2010-08-05 14:34:30 UTC
Valgrind isn't much use here:

==17528== Invalid read of size 8
==17528==    at 0x3E7240663B: pathx_symtab_remove_descendants (pathx.c:2569)
==17528==    by 0x3E7240480A: tree_rm (augeas.c:890)
==17528==    by 0x3E724053E4: aug_rm (augeas.c:911)
==17528==    by 0x3E72405B07: aug_save (augeas.c:1192)
==17528==    by 0x40275C: ??? (in /usr/bin/augtool)
==17528==    by 0x403227: ??? (in /usr/bin/augtool)
==17528==    by 0x403384: ??? (in /usr/bin/augtool)
==17528==    by 0x3E5BC1EC5C: (below main) (libc-start.c:226)
==17528==  Address 0xbea2048 is 8 bytes inside a block of size 48 free'd
==17528==    at 0x4A04D72: free (vg_replace_malloc.c:325)
==17528==    by 0x3E72403E02: free_tree (augeas.c:852)
==17528==    by 0x3E72403FB7: tree_unlink (augeas.c:865)
==17528==    by 0x3E7240484C: tree_rm (augeas.c:896)
==17528==    by 0x3E72404A85: tree_replace (augeas.c:930)
==17528==    by 0x3E7241F297: transform_load (transform.c:500)
==17528==    by 0x3E72405E19: aug_load (augeas.c:529)
==17528==    by 0x40291C: ??? (in /usr/bin/augtool)
==17528==    by 0x403227: ??? (in /usr/bin/augtool)
==17528==    by 0x403384: ??? (in /usr/bin/augtool)
==17528==    by 0x3E5BC1EC5C: (below main) (libc-start.c:226)

So the first valgrind report is the actual crasher. I guess valgrind's fiddling prevents it from actually crashing in this case.

Comment 23 Matthew Booth 2010-08-05 15:59:34 UTC
Before calling load in the reproducer, ns->nodes[0] contains:

(gdb) print *(struct tree *) 0x3079f30
$2 = {next = 0x0, parent = 0x2f10f80, label = 0x31dfa00 "title", 
  children = 0x0, 
  value = 0x3043390 "Red Hat Enterprise Linux Server (2.6.18-128.el5)", 
  dirty = 0}

After calling load it contains the crap which leads to the crash.

Comment 24 Richard W.M. Jones 2010-08-05 21:28:58 UTC
David posted this potential fix upstream:
https://www.redhat.com/archives/augeas-devel/2010-August/msg00015.html

Comment 25 Matthew Booth 2010-08-06 09:02:17 UTC
I've confirmed that this fixes the v2v crasher. Note that I only tested patch 2.

Comment 26 Matthew Booth 2010-08-10 10:06:54 UTC
Fixed in augeas-0.7.2-3.el6

Comment 27 Mohua Li 2010-08-11 04:02:59 UTC
test on, 
virt-v2v-0.6.2-1.el6.x86_64
augeas-0.7.2-3.el6.x86_64
augeas-libs-0.7.2-3.el6.x86_64

convert xenpv remotely successfully, the converted guest installed the virtio drivers for network, disk, and install cirrus driver successfully, 

virt-v2v -f /etc/virt-v2v.conf -ic
xen+ssh://10.66.92.224 -o rhev -osd
10.66.90.115:/vol/v2vwulinglu/wulingluv2v/export  
rhel5u5-32b-pv-raw-intel.img

Comment 28 releng-rhel@redhat.com 2010-11-10 19:55:00 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.