Hi, On 11/08/16 22:08, Dmitry V. Levin wrote: > On Thu, Aug 11, 2016 at 04:33:00PM +0000, James Cowgill wrote: >> These patches fix most of the testsuite failures which happen on 64-bit mips >> (n32 and n64). None of the failures were bugs in strace, but rather bugs in >> the testsuite. >> >> An example of the failures can be seen here: >> https://buildd.debian.org/status/fetch.php?pkg=strace&arch=mips64el&ver=4.12-3&stamp=1468671031 > > Merged, thanks!
Thanks a lot!
>> The only test which still seems to fail on my machine is the "pwritev" test,
>> but I believe that's caused by a kernel bug (which I haven't tracked down
>> yet).
>
> Does this patch changes something with the test result?
> (also add #include <errno.h> to make it buildable)
>
> --- a/tests/pwritev.c
> +++ b/tests/pwritev.c
> @@ -113,6 +113,7 @@ main(void)
> unsigned int n = LEN + 1 - i;
> fputs("pwritev(0, ", stdout);
> print_iovec(iov + i, n, LEN - i);
> + errno = 0;
> rc = pwritev(0, iov + i, n, offset + LEN + i);
> printf(", %u, %lld) = %ld %s (%m)\n",
> n, (long long) offset + LEN + i, rc, errno2name());
So before it was failing with:
10c10
< pwritev(0, [{iov_base="\1\2\3\4\5\6\7", iov_len=7},
{iov_base="\2\3\4\5\6\7", iov_len=6}, {iov_base="\3\4\5\6\7",
iov_len=5}, {iov_base="\4\5\6\7", iov_len=4}, {iov_base="\5\6\7",
iov_len=3}, {iov_base="\6\7",
iov_len=2}, {iov_base="\7", iov_len=1}, 0xfff0fb8000], 8,
1004211379570065144) = 27 EFAULT (Bad address)
---
> pwritev(0, [{iov_base="\1\2\3\4\5\6\7", iov_len=7},
{iov_base="\2\3\4\5\6\7", iov_len=6}, {iov_base="\3\4\5\6\7",
iov_len=5}, {iov_base="\4\5\6\7", iov_len=4}, {iov_base="\5\6\7",
iov_len=3}, {iov_base="\6\7",
iov_len=2}, {iov_base="\7", iov_len=1}, 0xfff0fb8000], 8,
1004211379570065144) = 27
pwritev.test: failed test: ../strace -e trace=pwritev -a22 -s7 ./pwritev
output mismatch
After adding errno = 0 it fails with:
unknown errno 0
How did you know that was where my error was :) I thought it was a
kernel bug since I think the pwritev call should fail with EFAULT. I
also noticed that the call only succeeds if the process is being ptraced.
James
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohodev2dev
_______________________________________________ Strace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/strace-devel
