gramine icon indicating copy to clipboard operation
gramine copied to clipboard

bind01 & select01 fails with updated ltp commit

Open anjalirai-intel opened this issue 2 years ago • 6 comments

Description of the problem

Gramine is on older LTP commit which makes this test passes, but with LTP commit 433b6cf7ade3d5e3bd4b85ac89b164c53312e65a bind01 and select01 are failing

https://github.com/linux-test-project/ltp/tree/433b6cf7ade3d5e3bd4b85ac89b164c53312e65a on Oct 15, 2021 bind01: 5th testcase fails, return EACCES error instead of EADDRNOTAVAIL select01: select() with regular file timed out select03

Steps to reproduce

Checkout LTP commit 433b6cf7ade3d5e3bd4b85ac89b164c53312e65a

Expected results

bind01:
TPASS: non-local address successful
Select01:
TPASS: select() with regular file returned 1
TPASS: readfds bit 3 is set

Actual results

bind01
TFAIL: non-local address expected EADDRNOTAVAIL: EACCES (13)

select01:
TFAIL: select() with regular file timed out

Gramine commit hash:

64abe304efc32f1380d176c4ca041148040af277

anjalirai-intel avatar Jul 23 '22 09:07 anjalirai-intel

Gramine commit hash:

Latest Master

Which commit is "latest master"? You are aware that next week this will be a completely different one? ;)

mkow avatar Jul 23 '22 18:07 mkow

Updated the commit info.

anjalirai-intel avatar Jul 25 '22 05:07 anjalirai-intel

I confirm that the newer LTP fails in these tests.

Is it time for Gramine to move to a newer LTP, and fix such problems along the way? @mkow @boryspoplawski @woju ?

dimakuv avatar Jul 25 '22 07:07 dimakuv

We could do that

boryspoplawski avatar Jul 25 '22 10:07 boryspoplawski

We could, although it has a pretty low priority.

mkow avatar Jul 25 '22 13:07 mkow

Added select03 to the list

anjalirai-intel avatar Sep 08 '22 11:09 anjalirai-intel

Adding test clock_gettime01 to the list because updated test uses /proc/self/stat which is not supported by Gramine.

anjalirai-intel avatar Dec 07 '22 15:12 anjalirai-intel

@anjalirai-intel /proc/self/stat is supported by Gramine (albeit most fields are dummy zeroes)

boryspoplawski avatar Dec 07 '22 15:12 boryspoplawski

@boryspoplawski When I run this test, this test failed with below error

[0.013] /home/intel/jenkins/workspace/anjali_gnative_ubuntu/gramine/libos/test/ltp/ltp_src/lib/tst_test.c:1362: TINFO: Timeout per run is 0h 00m 10s
[0.037] /home/intel/jenkins/workspace/anjali_gnative_ubuntu/gramine/libos/test/ltp/ltp_src/testcases/kernel/syscalls/clock_gettime/clock_gettime01.c:78: TINFO: Testing variant: vDSO or syscall with libc spec
[10.047] Test timeouted, sending SIGKILL!
[15.051] Test timeouted, sending SIGKILL!
[20.056] Test timeouted, sending SIGKILL!
[25.062] Test timeouted, sending SIGKILL!

anjalirai-intel avatar Dec 07 '22 15:12 anjalirai-intel

@boryspoplawski Previously we had proc mounted in our manifest files because initially support was not there, but now we have removed proc from our manifest files, this test failed and we were under assumption that /proc/self/stat is not supported

anjalirai-intel avatar Dec 07 '22 15:12 anjalirai-intel

It's possible that the test looks at state fields to check whether the subprocess is still running

boryspoplawski avatar Dec 07 '22 16:12 boryspoplawski

Is it something that could be fixed or will it be a Graphene Limitation

anjalirai-intel avatar Dec 07 '22 16:12 anjalirai-intel

Some limited additional options could be possibly implemented (maybe enough for LTP), but there are no plans atm for implementing it

boryspoplawski avatar Dec 07 '22 17:12 boryspoplawski

Yes, sure. Even if limited implementation that could help this testcase will also be beneficial

anjalirai-intel avatar Dec 08 '22 04:12 anjalirai-intel