Bug 218043

Summary: umovestr I/O errors on 32-bit binaries
Product: Red Hat Enterprise Linux 4 Reporter: Bastien Nocera <bnocera>
Component: straceAssignee: Roland McGrath <roland>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: jan.kratochvil, tao
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Fixed In Version: RHBA-2007-0820 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-15 11:05:42 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 218433    
Description Flags
strace-biarch-iovec.patch none

Description Bastien Nocera 2006-12-01 10:07:23 EST

On x86-64, with a 32-bit binary.

1. gcc -m32 -o writex writex.c
2. sudo strace -o foo -v ./writevx 22
[ Process PID=4407 runs in 32 bit mode. ]
umovestr: Input/output error
umovestr: Input/output error
Comment 1 Bastien Nocera 2006-12-01 10:07:25 EST
Created attachment 142573 [details]
Comment 2 Jakub Jelinek 2006-12-05 04:11:57 EST
#include <sys/uio.h>

main (void)
  struct iovec v[2];
  v[0].iov_base = "abc";
  v[0].iov_len = 3;
  v[1].iov_base = "\n";
  v[1].iov_len = 1;
  writev (1, v, 2);
  return 0;
is enough to reproduce it.  64-bit strace just doesn't handle 32-bit
Comment 3 Jakub Jelinek 2006-12-05 05:57:16 EST
Created attachment 142820 [details]

Patch to fix it.  biarch support in current strace is clearly a hack, but until
if ever that is rewritten into a framework that can naturally cope with this,
I wrote a hack solution just for struct iovec.
Comment 4 Dmitry V. Levin 2006-12-13 16:51:41 EST
Fixed upstream.
Comment 5 Roland McGrath 2007-01-11 06:16:00 EST
these bugs are fixed upstream in the coming 4.5.15 release
Comment 6 Roland McGrath 2007-01-30 02:45:55 EST
This bug should be fixed in strace-4.5.15-1.el4 rpms.
Comment 8 RHEL Product and Program Management 2007-05-09 04:42:36 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
Comment 10 Roland McGrath 2007-07-05 15:04:29 EDT
This should already be fixed in the RHEL4.5 strace version (4.5.15-1.el4.1).
Please verify and close.
Comment 12 Jan Kratochvil 2007-08-03 10:08:53 EDT
Fixed already some time ago in Rawhide:
* Tue Jan 16 2007 Roland McGrath <roland@redhat.com> - 4.5.15-1
- biarch fixes ([...], #218043)

therefore it is present in RHEL-4.5 strace-4.5.15-1.el4.1.


2006-12-10  Dmitry V. Levin <ldv@altlinux.org>

        Add biarch support for "struct iovec".
        * defs.h (personality_wordsize): Add.
        * io.c [HAVE_SYS_UIO_H] (tprint_iov): [LINUX && 
        SUPPORTED_PERSONALITIES > 1] Handle 32-bit personality.
        * util.c [HAVE_SYS_UIO_H] (dumpiov): [LINUX &&
        SUPPORTED_PERSONALITIES > 1] Likewise.
        Patch from Jakub Jelinek.
        Fixes RH#218433.
Comment 18 errata-xmlrpc 2007-11-15 11:05:42 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.