-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simulate NMR and OS API failures #2101
Comments
@shpalani please work with @saxena-anurag to address this test issue. In the user mode test, we shim all OS system calls. The plan is to randomly fail those calls and then see if that results in a crash or hang. |
Pasting the crashes seen with NMR APIs fault injection code in nmr_um.cpp sock_addr_contextC:\ebpf\ebpf-for-windows\tests\netebpfext_unit\netebpfext_unit.cpp(668) C:\ebpf\ebpf-for-windows\tests\netebpfext_unit\netebpf_ext_helper.cpp(48): PASSED: C:\ebpf\ebpf-for-windows\tests\netebpfext_unit\netebpf_ext_helper.cpp(51): PASSED: C:\ebpf\ebpf-for-windows\tests\netebpfext_unit\netebpf_ext_helper.cpp(55): PASSED: C:\ebpf\ebpf-for-windows\tests\netebpfext_unit\netebpf_ext_helper.cpp(55): FAILED: cgroup_sockops_load_testC:\ebpf\ebpf-for-windows\tests\end_to_end\end_to_end.cpp(1152) C:\ebpf\ebpf-for-windows\tests\end_to_end\test_helper.cpp(631): PASSED: C:\ebpf\ebpf-for-windows\tests\end_to_end\test_helper.cpp(633): PASSED: C:\ebpf\ebpf-for-windows\tests\end_to_end\test_helper.cpp(633): FAILED: xdp-encap-reflect-v6-jitC:\ebpf\ebpf-for-windows\tests\end_to_end\end_to_end.cpp(1758) C:\ebpf\ebpf-for-windows\tests\end_to_end\test_helper.cpp(631): PASSED: C:\ebpf\ebpf-for-windows\tests\end_to_end\test_helper.cpp(633): PASSED: C:\ebpf\ebpf-for-windows\tests\end_to_end\test_helper.cpp(633): FAILED: Assertion failed: it->second.binding_count == 0, file C:\ebpf\ebpf-for-windows\libs\platform\user\nmr_impl.cpp, line 310 C:\ebpf\ebpf-for-windows\tests\libs\util\program_helper.cpp(32): FAILED: cgroup_sockaddr_load_test_"authorize_recv_accept6"_EBPF_ATTACH_TYPE_CGROUP_INE-
|
Memory leaks reported:
|
Status/Progress: Memory leak: (Please refer to the above for the reports)
Crashes/SEGV: (Please refer to the above for the reports)
|
Fault Injection Analyzing: libs/platform/user/ebpf_platform_user.cpp Memory Leaks:
|
SIGSEGV crashes:
|
Status:
ONNECT_native: Reason of crash: Passing buffer NULL to BCryptHashData
|
@shpalani Which parts of this issue are still left? |
NMR APIs: |
Memory leaks:
|
Adding fault injection in ndis_um.cpp,
|
Pending: OS APIs: |
Status/Progress: fwp_um.cppFault Injection was added to the following WFP APIs:
Pending:
Adding FI to FwpmTransactionCommit0 gave leak, and crash.
|
This will be taken in #2405 FwpmTransactionCommit0 crash stack:
|
Moving the pending work items to new issues
|
This issue is to add tests for the following:
Add tests to simulate systematic failure of NMR and OS API failures for both ebpfcore and netebpfext.
This can use the same framework currently used for low memory simulation in user mode.
NMR APIs:
OS APIs:
8. ebpf_platform_user.cpp
9. fwp_um.cpp
10. kernel_um.cpp
11. ndis_um.cpp
The text was updated successfully, but these errors were encountered: