Skip to content

std: Ignore dtors_in_dtors_in_dtors on OSX #31292

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

Merged
merged 1 commit into from
Jan 30, 2016

Conversation

alexcrichton
Copy link
Member

This test has been deadlocking and causing problems on the bots basically since
its inception. Some memory safety issues were fixed in 987dc84, but the
deadlocks remained afterwards unfortunately.

After some investigation, I've concluded that this is just a situation where OSX
is not guaranteed to run destructors. The fix in 987dc84 observed that OSX was
rewriting the backing TLS memory to its initial state during destruction while
we weren't looking, and this would have the effect of canceling the destructors
of any other initialized TLS slots.

While very difficult to pin down, this is basically what I assume is happening
here, so there doesn't seem to really be anythig we can do to ensure the test
robustly passes on OSX, so just ignore it for now.

This test has been deadlocking and causing problems on the bots basically since
its inception. Some memory safety issues were fixed in 987dc84, but the
deadlocks remained afterwards unfortunately.

After some investigation, I've concluded that this is just a situation where OSX
is not guaranteed to run destructors. The fix in 987dc84 observed that OSX was
rewriting the backing TLS memory to its initial state during destruction while
we weren't looking, and this would have the effect of canceling the destructors
of any other initialized TLS slots.

While very difficult to pin down, this is basically what I assume is happening
here, so there doesn't seem to really be anythig we can do to ensure the test
robustly passes on OSX, so just ignore it for now.
@alexcrichton
Copy link
Member Author

r? @aturon

This makes me sad

@aturon
Copy link
Member

aturon commented Jan 29, 2016

Super sad.

@bors: r+

@bors
Copy link
Collaborator

bors commented Jan 29, 2016

📌 Commit b960de0 has been approved by aturon

@alexcrichton
Copy link
Member Author

@bors: rollup

@bors
Copy link
Collaborator

bors commented Jan 30, 2016

⌛ Testing commit b960de0 with merge 9f64d1d...

@bors
Copy link
Collaborator

bors commented Jan 30, 2016

💔 Test failed - auto-linux-cross-opt

@alexcrichton
Copy link
Member Author

@bors: retry

On Fri, Jan 29, 2016 at 9:43 PM, bors notifications@github.com wrote:

[image: 💔] Test failed - auto-linux-cross-opt
http://buildbot.rust-lang.org/builders/auto-linux-cross-opt/builds/1074


Reply to this email directly or view it on GitHub
#31292 (comment).

Manishearth added a commit to Manishearth/rust that referenced this pull request Jan 30, 2016
…dtors, r=aturon

This test has been deadlocking and causing problems on the bots basically since
its inception. Some memory safety issues were fixed in 987dc84, but the
deadlocks remained afterwards unfortunately.

After some investigation, I've concluded that this is just a situation where OSX
is not guaranteed to run destructors. The fix in 987dc84 observed that OSX was
rewriting the backing TLS memory to its initial state during destruction while
we weren't looking, and this would have the effect of canceling the destructors
of any other initialized TLS slots.

While very difficult to pin down, this is basically what I assume is happening
here, so there doesn't seem to really be anythig we can do to ensure the test
robustly passes on OSX, so just ignore it for now.
bors added a commit that referenced this pull request Jan 30, 2016
@bors bors merged commit b960de0 into rust-lang:master Jan 30, 2016
@alexcrichton alexcrichton deleted the osx-dtors-in-dtors-in-dtors branch February 8, 2016 23:59
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 this pull request may close these issues.

3 participants