connectionmanager: catch exception if initIceInstance throws

backport from 6c7042e1338fa62c7f45018e489e7d3781ede79a in jami-daemon

Change-Id: I0dd69d7908137e3715d6a9158b5a0c4975b7748a
diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp
index 96bd6ba..e4453f0 100644
--- a/src/connectionmanager.cpp
+++ b/src/connectionmanager.cpp
@@ -756,7 +756,13 @@
             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) {
+                if (sthis->config_->logger)
+                    sthis->config_->logger->error("{}", e.what());
+                dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
+            }
         });
     });
 }
@@ -1152,7 +1158,13 @@
         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) {
+            if (shared->config_->logger)
+                shared->config_->logger->error("{}", e.what());
+            dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); });
+        }
     });
 }