Skip to content

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
Contributor

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 [email protected] 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