Created attachment 343828 [details] simpler reproducer Description of problem: Those tests are forking several processes to do a random lseek each, and read/write a chunk of data to the same file. The failure messages are like the following, # ./ftest04 ftest04 1 FAIL : Test[1]: xfr=1920 != 2048, zero read. ftest04 1 FAIL : Expected 0 exit status - failed. ftest04 2 FAIL : Test failed. This is because one of children is doing, lseek64(fd, 534528); readv(fd, buf[2048/16], 16); but readv() only returns less than 16 chunks of data. If I replace the above call with, read(fd, buf, 2048); It seems work just fine. I can always reproduce this on at least 2 x86-64 machines with both -128.el5 and -141.el5 kernels. - bigisis.rhts.bos.redhat.com - gs-bl460cg1-01.rhts.bos.redhat.com In additions, upstream kernel seems not affected by this by running the simpler reproducer attached more than 7000 times. # uname -a Linux nec-em18.rhts.bos.redhat.com 2.6.27.5-117.fc10.x86_64 #1 SMP Tue Nov 18 11:58:53 EST 2008 x86_64 x86_64 x86_64 GNU/Linux # rpm -q glibc glibc-2.9-2.x86_64 Version-Release number of selected component (if applicable): # rpm -q glibc glibc-2.5-34 How reproducible: Usually failed within 200 times by running the simpler reproducer in a loop. Steps to Reproduce: 1. gcc readv.c -o readv 2. t=1; while :; do t=$((t + 1)); ./readv; if [ $? -ne 0 ]; then break; fi; echo $t; done Actual results: ... 201 Test[3]: xfr=640 != 2048, zero read. Expected 0 exit status - failed. Test failed. Expected results: Always pass. Additional information: This does not look like 64-bit only problem, because after compiled the simpler reproducer using, gcc -m32 readv.c -o readv It can reproduce the same problem.
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.
in kernel-2.6.18-157.el5 You can download this test kernel from http://people.redhat.com/dzickus/el5 Please do NOT transition this bugzilla state to VERIFIED until our QE team has sent specific instructions indicating when to do so. However feel free to provide a comment indicating that this fix has been verified.
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 therefore 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/RHSA-2009-1243.html