You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
Activity
alexcrichton commentedon Jan 19, 2016
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.