Re: [RFC6 PATCH v6 00/21] ILP32 for ARM64 - LTP results
From: Yury Norov
Date: Tue Apr 05 2016 - 18:44:51 EST
There are about 20 failing tests of 782 in lite scenario.
float_bessel
float_exp_log
float_iperb
float_power
float_trigo
pipeio_1
pipeio_3
pipeio_5
pipeio_8
abort01
clone02
kill11
mmap16
open12
pause01
rename11
rmdir02
umount2_01
umount2_02
umount2_03
utime06
mtest06
The list is rough because some tests fail not every time.
Tests abort01 and kill11 fail for lp64 too, so maybe there's
a reason unrelated to ilp32 itself.
float_xxx tests fail because they call unwind() from signal context,
and GCC for ilp32 has problem with it, as Andrew told.
pipeio_x tests are very unstable and may fail randomly. I strongly
suspect race conditions, as they all work like a charm if pinned to
single CPU with taskset. Probably, race is the reason of clone02 too.
Though I'm not sure, is the race in kernel, glibc or test itself.
But I know for sure that pause01 fails due to test design:
if (setitimer(ITIMER_REAL, &it, NULL)) // For 1000us
tst_brkm(TBROK | TERRNO, NULL, "setitimer() failed");
TEST(pause());
As setitimer() and pause() calls are not atomic, alarm may come before pause()
is called, and be silently dropped by the handler. Next pause() call hangs
test forever. I already reported to LTP list.
open12, rename11, rmdir02, mmap16, mtest06 - all call mkfs tool, and it returns
error code. I didn't investigate it much yet.
umount02_x, utime06 - cannot reproduce out of scenario, even run it in infinite
loop - they work fine.
Full test log is attached.
Yury
Attachment:
ltplite.tar.gz
Description: application/gzip