Crash OpenDHT
Issue generated from Tuleap's migration script. Originally submitted by: Alexandre Lision (alision)
I got a systematic crash after starting Ring (crash happens in first minute of utilisation)
OpenDHT bump: 48db72957fc05281be938b7abf700a976811c19a
Stacktrace:
thread \#1: tid = 0x1287cf, 0x000000010296b068 libopendht.0.dylib`void std::\_\_1::vector<dht::Dht::Storage, std::\_\_1::allocator<dht::Dht::Storage> >::\_\_push\_back\_slow\_path<dht::Dht::Storage>(dht::Dht::Storage&&) + 648, queue = 'com.apple.main-thread', stop reason = EXC\_BAD\_ACCESS (code=EXC\_I386\_GPFLT)
frame \#0: 0x000000010296b068 libopendht.0.dylib`void std::\_\_1::vector<dht::Dht::Storage, std::\_\_1::allocator<dht::Dht::Storage> >::\_\_push\_back\_slow\_path<dht::Dht::Storage>(dht::Dht::Storage&&) + 648
frame \#1: 0x0000000102947932 libopendht.0.dylib`dht::Dht::storageAddListener(dht::InfoHash const&, dht::InfoHash const&, sockaddr const\*, unsigned int, unsigned short) + 498
frame \#2: 0x000000010294f230 libopendht.0.dylib`dht::Dht::processMessage(unsigned char const\*, unsigned long, sockaddr const\*, unsigned int) + 4256
frame \#3: 0x0000000102956641 libopendht.0.dylib`dht::Dht::periodic(unsigned char const\*, unsigned long, sockaddr const\*, unsigned int) + 81
frame \#4: 0x0000000102984ed4 libopendht.0.dylib`dht::DhtRunner::loop\_() + 1812
frame \#5: 0x0000000101a465cc libring.0.dylib`std::\_\_1::\_\_function::\_\_func<ring::RingAccount::doRegister\_()::$\_8, std::\_\_1::allocator<ring::RingAccount::doRegister\_()::$\_8>, void ()>::operator()() [inlined] dht::DhtRunner::loop(this=<unavailable>) + 23 at dhtrunner.h:390
frame \#6: 0x0000000101a465b5 libring.0.dylib`std::\_\_1::\_\_function::\_\_func<ring::RingAccount::doRegister\_()::$\_8, std::\_\_1::allocator<ring::RingAccount::doRegister\_()::$\_8>, void ()>::operator()() [inlined] ring::RingAccount::handleEvents(this=0x0000000105026c20) + 7 at ringaccount.cpp:563
frame \#7: 0x0000000101a465ae libring.0.dylib`std::\_\_1::\_\_function::\_\_func<ring::RingAccount::doRegister\_()::$\_8, std::\_\_1::allocator<ring::RingAccount::doRegister\_()::$\_8>, void ()>::operator()() [inlined] ring::RingAccount::doRegister\_()::$\_8::operator()() const at ringaccount.cpp:835
frame \#8: 0x0000000101a465ae libring.0.dylib`std::\_\_1::\_\_function::\_\_func<ring::RingAccount::doRegister\_()::$\_8, std::\_\_1::allocator<ring::RingAccount::doRegister\_()::$\_8>, void ()>::operator()() [inlined] decltype(std::\_\_1::forward<ring::RingAccount::doRegister\_()::$\_8&>(fp)(std::\_\_1::forward<>(fp0))) std::\_\_1::\_\_invoke<ring::RingAccount::doRegister\_()::$\_8&>(ring::RingAccount::doRegister\_()::$\_8&&&) + 10 at \_\_functional\_base:416
\* frame \#9: 0x0000000101a465a4 libring.0.dylib`std::\_\_1::\_\_function::\_\_func<ring::RingAccount::doRegister\_()::$\_8, std::\_\_1::allocator<ring::RingAccount::doRegister\_()::$\_8>, void ()>::operator()() [inlined] void std::\_\_1::\_\_invoke\_void\_return\_wrapper<void>::\_\_call<ring::RingAccount::doRegister\_()::$\_8&>(ring::RingAccount::doRegister\_()::$\_8&&&) at \_\_functional\_base:468
frame \#10: 0x0000000101a465a4 libring.0.dylib`std::\_\_1::\_\_function::\_\_func<ring::RingAccount::doRegister\_()::$\_8, std::\_\_1::allocator<ring::RingAccount::doRegister\_()::$\_8>, void ()>::operator(this=<unavailable>)() + 4 at functional:1437
frame \#11: 0x000000010199a3c9 libring.0.dylib`ring::Manager::pollEvents() [inlined] std::\_\_1::function<void ()>::operator()() const + 265 at functional:1817
frame \#12: 0x000000010199a3ba libring.0.dylib`ring::Manager::pollEvents(this=0x0000000102115de0) + 250 at manager.cpp:1411
frame \#13: 0x00000001019bfdc1 libring.0.dylib`DRing::pollEvents() + 17 at ring\_api.cpp:85