Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.

Graphene-SGX: Regression Failures on Kernel 5.12 upstream kernel #2443

Open
anjalirai-intel opened this issue Jun 15, 2021 · 8 comments
Open
Assignees

Comments

@anjalirai-intel
Copy link

anjalirai-intel commented Jun 15, 2021

Config

Graphene :- Commit: f9ed396
Linux :- 5.12.0 upstream kernel

Issues

PAL Failures

TC-1: test_200_event
The test expect to return “TEST OK” but it returned “Error at line 71, pal_errno: -1, debug: DkProcessExit: Returning exit code 1”

TC-2: test_900_misc
Expected Result
Query System Time OK
Delay Execution for 10000 Microseconds OK
Delay Execution for 3 Seconds OK
Generate Random Bits OK

Actual Result: (Missing Delay Execution for 3 Seconds OK)
Query System Time OK
Sleeped 10078 Microseconds
Delay Execution for 10000 Microseconds OK
Sleeped 2993086 Microseconds
Generate Random Bits OK

LibOS Failures

TC-1: test_041_futex_timeout
Expected Result:
futex correctly timed out

Actual Result:
invoke futex syscall with a 1 second timeout
Slept for 997926 microseconds, which is less than 1 seconds

LTP Test Failures:

TC-1: alarm05
Expected Result:
TINFO: Timeout per run is 0h 05m 00s
TPASS: alarm() returned zero
TPASS: alarm() returned remainder correctly
TPASS: alarm handler fired once

Summary:
passed 0
failed 0
skipped 0
warnings 0

Actual Result:
TINFO: Timeout per run is 0h 05m 00s
TPASS: alarm() returned zero
TFAIL: alarm() returned wrong remained 10
TPASS: alarm handler fired once

Summary:
passed 0
failed 0
skipped 0
warnings 0

TC-2: alarm06
Expected Result:
TINFO: Timeout per run is 0h 05m 00s
TPASS: Received 0 alarms
TPASS: alarm(0) returned 1

Summary:
passed 0
failed 0
skipped 0
warnings 0

Actual Result:
TINFO: Timeout per run is 0h 05m 00s
TPASS: Received 0 alarms
TFAIL: alarm(0) returned 2, expected 1

Summary:
passed 0
failed 0
skipped 0
warnings 0

TC-3: sigtimedwait01
Expected Result:
TINFO: Timeout per run is 0h 05m 00s
TPASS: Wait interrupted by expected signal
TPASS: struct siginfo is correct
TPASS: struct siginfo is correct
TPASS: sigwaitinfo restored the original mask
TPASS: Wait interrupted by expected signal
TPASS: Wait interrupted by expected signal
TPASS: sigwaitinfo restored the original mask
TPASS: Fault occurred while accessing the buffers
TPASS: Child exited with expected code
TPASS: Fault occurred while accessing the buffers
TPASS: Wait interrupted by timeout

Summary:
passed 0
failed 0
skipped 0
warnings 0

Actual Result:
TINFO: Timeout per run is 0h 05m 00s
TPASS: Wait interrupted by expected signal
TPASS: struct siginfo is correct
TPASS: struct siginfo is correct
TPASS: sigwaitinfo restored the original mask
TPASS: Wait interrupted by expected signal
TPASS: Wait interrupted by expected signal
TPASS: sigwaitinfo restored the original mask
TPASS: Fault occurred while accessing the buffers
graphene/LibOS/shim/test/ltp/ltp_src/lib/tst_test.c:1300: TBROK: Test killed by SIGPWR!

Summary:
passed 0
failed 0
skipped 0
warnings 0

error: Using insecure argv source. Graphene will continue application execution, but this configuration must not be used in production!
error: Failed to initialize secure pipe 152772: -6

TC-4: rt_sigtimedwait01
Expected Result:
TINFO: Timeout per run is 0h 05m 00s
TINFO: Testing variant: syscall with old kernel spec
TPASS: Wait interrupted by expected signal
TPASS: struct siginfo is correct
TPASS: struct siginfo is correct
TPASS: sigwaitinfo restored the original mask
TPASS: Wait interrupted by expected signal
TPASS: Wait interrupted by expected signal
TPASS: sigwaitinfo restored the original mask
TPASS: Fault occurred while accessing the buffers
TPASS: Child exited with expected code
TPASS: Fault occurred while accessing the buffers
TPASS: Wait interrupted by timeout
TPASS: struct siginfo is correct
TPASS: sigwaitinfo restored the original mask
TFAIL: Expected error number EAGAIN, got: EINTR (4)
TPASS: struct siginfo is correct
TPASS: sigwaitinfo restored the original mask
TPASS: struct siginfo is correct
TPASS: struct siginfo is correct
TPASS: sigwaitinfo restored the original mask

Summary:
passed 0
failed 0
skipped 0
warnings 0

Actual Result:
TINFO: Timeout per run is 0h 05m 00s
TINFO: Testing variant: syscall with old kernel spec
TPASS: Wait interrupted by expected signal
TPASS: struct siginfo is correct
TPASS: struct siginfo is correct
TPASS: sigwaitinfo restored the original mask
TPASS: Wait interrupted by expected signal
TPASS: Wait interrupted by expected signal
TPASS: sigwaitinfo restored the original mask
TPASS: Fault occurred while accessing the buffers
TBROK: Test killed by SIGPWR!

Summary:
passed 0
failed 0
skipped 0
warnings 0

TC-5: futex_wait_bitset01
Actual Result:
TINFO: Timeout per run is 0h 05m 00s
TINFO: Testing variant: syscall with old kernel spec
TINFO: testing futex_wait_bitset() timeout with CLOCK_MONOTONIC
TFAIL: futex_wait_bitset() woken up prematurely 99918us, expected 100010us
TINFO: testing futex_wait_bitset() timeout with CLOCK_REALTIME
TFAIL: futex_wait_bitset() woken up prematurely 99933us, expected 100010us

Summary:
passed 0
failed 0
skipped 0
warnings 0

TC-6: alarm03
Actual Result:
TINFO: Timeout per run is 0h 05m 00s
TFAIL: alarm(100), fork, alarm(0) parent's alarm returned 99
TPASS: alarm(100), fork, alarm(0) child's alarm returned 0

Summary:
passed 0
failed 0
skipped 0
warnings 0

Steps to reproduce

PAL Failures
cd Pal/regression
make SGX=1 regression

LibOS Failures
cd LibOS/shim/test/regression
sudo make SGX=1 regression
Failure Trace Logs.zip

LTP Failures:
cd LibOS/shim/test/ltp
make -j8 SGX=1 all sgx-tokens
make -j8 ltp-sgx.xml

@dimakuv
Copy link
Contributor

dimakuv commented Jun 15, 2021

So is this regression because of:

  • moving to the new Linux kernel, or
  • moving to a new Graphene commit?

@dimakuv
Copy link
Contributor

dimakuv commented Jun 15, 2021

There seems to be something wrong with timings in this new Linux 5.12 kernel. Looks like all new regressions are about timings that are very slightly off.

@anjalirai-intel
Copy link
Author

@dimakuv This regression is because moving to new Linux Kernel

@anjalirai-intel
Copy link
Author

Updated ltp test failures

@dimakuv
Copy link
Contributor

dimakuv commented Jul 22, 2021

@anjalirx-intel I don't remember if we agreed on some way of solving this issue... Is anyone looking at it? I think someone volunteered to check this. I will assign priority P1 for now and mark it as a bug.

@dimakuv dimakuv added this to the release v1.2 milestone Jul 22, 2021
@anjalirai-intel
Copy link
Author

No @dimakuv , we haven't agreed on any way for solving this issue

@Satya1493
Copy link

@dimakuv, please assign this to me. I've started to have a look.

@anjalirai-intel
Copy link
Author

@Satya1493 This issue is also seen on RHEL setup Kernel 5.12

@dimakuv dimakuv removed this from the release v1.2 milestone Sep 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants