-
-
Notifications
You must be signed in to change notification settings - Fork 30.9k
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
gh-111178: fix some USAN failures #123004
gh-111178: fix some USAN failures #123004
Conversation
!buildbot Usan |
Perfect, I actually can experiment myself @encukou I'll be checking this PR instead of the other and will decide after I've fixed the errors one by one... |
!buildbot Usan |
@encukou I'm able to run the build bot (in response to your previous question) and I'm currently setting a local one. Actually, what I don't understand is that my own Clang version does not complain about it... I'm not sure if it's because it's too old so I'm just setting up an Arch Linux container to check. |
Ah, just got to this notification. According to the issue, |
Yes. I looked around more and was able to confirm this. So, I used the following configuration: ./configure --prefix '$(PWD)/target' CC=clang LD=clang CFLAGS="-fsanitize-recover -fsanitize=function" LDFLAGS="-fsanitize=function -fsanitize-recover" Note that I used
Command to generate the above reportmake -j12 2>&1 >/dev/null | \
grep 'runtime error: call to function' | \
sed -r 's#^([^:]+).+: runtime error: call to function (.+) through pointer to.*#`\1`@`\2`#' | \
sort -k1,2 -t@ -u | \
gawk 'BEGIN { PROCINFO["sorted_in"]="@ind_num_asc"; FS=SUBSEP="@"}{A[$1][length(A[$1])+1]=$2 }END {for (m in A) { for (i in A[m]) { if (i == 1) print "- [ ] In", m; print " - [ ]", A[m][i] }}}' Full error report
|
!buildbot Usan Function |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I'm fine with fixing these issues incrementally. We don't need a giant PR fixing all issues at once.
Sounds good. When I'm back I'll freeze this branch and move the task list I had in the issue (just for me otherwise I'll lose it...). |
Ok, so the commits are a bit moving around and it'll probably be easier for me to fix the failures files by files instead of discovering them one by one. I'll just commit those few bits for those few files because I don't want to create more PRs and close this one, but I'll try to be more rigourous for the next ones. |
Thank you! |
This is a PRI used to track all possible errors since the build bot needs to be incrementally fixed. Depending on the number of commits, I'll make separate PRs (and have the buildbot fails until the last one is merged).