Skip to content
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

Upgrade jemalloc, re-enable Windows GNU #31030

Closed
alexcrichton opened this issue Jan 19, 2016 · 1 comment · Fixed by #31889
Closed

Upgrade jemalloc, re-enable Windows GNU #31030

alexcrichton opened this issue Jan 19, 2016 · 1 comment · Fixed by #31889

Comments

@alexcrichton
Copy link
Member

As of the time of this writing, we are running jemalloc at the revision rust-lang/jemalloc@91010a9 which I believe is the 4.0.4 release of jemalloc. Previously we were running rust-lang/jemalloc@e24a1a0 which I believe is somewhere in the 3.6 series. We attempted to upgrade jemalloc many times between these two commits eventually reaching the conclusion that the previous behavior of --enable-lazy-lock on Windows is fundamentally racy in jemalloc right now unfortunately. This led to a successful upgrade of jemalloc to where we are today.

Unfortunately, however, there is a deadlock in jemalloc 4.0.4 so we are attempting to downgrade back to 3.6. There were no known problems other than some Windows issues with jemalloc 3.6, so we believe it'll be fine for awhile. In this downgrade, however, it appears that the implementation of --disable-lazy-lock is somewhat broken as well, causing the initial downgrade to fail to land.

As a result, the downgrade attempt will disable jemalloc on Windows entirely. This issue will track re-enabling it on Windows as well as re-upgrading once the deadlock bug is fixed. As far as I know the only reason to not enable Windows is that lots of locking support was improved in 4.0.*, and the only reason to not upgrade immediately is the deadlock bugs we've encountered.

@alexcrichton
Copy link
Member Author

FWIW one of my Rust projects with CI-every-night has started deadlocking recently, and after some investigation it turned up the exact same stack trace as rustdoc itself, so that's at least another data point for the deadlock in jemalloc.

bors added a commit that referenced this issue Mar 3, 2016
…akis

Now that jemalloc/jemalloc@767d850 is upstream, the relevant deadlocking issue which prompted our downgrade has been resolved. As a result, there's no known issue to *not* upgrade! This also re-enables jemalloc for the pc-windows-gnu target as known issues with that have also been fixed.

Closes #31030
bors added a commit that referenced this issue Mar 5, 2016
…akis

Now that jemalloc/jemalloc@767d850 is upstream, the relevant deadlocking issue which prompted our downgrade has been resolved. As a result, there's no known issue to *not* upgrade! This also re-enables jemalloc for the pc-windows-gnu target as known issues with that have also been fixed.

Closes #31030
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants