gramineproject / gramine

A library OS for Linux multi-process applications, with Intel SGX support
GNU Lesser General Public License v3.0
598 stars 200 forks source link

Regression with Inode, chroot rewrite commit 74420be #29

Closed jinengandhi-intel closed 3 years ago

jinengandhi-intel commented 3 years ago

Description of the problem

Internal CI flagged the following tests as failures with the Inode, chroot FS rewrite feature that was merged recently. The following tests are regressions with the commit: ftruncate03, ftruncate03_64, pwrite02, pwrite02_64, pwrite03, pwrite03_64, write02

These tests are also run in the open source CI but were missed may be due to the parser not checking for TFAIL in the tests.

Console link for the commit in open source CI:

https://localhost:8080/job/graphene-18.04/6305/testReport/apps/LTP/test_direct___pwrite02/ https://localhost:8080/job/graphene-18.04/6305/testReport/apps/LTP/test_direct___pwrite03/ https://localhost:8080/job/graphene-18.04/6305/testReport/apps/LTP/test_direct___ftruncate03/

Console link from an earlier commit in opensource CI where the tests had passed:

https://localhost:8080/job/graphene-18.04/6250/testReport/apps/LTP/test_direct___pwrite02/ https://localhost:8080/job/graphene-18.04/6250/testReport/apps/LTP/test_direct___pwrite03/ https://localhost:8080/job/graphene-18.04/6250/testReport/apps/LTP/test_direct___ftruncate03/

Sample output for pwrite03 where the test passed:

/home/jenkins/workspace/graphene-18.04/LibOS/shim/test/ltp/src/lib/tst_test.c:1250: TINFO: Timeout per run is 0h 05m 00s
/home/jenkins/workspace/graphene-18.04/LibOS/shim/test/ltp/src/testcases/kernel/syscalls/pwrite/pwrite03.c:25: TPASS: pwrite(fd, NULL, 0) == 0

Summary:
passed   0
failed   0
skipped  0
warnings 0

Sample output for pwrite03 where the test failed:

/home/jenkins/workspace/graphene-18.04/LibOS/shim/test/ltp/src/lib/tst_test.c:1250: TINFO: Timeout per run is 0h 05m 00s
/home/jenkins/workspace/graphene-18.04/LibOS/shim/test/ltp/src/testcases/kernel/syscalls/pwrite/pwrite03.c:21: TFAIL: pwrite() should have succeeded with ret=0: EINVAL (22)

Summary:
passed   0
failed   0
skipped  0
warnings 0

Steps to reproduce

Run the above LTP tests locally with graphene-direct

Expected results

All subtests should be TPASS.

Actual results

At least 1 subtest has a TFAIL.

pwmarcz commented 3 years ago

Thanks, it's good to know LTP tests behave like this. Hopefully we'll be able to fix the runner soon.

mkow commented 3 years ago

were missed may be due to the parser not checking for TFAIL in the tests

Could you upstream your fix to the parser? How does it look like, is it just a simple bugfix or something deeper? I remember this problem, but I forgot the details.

mkow commented 3 years ago

Ah, I see that Paweł already did that in #33, nice :)