Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Clone to RHEL 6 to ensure it will get fixed in 6.1.
+++ This bug was initially created as a clone of Bug #576879 +++
[Originally reported by Seth Vidal]
Description of problem:
guestfish <<EOF
> add f12-minimal.img
> run
> upload /var/tmp/guestfish-1.0.85-1.el5.7.x86_64.rpm /home/vmbuild/guestfish-1.0.85-1.el5.7.x86_64.rpm
> EOF
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x64 from daemon, expected 0xffffeeee
libguestfs: error: message length (536933877) > maximum possible size (4194304)
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x1 from daemon, expected 0xffffeeee
With another version of libguestfs:
$ cat test
#!/bin/sh -
guestfish -x <<EOF
add f12.img
run
upload a_big_file /
EOF
$ sh test
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x64 from daemon, expected 0xffffeeee
libguestfs: error: message length (536933877) > maximum possible size (4194304)
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x1 from daemon, expected 0xffffeeee
Version-Release number of selected component (if applicable):
libguestfs 1.0.87
How reproducible:
Always.
The problem here is we're uploading without first mounting
any disk. Upload is failing and probably reporting an error,
but then the protocol loses synchronization and it's game over.
--- Additional comment from rjones on 2010-04-17 17:32:59 EDT ---
Fix posted:
http://git.annexia.org/?p=libguestfs.git;a=commitdiff;h=5922d7084d6b43f0a1a15b664c7082dfeaf584d0
--- Additional comment from rjones on 2010-04-18 05:29:19 EDT ---
Setting back to ASSIGNED, since we're still not quite there
with this patch.
><fs> sparse /tmp/test.img 10M
><fs> run
><fs> tar-in /tmp/foobar /blah
libguestfs: error: open: /tmp/foobar: No such file or directory
><fs> list-devices
libguestfs: error: unexpected procedure number (69/7)
><fs> list-devices
/dev/vda
The first error from list-devices shouldn't happen.
--- Additional comment from rjones on 2010-04-18 05:30:09 EDT ---
Another example:
><fs> tar-in /tmp/foobar /blah
libguestfs: error: open: /tmp/foobar: No such file or directory
><fs> ping-daemon
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x64 from daemon, expected 0xffffeeee
><fs> ping-daemon
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x2000f5f5 from daemon, expected 0xffffeeee
--- Additional comment from rjones on 2010-05-12 14:06:12 EDT ---
Here's a one line reproducer for the latest libguestfs:
$ ./fish/guestfish -N disk -- -tar-in /dev/nofile /blah : ping-daemon
libguestfs: error: open: /dev/nofile: No such file or directory
libguestfs: error: unexpected procedure number (69/92)
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x18 from daemon, expected 0xffffeeee
libguestfs: error: check_for_daemon_cancellation_or_eof: read 0x2000f5f5 from daemon, expected 0xffffeeee
--- Additional comment from rjones on 2010-05-12 14:22:26 EDT ---
OK I understand what's going on here. Both ends simultaneously send
cancel messages:
library daemon
|
V
sends RPC message -------+
| |
| receives RPC message
| |
V V
opens file, filesystem not mounted!
error: not found! |
| |
V V
sends cancel sends cancel
+-------> <--------+
!!!!
--- Additional comment from rjones on 2010-05-12 15:00:36 EDT ---
Patch posted upstream to fix the issue described in comment 5:
https://www.redhat.com/archives/libguestfs/2010-May/msg00061.html
Comment 1Richard W.M. Jones
2010-11-24 09:09:09 UTC
Will probably be fixed by the rebase. Needs QA to
verify that.
Comment 2Richard W.M. Jones
2011-01-04 14:15:25 UTC
Going to claim that this is fixed by the
rebase. QA please check this one carefully
since there are lots of corner cases in the
code, and we're not really sure that we have
fixed all of them properly.
This is found not completely fixed. Actually it looks even worse:
guestfish <<EOF
add test.img
run
upload test.txt /test.txt
EOF
it is getting hang running the above.
so I would change this back to ASSIGNED.
Comment 5Richard W.M. Jones
2011-01-31 09:48:32 UTC
Fair enough, this isn't fixed. In fact we suspected this
when the regression test started failing:
https://bugzilla.redhat.com/show_bug.cgi?id=576879#c7
I think I'm going to leave this one and not fix it for 6.1.
There's an easy workaround for users, and we can fix it
for 6.2 instead.
Comment 6RHEL Program Management
2011-01-31 10:05:14 UTC
Development Management has reviewed and declined this request. You may appeal
this decision by reopening this request.
Comment 7Richard W.M. Jones
2011-03-18 20:07:09 UTC
Comment 9Richard W.M. Jones
2011-08-10 17:24:39 UTC
Actually we have included all the relevant commits
so this should be fixed in 6.2.
Comment 10Richard W.M. Jones
2011-08-10 17:26:43 UTC
This is what the correct output should be (verified
for me on RHEL 6.2 with libguestfs 1.7.17-24.el6):
$ guestfish -N disk -- -tar-in /dev/nofile /blah : ping-daemon : echo OK
libguestfs: error: open: /dev/nofile: No such file or directory
OK
Verified this using the reproducer in comment 10.
$ guestfish -N disk -- -tar-in /dev/nofile /blah : ping-daemon : echo OK
libguestfs-1.7.17-19:
The script hangs after printing
libguestfs: error: open: /dev/nofile: No such file or directory
libguestfs-1.7.17-26:
The scripts prints the following then exit.
libguestfs: error: open: /dev/nofile: No such file or directory
OK
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-2011-1512.html