-
Notifications
You must be signed in to change notification settings - Fork 12.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
compiletest crashes on CI with: expected success, got: signal: 11 (core dumped) #93384
Comments
Possibly this was #91840 ? Looking at what's been merged in the last day, that seems to be the most relevant thing |
You mean it might have introduced a new miscompilation that made compiletest crash? |
Maybe. Its also possible that there was some existing UB elsewhere that happened to get set off by this, don't really know. My observation just mostly comes from where the segfault is happening and what commits in the last day have touched nearby code |
Why this even triggered? Looks unrelated, but still suspicious. |
Those warnings are unrelated. I'll post a patch soon to fix it. EDIT: #93399 |
Funny thing: #93352 been merged even with crashed compiletest: #93352 (comment), how this works? |
The comment by @rust-log-analyzer is about the CI run not the bors run. |
Yes, it failed on PR check, not on check-all-platforms-and-merge. |
@JakobDegen can you try to revert that #91840 pr and see, will it fail or not on test? |
Yeah, I can do that before the end of the day |
Reverting #91840 didn't fix it. Its still very suspicious that this started right after that got merged though. I'll leave the branch up on my fork for a little in case anyone else wants to re-run things or something. |
The issue appears to be caused by a copy of dirent made in rust/library/std/src/sys/unix/fs.rs Lines 492 to 497 in ca43894
Which was recently changed for Linux and Android in #92778. |
It sounds like reverting that PR would be a good first step, since the bugs it fixes look less critical to me given that diagnosis. (Of course, maybe there is a more forward-moving fix, but a revert seems like something we can merge with less caution). |
I'll take a look. @tmiasko do you mean the |
Oh indeed that seems to happen all the time. One sec I'll put up a patch |
… r=cuviper fs: Don't copy d_name from struct dirent The dirent returned from readdir() is only guaranteed to be valid for d_reclen bytes on common platforms. Since we copy the name separately anyway, we can copy everything except d_name into DirEntry::entry. Fixes rust-lang#93384.
runner: x86_64-gnu-llvm-12, ubuntu-20.04-xl
Occured in multiple pr across CI:
#93361: https://github.com/rust-lang/rust/runs/4969749566?check_suite_focus=true
#93381: https://github.com/rust-lang/rust/runs/4969258442?check_suite_focus=true
#93375: https://github.com/rust-lang/rust/runs/4967313356?check_suite_focus=true
#93239: https://github.com/rust-lang/rust/runs/4963643970?check_suite_focus=true
and others
The text was updated successfully, but these errors were encountered: