+++ This bug was initially created as a clone of Bug #218043 +++ 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 -- Additional comment from bnocera on 2006-12-01 10:07 EST -- Created an attachment (id=142573) writevx.c -- Additional comment from jakub on 2006-12-05 04:11 EST -- 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. -- Additional comment from jakub on 2006-12-05 05:57 EST -- Created an attachment (id=142820) 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.
Hmm... What about struct timespec (#171626) and struct timeval (#173050)?
many are scrod for biarch and mostly i say tough luck. each individual flavor done with a kludge helps some, but i haven't been willing to write all the kludges myself.
Fixed upstream.
these bugs are fixed upstream in the coming 4.5.15 release
4.5.15 in rawhide and in updates for fc5 and fc6 fixes this.