-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
ASan failures in __std_find_trivial_unsized_impl
#4485
Comments
Recreated. The failure originates from the reading before the range, which is intentional. We apply valid mask and ignore anything masked out: STL/stl/src/vector_algorithms.cpp Lines 1859 to 1865 in 191d51b
This error potentially can be avoided by:
However, this algorithm also relies on reading past the end. Here if an element is expected to be found near the end of the range, in particular the last element, the algorithm is likely to read past the end: STL/stl/src/vector_algorithms.cpp Lines 1878 to 1879 in 191d51b
The current coverage seem to miss this, but GH-4449 test can be easily altered to recreated this situation STL/tests/std/tests/VSO_0000000_vector_algorithms/test.cpp Lines 164 to 172 in 191d51b
If excluding this optimization from ASAN is not an option, then we have to remove the vectorization completely, or yield to the runtime |
@amyw-msft informed me that this appeared because DevCom-10405373 "Address sanitizer does not instrument most SSE2 intrinsics based memory accesses" was fixed in VS 2022 17.10 Preview 2. |
The latest STL-ASan-CI run has failed. Most (but not all) of the failures look like:
The text was updated successfully, but these errors were encountered: