-
Notifications
You must be signed in to change notification settings - Fork 46
Description
Describe the bug
A clear and concise description of what the bug is.
I cloned hermit on the server and ran the cargo test. There are two failed tests.
test rdrand_rdseed_is_masked ... FAILED
test getrandom_intercepted ... FAILED
failures:
---- rdrand_rdseed_is_masked stdout ----
Expecting determinism:
Test Run 1:
thread 'rdrand_rdseed_is_masked' panicked at 'Unsupported processor with feature info: FeatureInfo { extended_family_id: 0, extended_model_id: 6, family_id: 6, model_id: 106, stepping_id: 6, brand_index: 0, cflush_cache_line_size: 8, initial_local_apic_id: 8, max_logical_processor_ids: 128, edx_ecx: SSE3 | PCLMULQDQ | DTES64 | MONITOR | DSCPL | VMX | SMX | EIST | TM2 | SSSE3 | FMA | CMPXCHG16B | PDCM | PCID | DCA | SSE41 | SSE42 | X2APIC | MOVBE | POPCNT | TSC_DEADLINE | AESNI | XSAVE | OSXSAVE | AVX | F16C | RDRAND | FPU | VME | DE | PSE | TSC | MSR | PAE | MCE | CX8 | APIC | SEP | MTRR | PGE | MCA | CMOV | PAT | PSE36 | CLFSH | DS | ACPI | MMX | FXSR | SSE | SSE2 | SS | HTT | TM | PBE | 0x4800 }
Full family_model: (6, 106)', /home/yupan/.cargo/git/checkouts/reverie-9a587e40a0d7d3be/0e08502/reverie-ptrace/src/timer.rs:75:16
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- getrandom_intercepted stdout ----
Expecting determinism:
Test Run 1:
thread 'getrandom_intercepted' panicked at 'Unsupported processor with feature info: FeatureInfo { extended_family_id: 0, extended_model_id: 6, family_id: 6, model_id: 106, stepping_id: 6, brand_index: 0, cflush_cache_line_size: 8, initial_local_apic_id: 4, max_logical_processor_ids: 128, edx_ecx: SSE3 | PCLMULQDQ | DTES64 | MONITOR | DSCPL | VMX | SMX | EIST | TM2 | SSSE3 | FMA | CMPXCHG16B | PDCM | PCID | DCA | SSE41 | SSE42 | X2APIC | MOVBE | POPCNT | TSC_DEADLINE | AESNI | XSAVE | OSXSAVE | AVX | F16C | RDRAND | FPU | VME | DE | PSE | TSC | MSR | PAE | MCE | CX8 | APIC | SEP | MTRR | PGE | MCA | CMOV | PAT | PSE36 | CLFSH | DS | ACPI | MMX | FXSR | SSE | SSE2 | SS | HTT | TM | PBE | 0x4800 }
Full family_model: (6, 106)', /home/yupan/.cargo/git/checkouts/reverie-9a587e40a0d7d3be/0e08502/reverie-ptrace/src/timer.rs:75:16
failures:
getrandom_intercepted
rdrand_rdseed_is_maskedIndicate any of these common scenarios that apply:
- a program hangs under hermit
- hermit panics internally
- hermit runs the program but divergence (nondeterminism) occurs
To Reproduce
Minimal input to reproduce the behavior.
cargo test
Expected behavior
A clear and concise description of what you expected to happen.
all tests passed
Environment
- Linux kernel version (
uname -a):Linux 5.14.0-rc5 #2 SMP Sat Jun 24 11:10:07 CEST 2023 x86_64 x86_64 x86_64 GNU/Linux - CPU version (
/proce/cpuinfo):Intel(R) Xeon(R) Gold 6348 CPU @ 2.60GHz - Linux distro flavor (
/etc/issue,/etc/redhat-release):Ubuntu 20.04.4 LTS
Additional context
Attach the logs to this issue as a text file generated by hermit --log=trace --log-file=FOO run.
Add any other context about the problem here.
I saw other people having a similar issue but he was running hermit inside a VM. That issue was because hermit cannot intercept CPUID instruction on VMs. Here I am running on a bare metal so I wonder what might be the reason here. Is it because of some CPU features? If that's the case, is there a list of supported CPUs by hermit.
If this is a bug, I would also like to help fix it.