facebookexperimental / hermit

Hermit launches linux x86_64 programs in a special, hermetically isolated sandbox to control their execution. Hermit translates normal, nondeterministic behavior, into deterministic, repeatable behavior. This can be used for various applications, including replay-debugging, reproducible artifacts, chaos mode concurrency testing and bug analysis.
Other
1.17k stars 31 forks source link

Internal panic on raptor lake #47

Open Octogonapus opened 6 months ago

Octogonapus commented 6 months ago

Describe the bug Running hermit run -- ls panics on an Intel 13900k (Raptor lake)

Indicate any of these common scenarios that apply:

To Reproduce ./target/debug/hermit run -- ls

thread 'main' panicked at /home/salmon/.cargo/git/checkouts/reverie-9a587e40a0d7d3be/8298a77/reverie-ptrace/src/timer.rs:79:16:
Unsupported processor with feature info: FeatureInfo { extended_family_id: 0, extended_model_id: 11, family_id: 6, model_id: 183, stepping_id: 1, brand_index: 0, cflush_cache_line_size: 8, initial_local_apic_id: 90, max_logical_processor_ids: 128, edx_ecx: SSE3 | PCLMULQDQ | DTES64 | MONITOR | DSCPL | VMX | SMX | EIST | TM2 | SSSE3 | FMA | CMPXCHG16B | PDCM | PCID | 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, 183)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
Error: Sandbox container exited unexpectedly
     > Process exited with code: Signaled(SIGSEGV, false)

Expected behavior No panic.

Environment

Additional context Attach the logs to this issue as a text file generated by hermit --log=trace --log-file=FOO run.

2024-03-06T02:39:22.708980Z  INFO detcore::scheduler::runqueue: DETLOG SCHEDRAND: seeding scheduler runqueue with seed 0
2024-03-06T02:39:22.710124Z  INFO detcore::scheduler: [scheduler] daemon task starting up, waiting for guest thread start..
2024-03-06T02:39:22.710282Z TRACE detcore: [tid 3] detcore init new thread state
2024-03-06T02:39:22.710320Z  INFO detcore::tool_local: DETLOG USER RAND: seeding PRNG for root thread with seed 0
2024-03-06T02:39:22.710356Z  INFO detcore::tool_local: DETLOG CHAOSRAND: seeding chaos scheduler with seed 0