|
Ran
|
Jobs
6
|
Files
131
|
Run time
1min
|
Badge
README BADGES
|
push
github
Add timeout to prevent verifier hang on malformed programs (#763) * Add timeout mechanism to prevent verifier infinite loops Add a 5-second timeout around prevail::analyze() to prevent the fuzzer from hanging on malformed BPF programs that cause the verifier to enter infinite loops (e.g., nested loops which are a known limitation of prevail). The timeout uses a separate thread with std::future::wait_for() to detect when verification takes too long. If the timeout is reached, the verification thread is detached and the function returns false (verification failed). This fix addresses CI failures where the fuzzer would timeout after 60+ seconds on programs that trigger verifier infinite loops. Co-authored-by: Alan-Jowett <20480683+Alan-Jowett@users.noreply.github.com> * Update documentation with implementation notes Co-authored-by: Alan-Jowett <20480683+Alan-Jowett@users.noreply.github.com> * Revert "Update documentation with implementation notes" This reverts commit e1c27a141. * Move verification state to heap to fix use-after-free on timeout Address review feedback: - Move all shared state (program, result, promise, completion flag) to heap-allocated shared_ptrs so detached thread cannot access destroyed stack locals on timeout. - Add safe_set_value wrapper to guard against set_value throwing when promise is already satisfied or has no state. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Alan-Jowett <20480683+Alan-Jowett@users.noreply.github.com> Co-authored-by: Alan Jowett <alanjo@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6579 of 8245 relevant lines covered (79.79%)
536591.85 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | run-Debug-ubuntu-24.04-arm-arm64 - 22649508223.1 | 70 |
59.87 |
GitHub Action Run | |
| 2 | run-Debug-macos-latest-x86_64 - 22649508223.2 | 85 |
77.35 |
GitHub Action Run | |
| 3 | run-Debug-ubuntu-latest-x86_64 - 22649508223.3 | 69 |
76.48 |
GitHub Action Run | |
| 4 | run-RelWithDebInfo-ubuntu-latest-x86_64 - 22649508223.4 | 69 |
76.46 |
GitHub Action Run | |
| 5 | run-RelWithDebInfo-ubuntu-24.04-arm-arm64 - 22649508223.5 | 70 |
59.88 |
GitHub Action Run | |
| 6 | run-RelWithDebInfo-macos-latest-x86_64 - 22649508223.6 | 85 |
77.23 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|