-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Since 1.32.0 compiler cannot run with libfaketime 0.9.7 (jemalloc stack overflow) #60461
Comments
This is very likely to just be wolfcw/libfaketime#130, so maybe we should close in favor of that? libfaketime has never really been an officially supported environment for rustc |
The libfaketime issue has been open for over a year with no activity. Meanwhile it was only triggered by a recent change in rustc. Are you aware of any way to achieve deterministic builds without libfaketime? It would be unfortunate to leave users who require determinism stuck on 1.31. |
Perhaps 1.32.0 was the release Rust binaries used the system allocator by default? In that case the compiler would've also started to opt into jemalloc via jemallocator, which probably bumped jemalloc's version to one exposing the issue. There's a few issues relating to reproducible builds, eg. #34902 for a sort of meta-issue, as well as specific bugs and regressions like #59542 and #57041. |
Rust was using jemalloc before 1.32.0 but an old version. Recent jemalloc versions have additional optimisations that clash with libfaketime. There is nothing to be done on the Rust front, either libfaketime has to fix the issue or jemalloc could implement workaround. |
Rustc with faketime is broken in recent releases, and this check seems to work fine without. More about the issue: rust-lang/rust#60461
Rustc with faketime is broken in recent releases, and this check seems to work fine without. More about the issue: rust-lang/rust#60461
Just to come back to this for anybody who may read it in the future -- I can't actually tell if it is ever required to use libfaketime with current rustc, in order to get deterministic builds. (I think it's pretty good about not including the time in the output anywhere. It's not totally clear to me whether it was even required at the time we were trying to do it in the first place.) In which case this issue may not actually be an issue? |
Closing as this does not look like anything that rustc can do on our side, and may have to rely on libfaketime and jemalloc to coordinate instead. |
When running
I get a segfault. This does not happen with 1.31.0. In gdb I see
May be related to wolfcw/libfaketime#130
The text was updated successfully, but these errors were encountered: