-
-
Notifications
You must be signed in to change notification settings - Fork 93
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
have better ubsan stack trace #816
Conversation
2af9bbf
to
0116116
Compare
0116116
to
0fbe9ce
Compare
The C++ spec is clear... So both |
@anonrig Here is how they are implemented: So there is no difference between the two. It is the same function. |
@lemire Yes, I think tl::expected<url_pattern_component... line is the real reason why this PR has a better stack trace. |
tagging @TartanLlama upon request: https://bsky.app/profile/tartanllama.bsky.social/post/3lejephgwcc2d |
@mikea initializing all of them still gives the following error under -DADA_SANITIZE_UNDEFINED=ON
It gives the following failure under -DADA_SANITIZE_WITHOUT_LEAKS=ON
|
Running under valgrind shows
|
@lemire this clears all valgrind + sanitizer leak errors:
|
8292933
to
3aad757
Compare
I've closed this pull-request but the original PR (#785) still has UBSAN failure on |
It seems
.has_value()
checks are needed for undefined sanitizer to pass. Recommend enablingADA_SANITIZE_UNDEFINED=ON
to have a better stack trace. (PS: disableADA_SANITIZE
)Stack trace after these changes
Before
Note: If you enable
ADA_SANITIZE_WITHOUT_LEAKS
you get an a lot different stack trace.