diff --git a/src/connectivity/connectionmanager.cpp b/src/connectivity/connectionmanager.cpp index f0861277e6d37caef015ee10e8799d1dfb6dcf31..461fe892f9b1d5c31c8d29d476ba91acada5df47 100644 --- a/src/connectivity/connectionmanager.cpp +++ b/src/connectivity/connectionmanager.cpp @@ -643,7 +643,12 @@ ConnectionManager::Impl::connectDevice(const std::shared_ptr<dht::crypto::Certif info->ice_->setOnShutdown([eraseInfo]() { dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); }); - info->ice_->initIceInstance(ice_config); + try { + info->ice_->initIceInstance(ice_config); + } catch (const std::exception& e) { + JAMI_ERROR("{}", e.what()); + dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); + } }); }); } @@ -1022,7 +1027,12 @@ ConnectionManager::Impl::onDhtPeerRequest(const PeerConnectionRequest& req, info->ice_->setOnShutdown([eraseInfo]() { dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); }); - info->ice_->initIceInstance(ice_config); + try { + info->ice_->initIceInstance(ice_config); + } catch (const std::exception& e) { + JAMI_ERROR("{}", e.what()); + dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); + } }); }