WebRTC 0.10 works fine -- but when I've upgraded to 0.11, there's a crash due to the changed with the rusttls backend.
We worked around this by installing our own crypto backend; but I didn't see anything in the Examples about this, so I figured I'd open an issue that can be closed as "works as intended" if this is part of the new API
WebRTC 0.10 works fine -- but when I've upgraded to 0.11, there's a crash due to the changed with the rusttls backend.
We worked around this by installing our own crypto backend; but I didn't see anything in the Examples about this, so I figured I'd open an issue that can be closed as "works as intended" if this is part of the new API
(for those at home, something like)
Backtrace
Specifically, from a spawned task, the WebRTC negotiation code crashes with `no process-level CryptoProvider available -- call CryptoProvider::install_default() before this point`. This happens right after the rtc ice connection state changed to connected, so perhaps part of the changed DTLS codepath. ``` thread 'tokio-runtime-worker' panicked at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.23.5/src/crypto/mod.rs:260:14: no process-level CryptoProvider available -- call CryptoProvider::install_default() before this point stack backtrace: 0: 0x559b6886321c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5 1: 0x559b6886321c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x559b6886321c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486 at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5 3: 0x559b6886321c -::run::h5a10536433a50655 at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/mod.rs:416:9 46: 0x559b684b0831 - tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::h9a62e58e2924d3c0 at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:639:17 47: 0x559b684b0046 - tokio::runtime::coop::with_budget::h6479bf04f8351340 at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/coop.rs:107:5 48: 0x559b684b0046 - tokio::runtime::coop::budget::h3b62822ac84243c6 at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/coop.rs:73:5 49: 0x559b684b0046 - tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h084d61f18404e43a at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:575:9 50: 0x559b684af6fb - tokio::runtime::scheduler::multi_thread::worker::Context::run::he9ba376a7167fa78 at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:526:24 51: 0x559b684af354 - tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}::h98fcd03aed98926a at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:491:21 52: 0x559b684a6f3f - tokio::runtime::context::scoped::Scoped::set::h37f57db6280827bc
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context/scoped.rs:40:9
53: 0x559b684903a1 - tokio::runtime::context::set_scheduler::{{closure}}::hf9b3be1f75f8f83c
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context.rs:176:26
54: 0x559b684634e2 - std::thread::local::LocalKey::try_with::he5bf6cd8484478d2
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/local.rs:270:16
55: 0x559b68460e07 - std::thread::local::LocalKey::with::haf7763c2029de62f
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/local.rs:246:9
56: 0x559b684902d2 - tokio::runtime::context::set_scheduler::he203274491c2c83f
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context.rs:176:9
57: 0x559b684af255 - tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::h8b6e9af4666b9a10
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:486:9
58: 0x559b684cf080 - tokio::runtime::context::runtime::enter_runtime::hc838255d5072cd8a
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context/runtime.rs:65:16
59: 0x559b684aefde - tokio::runtime::scheduler::multi_thread::worker::run::h8d5fc2b6ca6e1f75
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:478:5
60: 0x559b684aee57 - tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::hfa1cad26eb8b9340
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:447:45
61: 0x559b684347f4 - as core::future::future::Future>::poll::hec86c7ab4c847c95
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/task.rs:42:21
62: 0x559b68482e1e - as core::future::future::Future>::poll::hd8a953380224e86c
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.40/src/instrument.rs:321:9
63: 0x559b684058bd - tokio::runtime::task::core::Core::poll::{{closure}}::h67c28d747b8b5549
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/core.rs:328:17
64: 0x559b68405270 - tokio::loom::std::unsafe_cell::UnsafeCell::with_mut::h9a3ad0c75ae64ff0
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/loom/std/unsafe_cell.rs:16:9
65: 0x559b68405270 - tokio::runtime::task::core::Core::poll::h06794d58673b5867
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/core.rs:317:13
66: 0x559b6849b525 - tokio::runtime::task::harness::poll_future::{{closure}}::hecd8308869b35241
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:485:19
67: 0x559b6840cf87 - as core::ops::function::FnOnce<()>>::call_once::h0444eb6f668e2cf1
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
68: 0x559b68428489 - std::panicking::try::do_call::hca879bee14cb3910
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
69: 0x559b6842bd3b - __rust_try
70: 0x559b684279e3 - std::panicking::try::hc69523b19a618a14
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
71: 0x559b6840d5ae - std::panic::catch_unwind::h69e6145f15166f95
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
72: 0x559b6849a7af - tokio::runtime::task::harness::poll_future::h93479695b81e1ce1
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:473:18
73: 0x559b68497bcf - tokio::runtime::task::harness::Harness::poll_inner::h7913972f8fa4599d
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:208:27
74: 0x559b68497507 - tokio::runtime::task::harness::Harness::poll::h00e20c1aaf9c299e
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:153:15
75: 0x559b68408d80 - tokio::runtime::task::raw::poll::h30d755e4feed8148
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/raw.rs:271:5
76: 0x559b68408b0b - tokio::runtime::task::raw::RawTask::poll::h73d32d4446e2dd0b
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/raw.rs:201:18
77: 0x559b68464c0d - tokio::runtime::task::UnownedTask ::run::h044b5ead131277dd at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/mod.rs:453:9 78: 0x559b6841ae76 - tokio::runtime::blocking::pool::Task::run::h465b496d15405c2f at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/pool.rs:159:9 79: 0x559b68425f39 - tokio::runtime::blocking::pool::Inner::run::h47ce20f8130827bc at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/pool.rs:513:17 80: 0x559b68425c84 - tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::h765dc8020a524c7b at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/pool.rs:471:13 81: 0x559b68460846 - std::sys_common::backtrace::__rust_begin_short_backtrace::hddb6728b02fce294 at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18 82: 0x559b68473db2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h13dc6f8d0e947891 at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17 83: 0x559b6840d242 - as core::ops::function::FnOnce<()>>::call_once::hbd185861996ee79b
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
84: 0x559b68428112 - std::panicking::try::do_call::h3a325329bed5556e
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
85: 0x559b6842bd3b - __rust_try
86: 0x559b68427377 - std::panicking::try::h67ce95c5bae10321
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
87: 0x559b68473bfa - std::panic::catch_unwind::h6c93e7b02c693c4d
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
88: 0x559b68473bfa - std::thread::Builder::spawn_unchecked_::{{closure}}::h115e5d3fe781aab1
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
89: 0x559b68473ff7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h92681a280ee32d1f
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
90: 0x559b68868a75 - as core::ops::function::FnOnce>::call_once::hc7eafaff61e32df9
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
91: 0x559b68868a75 - as core::ops::function::FnOnce>::call_once::h6ba4a5de48dd2304
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
92: 0x559b68868a75 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
2024-05-09T19:10:07.128733Z INFO webrtc_mdns::conn: Received query result
at /home/paultag/.cargo/registry/src/index.crates.io-6f17d22bba15001f/webrtc-mdns-0.7.0/src/conn/mod.rs:202
93: 0x7fedcd19a45c - start_thread
at ./nptl/pthread_create.c:444:8
94: 0x7fedcd21abbc - __GI___clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
95: 0x0 -
```