Crash at established in TlsSession
Issue generated from Tuleap's migration script. Originally submitted by: Adrien Béraud (adrienberaud)
\u001b[0m\u001b[22;36m[1517953770.114|0x101b2d340|sipvoiplink.cpp :821 ] \u001b[0m[call:14940113462186450316] INVITE@0x10940af88 state changed to 1 (CALLING): cause=0, tsx@0x104ce80a8 status 0 (Default status message)
\u001b[0m\u001b[22;36m[1517953770.114|0x101b2d340|call.cpp :197 ] \u001b[0m[call:14940113462186450316] state change 0/1, cnx 2/2, code 0
\u001b[0m\u001b[22;36m[1517953770.114|0x101b2d340|call.cpp :197 ] \u001b[0m[call:16878204399264821708] state change 0/1, cnx 2/2, code 0
\u001b[0m\u001b[22;36m[1517953770.307|0x101b2d340|sipvoiplink.cpp :821 ] \u001b[0m[call:14940113462186450316] INVITE@0x10940af88 state changed to 3 (EARLY): cause=0, tsx@0x104ce80a8 status 180 (Ringing)
\u001b[0m\u001b[22;36m[1517953770.307|0x101b2d340|call.cpp :197 ] \u001b[0m[call:14940113462186450316] state change 1/1, cnx 2/3, code 0
\u001b[0m\u001b[22;36m[1517953770.313|0x101b2d340|manager.cpp :2021 ] \u001b[0m[call:14940113462186450316] Peer ringing
\u001b[0m\u001b[22;36m[1517953770.313|0x101b2d340|call.cpp :197 ] \u001b[0m[call:16878204399264821708] state change 1/1, cnx 2/3, code 0
\u001b[0m\u001b[22;36m[1517953770.313|0x101b2d340|manager.cpp :2021 ] \u001b[0m[call:16878204399264821708] Peer ringing
\u001b[0m\u001b[22;36m[1517953770.313|0x101b2d340|corelayer.cpp :228 ] \u001b[0mSTART STREAM
\u001b[0m\u001b[22;36m[1517953770.313|0x101b2d340|corelayer.cpp :90 ] \u001b[0mINIT AUDIO IO
\u001b[0mlibring.0.dylib was compiled with optimization - stepping may behave oddly; variables may not be available.
(lldb) bt
* thread #72, stop reason = EXC_BAD_ACCESS (code=1, address=0x3)
frame #0: 0x0000000101c3f5f0 libring.0.dylibring::tls::TlsSession::TlsSessionImpl::recvRaw(void\*, unsigned long) [inlined] unsigned char\* std::\_\_1::\_\_copy<std::\_\_1::\_\_wrap\_iter<unsigned char const\*>, unsigned char\*>(\_\_result=<unavailable>) at algorithm:1706 [opt] frame \#1: 0x0000000101c3f5e9 libring.0.dylib
ring::tls::TlsSession::TlsSessionImpl::recvRaw(void*, unsigned long) [inlined] unsigned char* std::__1::copy__1::__wrap_iter, unsigned char*>(__first=, __last=) at algorithm:1731 [opt]
frame #2: 0x0000000101c3f5e9 libring.0.dylibring::tls::TlsSession::TlsSessionImpl::recvRaw(void\*, unsigned long) [inlined] std::\_\_1::enable\_if<\_\_is\_random\_access\_iterator<std::\_\_1::\_\_wrap\_iter<unsigned char const\*> >::value, unsigned char\*>::type std::\_\_1::copy\_n<std::\_\_1::\_\_wrap\_iter<unsigned char const\*>, unsigned long, unsigned char\*>(\_\_orig\_n=<unavailable>) at algorithm:1834 [opt] frame \#3: 0x0000000101c3f5e9 libring.0.dylib
ring::tls::TlsSession::TlsSessionImpl::recvRaw(this=0x0000000104803c00, buf=0x0000000104ea105b, size=16732) at tls_session.cpp:633 [opt]
frame #4: 0x00000001032d42a7 libgnutls.30.dylib\_gnutls\_dgram\_read + 503 frame \#5: 0x00000001032d08f2 libgnutls.30.dylib
_gnutls_read + 66
frame #6: 0x00000001032d04e0 libgnutls.30.dylib\_gnutls\_io\_read\_buffered + 544 frame \#7: 0x00000001032c77b3 libgnutls.30.dylib
recv_headers + 147
frame #8: 0x00000001032c699d libgnutls.30.dylib\_gnutls\_recv\_in\_buffers + 941 frame \#9: 0x00000001032c54b3 libgnutls.30.dylib
_gnutls_recv_int + 291
frame #10: 0x00000001032c98ef libgnutls.30.dylibgnutls\_record\_recv\_seq + 63 \* frame \#11: 0x0000000101c40f7a libring.0.dylib
ring::tls::TlsSession::TlsSessionImpl::handleStateEstablished(this=0x0000000104803c00, state=ESTABLISHED) at tls_session.cpp:1093 [opt]
frame #12: 0x0000000101c4132b libring.0.dylibring::tls::TlsSession::TlsSessionImpl::process() [inlined] std::\_\_1::function<ring::tls::TlsSessionState (ring::tls::TlsSessionState)>::operator(\_\_arg=ESTABLISHED)(ring::tls::TlsSessionState) const at functional:1903 [opt] frame \#13: 0x0000000101c41321 libring.0.dylib
ring::tls::TlsSession::TlsSessionImpl::process(this=0x0000000104803c00) at tls_session.cpp:1150 [opt]
frame #14: 0x0000000101ba90cb libring.0.dylibring::ThreadLoop::mainloop(std::\_\_1::\_\_thread\_id&, std::\_\_1::function<bool ()>, std::\_\_1::function<void ()>, std::\_\_1::function<void ()>) [inlined] std::\_\_1::function<void ()>::operator(this=0x000070000c77de60)() const at functional:1903 [opt] frame \#15: 0x0000000101ba90bc libring.0.dylib
ring::ThreadLoop::mainloop(this=0x0000000104803f20, tid=0x0000000104803fc8, setup=0x000070000c77de90, process=0x000070000c77de60, cleanup=0x000070000c77de30)>, std::__1::function, std::__1::function) at threadloop.cpp:38 [opt]
frame #16: 0x0000000101ba9f90 libring.0.dylibvoid\* std::\_\_1::\_\_thread\_proxy<std::\_\_1::tuple<std::\_\_1::unique\_ptr<std::\_\_1::\_\_thread\_struct, std::\_\_1::default\_delete<std::\_\_1::\_\_thread\_struct> >, void (ring::ThreadLoop::\*)(std::\_\_1::\_\_thread\_id&, std::\_\_1::function<bool ()>, std::\_\_1::function<void ()>, std::\_\_1::function<void ()>), ring::ThreadLoop\*, std::\_\_1::reference\_wrapper<std::\_\_1::\_\_thread\_id>, std::\_\_1::function<bool ()>, std::\_\_1::function<void ()>, std::\_\_1::function<void ()> > >(void\*) [inlined] decltype(\_\_args=<unavailable>, \_\_args=0x000060000016cde0, \_\_args=<unavailable>)).\*fp(std::\_\_1::forward<std::\_\_1::reference\_wrapper<std::\_\_1::\_\_thread\_id>, std::\_\_1::function<bool ()>, std::\_\_1::function<void ()>, std::\_\_1::function<void ()> >(fp1))) std::\_\_1::\_\_invoke<void (ring::ThreadLoop::\*)(std::\_\_1::\_\_thread\_id&, std::\_\_1::function<bool ()>, std::\_\_1::function<void ()>, std::\_\_1::function<void ()>), ring::ThreadLoop\*, std::\_\_1::reference\_wrapper<std::\_\_1::\_\_thread\_id>, std::\_\_1::function<bool ()>, std::\_\_1::function<void ()>, std::\_\_1::function<void ()>, void>(void (ring::ThreadLoop::\*&&)(std::\_\_1::\_\_thread\_id&, std::\_\_1::function<bool ()>, std::\_\_1::function<void ()>, std::\_\_1::function<void ()>), ring::ThreadLoop\*&&, std::\_\_1::reference\_wrapper<std::\_\_1::\_\_thread\_id>&&, std::\_\_1::function<bool ()>&&, std::\_\_1::function<void ()>&&, std::\_\_1::function<void ()>&&) at type\_traits:4232 [opt] frame \#17: 0x0000000101ba9f07 libring.0.dylib
void* std::__1::__thread_proxy__1::tuple__1::unique_ptr__1::__thread_struct, std::__1::default_deletestd::\_\_1::\_\_thread\_struct >, void (ring::ThreadLoop::*)(std::__1::__thread_id&, std::__1::function, std::__1::function, std::__1::function), ring::ThreadLoop*, std::__1::reference_wrapperstd::\_\_1::\_\_thread\_id, std::__1::function, std::__1::function, std::__1::function > >(void*) [inlined] void std::__1::__thread_execute__1::unique_ptr__1::__thread_struct, std::__1::default_deletestd::\_\_1::\_\_thread\_struct >, void (ring::ThreadLoop::*)(std::__1::__thread_id&, std::__1::function, std::__1::function, std::__1::function), ring::ThreadLoop*, std::__1::reference_wrapperstd::\_\_1::\_\_thread\_id, std::__1::function, std::__1::function, std::__1::function, 2ul, 3ul, 4ul, 5ul, 6ul>(std::__1::tuple__1::unique_ptr__1::__thread_struct, std::__1::default_deletestd::\_\_1::\_\_thread\_struct >, void (ring::ThreadLoop::*)(std::__1::__thread_id&, std::__1::function, std::__1::function, std::__1::function), ring::ThreadLoop*, std::__1::reference_wrapperstd::\_\_1::\_\_thread\_id, std::__1::function, std::__1::function, std::__1::function >&, std::__1::__tuple_indices<2ul, 3ul, 4ul, 5ul, 6ul>) at thread:336 [opt]