Skip to content

Deadlock on armv7-unknown-linux-gnueabihf #597

@pgerber

Description

@pgerber

On armv7-unknown-linux-gnueabihf the following code leads to a deadlock:

extern crate hyper_openssl;

use hyper_openssl::OpensslClient;

fn main() {
    OpensslClient::new().unwrap();
}

Backtrace:

(gdb) bt
#0  0x76dae780 in __lll_lock_wait (futex=futex@entry=0x76817150, private=<optimized out>) at ../ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c:46
#1  0x76da91a4 in __GI___pthread_mutex_lock (mutex=0x76817150) at pthread_mutex_lock.c:79
#2  0x54ab5260 in std::sys::imp::mutex::{{impl}}::lock (self=0x76817150) at /checkout/src/libstd/sys/unix/mutex.rs:67
#3  0x54ab4dac in std::sys_common::mutex::{{impl}}::lock (self=0x76817150) at /checkout/src/libstd/sys_common/mutex.rs:40
#4  0x54ab5bd4 in std::sync::mutex::{{impl}}::lock<()> (self=0x7682c260) at /checkout/src/libstd/sync/mutex.rs:221
#5  0x54ab8c9c in openssl_sys::ossl10x::locking_function (mode=9, n=12, _file=0x76fa065c "ssl_cert.c", _line=146) at /home/pg/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.8/src/ossl10x.rs:720
#6  0x76f93ab8 in SSL_get_ex_data_X509_STORE_CTX_idx () from /usr/lib/arm-linux-gnueabihf/libssl.so.1.0.0
#7  0x76f91380 in SSL_CTX_new () from /usr/lib/arm-linux-gnueabihf/libssl.so.1.0.0
#8  0x54ab3188 in openssl::ssl::{{impl}}::new (method=...) at /home/pg/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.8/src/ssl/mod.rs:598
#9  0x54ab2ac8 in openssl::ssl::connector::ctx (method=...) at /home/pg/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.8/src/ssl/connector.rs:23
#10 0x54ab2ddc in openssl::ssl::connector::{{impl}}::new (method=...) at /home/pg/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.8/src/ssl/connector.rs:52
#11 0x54aae980 in hyper_openssl::{{impl}}::new () at /home/pg/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-openssl-0.2.3/src/lib.rs:72
#12 0x54aae87c in ossl::main () at /home/pg/rust/ossl/src/main.rs:7
#13 0x54ac28f0 in std::panicking::try::do_call<fn(),()> () at /checkout/src/libstd/panicking.rs:454
#14 0x54ac75b0 in panic_unwind::__rust_maybe_catch_panic () at /checkout/src/libpanic_unwind/lib.rs:98
#15 0x54ac3178 in try<(),fn()> () at /checkout/src/libstd/panicking.rs:433
#16 catch_unwind<fn(),()> () at /checkout/src/libstd/panic.rs:361
#17 std::rt::lang_start () at /checkout/src/libstd/rt.rs:57
#18 0x54aae8d0 in main ()

OS:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:        8.0
Codename:       jessie

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions