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

Attachment: 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
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to