make check failing on times with -m32

Steve McIntyre steve at einval.com
Fri Jan 15 02:02:56 UTC 2016


On Thu, Jan 14, 2016 at 02:31:01AM +0000, Steve McIntyre wrote:
>On Thu, Jan 14, 2016 at 05:00:30AM +0300, Dmitry V. Levin wrote:
>>On Fri, Jan 08, 2016 at 05:33:08PM +0000, Steve McIntyre wrote:
>>[...]
>>> Thanks, that seems to work - all the tests pass now.
>>> 
>>> 4.11-1 is in Debian incoming right now with this as the only code
>>> change on top of what was released in 4.11.
>>
>>According to https://buildd.debian.org/status/package.php?p=strace
>>it failed several tests on some architectures.
>>
>>I'm not surprised by mips test failures since mips had relatively poor
>>prerelease testing, but arm and alpha were expected to pass their tests.
>>
>>Unfortunately, "make check" was made without VERBOSE=1 specified,
>>so there are no details why those tests failed.
>>
>>Steve, could you re-run "make check" with VERBOSE=1
>>on failed architectures to get some details?
>
>Coincidentally, I've just been doing exactly that already this
>evening. I'm in the middle of hacking on a script to run tests
>periodically on the various Debian porter boxes, so should be able to
>give you some better and more timely results in future too.
>
>Results from VERBOSE=1 shortly.

Here's the failing snippet from an armhf machine:

FAIL: lseek
===========

+ ../strace -V
+ TIMEOUT=timeout -s 9 60
+ timeout -s 9 60 true
+ exec timeout -s 9 60 ./lseek.test
+ run_prog
+ [ 0 -eq 0 ]
+ set -- ./lseek
+ args=./lseek
+ ./lseek
+ OUT=lseek.test.tmp.out
+ run_strace -a30 -elseek ./lseek
+ 
+ args=-a30 -elseek ./lseek
+ ../strace -o lseek.test.tmp -a30 -elseek ./lseek
+ match_diff lseek.test.tmp lseek.test.tmp.out
+ local output expected error
+ [ 2 -eq 0 ]
+ output=lseek.test.tmp
+ shift
+ [ 1 -eq 0 ]
+ expected=lseek.test.tmp.out
+ shift
+ [ 0 -eq 0 ]
+ error=../strace -a30 -elseek ./lseek output mismatch
+ check_prog diff
+ type diff
+ diff -- lseek.test.tmp.out lseek.test.tmp
0a1,2
> lseek(3, 1268600, SEEK_SET)   = 1268600
> lseek(3, 1265140, SEEK_SET)   = 1265140
+ fail_ ../strace -a30 -elseek ./lseek output mismatch
+ warn_ lseek.test: failed test: ../strace -a30 -elseek ./lseek output
mismatch
+ printf %s\n lseek.test: failed test: ../strace -a30 -elseek ./lseek
output mismatch
lseek.test: failed test: ../strace -a30 -elseek ./lseek output
mismatch
+ exit 1
FAIL lseek.test (exit status: 1)

Discussing this with Dimitri (in CC) on irc, he thinks it's a libc
issue maybe:

2016-01-13 14:39 GMT < xnox> Sledge, i'm poking strace on arm* on a
     porter box, it looks like there is now exta lseek syscalls done
     by libc itself, prior to executing anything. and they show up in
     the strace output... and thus failing strace lseek test-suite, as
     it's not expecting to see the two lseek calls from libc.
2016-01-13 14:39 GMT < xnox> so i believe strace is working
     correctly. Is there a place in a test-suite to filterout bogus
     things that are coming from libc?
2016-01-13 14:39 GMT < xnox> or should libc not do lseek calls?

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
"I can't ever sleep on planes ... call it irrational if you like, but I'm
 afraid I'll miss my stop" -- Vivek Das Mohapatra





More information about the Strace-devel mailing list