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

Deadlock in the directory tests #2961

Closed
alexcrichton opened this issue Aug 5, 2016 · 3 comments
Closed

Deadlock in the directory tests #2961

alexcrichton opened this issue Aug 5, 2016 · 3 comments

Comments

@alexcrichton
Copy link
Member

I reproduced this locally and it appears to be because libgit2 and rust-openssl are both initializing OpenSSL at the same time. That is, OpenSSL has weird locking support that makes it kinda hard to use as a hidden dependencies, and now it's being hard about using it as a hidden dependency :(

@sfackler do you have thoughts on this? The libgit2 library is trying to initialize OpenSSL locking I think, although I may be able to figure out how to disable that. Before that, though, are there various options on the rust-openssl side of things?

@sfackler
Copy link
Member

sfackler commented Aug 5, 2016

openssl-sys provides an init function that handles initialization behind a Once. If you can figure out how to tell libgit2 to stop doing its thing, you should be able to call init and the right things will hopefully happen.

@sfackler
Copy link
Member

sfackler commented Aug 5, 2016

We could also provide a function to tell openssl-sys to assume OpenSSL has already been initialized if necessary.

@alexcrichton
Copy link
Member Author

Ok, perfect, thanks! I'll funnel everything into using that function.

alexcrichton added a commit to alexcrichton/cargo that referenced this issue Aug 7, 2016
They've all been updated to canonicalize as `openssl_sys::init` as the "one true
method" for initializing OpenSSL,

Closes rust-lang#2961
bors added a commit that referenced this issue Aug 7, 2016
Update OpenSSL-using dependencies

They've all been updated to canonicalize as `openssl_sys::init` as the "one true
method" for initializing OpenSSL,

Closes #2961
@bors bors closed this as completed in #2971 Aug 7, 2016
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

No branches or pull requests

2 participants