strace-4.5.14-0.EL4.1.x86_64 On x86-64, with a 32-bit binary. 1. gcc -m32 -o writex writex.c 2. sudo strace -o foo -v ./writevx 127.0.0.1 22 [ Process PID=4407 runs in 32 bit mode. ] umovestr: Input/output error umovestr: Input/output error
Created attachment 142573 [details] writevx.c
Even: #include <sys/uio.h> int 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 {read,write}v.
Created attachment 142820 [details] strace-biarch-iovec.patch 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.
Fixed upstream.
these bugs are fixed upstream in the coming 4.5.15 release
This bug should be fixed in strace-4.5.15-1.el4 rpms.
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 release.
This should already be fixed in the RHEL4.5 strace version (4.5.15-1.el4.1). Please verify and close.
Fixed already some time ago in Rawhide: * Tue Jan 16 2007 Roland McGrath <roland> - 4.5.15-1 - biarch fixes ([...], #218043) therefore it is present in RHEL-4.5 strace-4.5.15-1.el4.1. upstream: 2006-12-10 Dmitry V. Levin <ldv> 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.
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. http://rhn.redhat.com/errata/RHBA-2007-0820.html