-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
rustc uses a constantly increasing amount of memory up to OS crash or OOM kill #128365
Comments
Could you add the backtrace and relevant logs? |
I have no backtrace—I have to Here is the log of
|
Reduced: pub trait BitRead {}
pub trait BitSeek {}
pub trait ReaderBuilder {
type Reader<'a>;
}
pub struct MmapReaderBuilder {}
impl ReaderBuilder for MmapReaderBuilder where for<'a> Self::Reader<'a>: BitRead + BitSeek
{} |
Ran a
Two of those commits stand out to me: #84623 is the GAT incomplete feature commit, but as far as I can tell the "this feature is incomplete" message doesn't appear in any of the outputs I have found for the bisected nightlies, before and after. The other is #86993, which also touches on GATs and seem to be a bit more related to the faulty code. I hope this bisection is correct, I might be totally wrong; but for my bisect toolchain of 2021-07-16, cargo check doesn't hang, and in 2021-07-17, it does hang. |
There are many ways (and open issues) to have the old solver infinite loop like this, and here as well the overflow is detected by the new solver. @rustbot label +fixed-by-next-solver |
Clone the bug branch of webgraph-rs and run a check:
On MacOs 14.5 (M1), nixos 23.11, and Fedora 38 the compilation process stops at this message:
At this point,
rustc
uses a constantly increasing amount of memory. The result is an OS crash in MacOS, and OOM-kill on Linux.The problem appears both in stable and nightly.
rustc --version --verbose
:The same setup works without problems on Arch Linux.
UPDATE: the first post claimed mistakenly that the check was working on Fedora 38.
The text was updated successfully, but these errors were encountered: