Uh oh!
There was an error while loading. Please reload this page.
gh-111178: fix some USAN failures - #123004
Conversation
picnixz
commented
Aug 14, 2024
!buildbot Usan |
bedevere-bot
commented
Aug 14, 2024
picnixz
commented
Aug 14, 2024
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... |
picnixz
commented
Aug 14, 2024
!buildbot Usan |
bedevere-bot
commented
Aug 14, 2024
@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. |
encukou
commented
Aug 14, 2024
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 |
picnixz
commented
Aug 27, 2024
!buildbot Usan Function |
bedevere-bot
commented
Aug 27, 2024
vstinner
left a comment
There was a problem hiding this comment.
LGTM. I'm fine with fixing these issues incrementally. We don't need a giant PR fixing all issues at once.
picnixz
commented
Sep 19, 2024
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...). |
picnixz
commented
Sep 25, 2024
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. |
encukou
commented
Sep 27, 2024
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).