Bug 1091805

Summary: tar-in-opts execute failed that cause libguestfs appliance crashed
Product: Red Hat Enterprise Linux 6 Reporter: bfan
Component: libguestfsAssignee: Pino Toscano <ptoscano>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.5CC: huzhan, leiwang, lkong, mbooth, ptoscano, wshi, yuliu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libguestfs-1.20.11-3.el6 Doc Type: Bug Fix
Doc Text:
Cause: Running tar-in guestfish command, or using the tar_in guestfs API, with a non-existing input tar or to a non-existing destination directory. Consequence: Crash of the libguestfs appliance. Fix: Improve the error checking. Result: tar-in cleanly returns an error.
Story Points: ---
Clone Of: 1091803 Environment:
Last Closed: 2014-10-14 06:35:16 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:
Bug Depends On: 1091803    
Bug Blocks:    

Description bfan 2014-04-28 05:53:51 UTC
+++ This bug was initially created as a clone of Bug #1091803 +++

Description of problem:
tar-in-opts execute failed when give a nonexistent directory path, then correct the path, but libguestfs appliance crashed.


Version-Release number of selected component (if applicable):
libguestfs-1.22.6-22.el7.x86_64


How reproducible:
100%


Steps to Reproduce:
1. tar file dose not exist
# guestfish -N fs -m /dev/sda1 tar-in-opts test.tar /test : tar-in-opts test.tar /

libguestfs: error: open: test.tar: No such file or directory
libguestfs: error: appliance closed the connection unexpectedly.
This usually means the libguestfs appliance crashed.
See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs
for information about how to debug libguestfs and report bugs.

# the whole log is attached(run.log)


2. tar file exist
# guestfish -N fs -m /dev/sda1 tar-in-opts test.tar /test : tar-in-opts test.tar /
libguestfs: error: tar_in: /test: No such file or directory
libguestfs: error: check_daemon_socket: read 0x44 from daemon, expected 0xffffeeee.  Lost protocol synchronization (bad!)


Actual results:
libguestfs appliance closed


Expected results:
Only command execute failed, libguestfs appliance is alive


Additional info:
Same Problem exist in rhel6, although there is no libguestfs error message printed, appliance is not in running state.

libguestfs-1.20.11-2.el6.x86_64

Comment 1 Richard W.M. Jones 2014-04-28 15:15:38 UTC
Upstream fix:
efd159a063410b3d9d13814222abed231ec42f90
Regression test:
50b207ca459a205efeec613ab04ff4c39dc6bee2

Leaving in POST state because this bug is open against RHEL.

Comment 3 bfan 2014-06-03 07:01:09 UTC
Verified with libguestfs-1.20.11-4.el6.x86_64 

1. tar file dose not exist
# guestfish -N fs -m /dev/sda1 tar-in-opts test.tar /test : tar-in-opts test.tar /
libguestfs: error: open: test.tar: No such file or directory


2. tar file exist
# guestfish -N fs -m /dev/sda1 tar-in-opts test.tar /test : tar-in-opts test.tar /
libguestfs: error: tar_in: /test: No such file or directory

Comment 5 errata-xmlrpc 2014-10-14 06:35:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1458.html