jami-daemon crashes while performing tls handshake
Continuation from issue #573 (moved)
I compiled a lot of different versions of jami-daemon and found the first commit that introduced the tls issues. On this first broken commit the daemon didn't crash but couldn't perform a successful handshake.
Log from commit 2053afe9 but the regression likely stems from 6d4630bf:
[1636931798.072| 182|tls_session.cpp :1059 ] [TLS] Start client session
[1636931798.080| 182|tls_session.cpp :530 ] [TLS] User identity loaded
[1636931798.080| 182|tls_session.cpp :1155 ] [TLS] handshake
...
[1636931827.631| 85|connectionmanager.cpp:334 ] no response from DHT to E2E request.
...
[1636931838.080| 182|tls_session.cpp :1163 ] [TLS] handshake failed: Die Zeit für den Vorgang wurde überschritten (time out)
[1636931838.081| 182|connectionmanager.cpp:710 ] TLS connection failure for peer 9cba26f5eb24ad71f8842c62ea5c5f2f577ef005326722789a69fc9f77168e3f - Initied by DHT request. Vid: 2958016247017314
Commit 2a676123 is first to crash jami-daemon with this error:
[1636933396.203| 146|tls_session.cpp :1059 ] [TLS] Start client session
[1636933396.211| 146|tls_session.cpp :530 ] [TLS] User identity loaded
[1636933396.212| 146|tls_session.cpp :1155 ] [TLS] handshake
/usr/include/c++/10.2.0/bits/stl_vector.h:1063: std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = jami::IpAddr; _Alloc = std::allocator<jami::IpAddr>; std::vector<_Tp, _Alloc>::const_reference = const jami::IpAddr&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
To sum it up: