TunnelHopConfig: SIGSEGV when creating build request record
Created by: anonimal
By submitting this issue, I confirm the following:
- I have read and understood the contributor guide.
- I have checked that the issue I am reporting can be replicated or that the feature I am suggesting is not present.
- I have checked opened or recently closed pull requests for existing solutions/implementations to my issue/suggestion.
Place an X inside the bracket to confirm
-
I confirm.
Current tunnel design =
Edit: built against 00e0dfe6 but observed sporadically for as long as I can remember.
$ gdb build/kovri
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
...
Thread 15 "kovri" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe89c5700 (LWP 20801)]
0x00000000010d56f2 in i2p::tunnel::TunnelHopConfig::CreateBuildRequestRecord (this=0x7fffcc05e850, record=0x7fffcc0f2393 "", replyMsgID=1742868940) at /home/anonimal/kovri/src/core/tunnel/tunnel_config.cc:107
107 router->GetIdentHash(),
(gdb) bt
#0 0x00000000010d56f2 in i2p::tunnel::TunnelHopConfig::CreateBuildRequestRecord (this=0x7fffcc05e850, record=0x7fffcc0f2393 "", replyMsgID=1742868940) at /home/anonimal/kovri/src/core/tunnel/tunnel_config.cc:107
#1 0x00000000010c1bfe in i2p::tunnel::Tunnel::Build (this=0x7fffcc10d900, replyMsgID=1742868940, outboundTunnel=std::shared_ptr (empty) 0x0) at /home/anonimal/kovri/src/core/tunnel/tunnel.cc:89
#2 0x00000000010c81fa in i2p::tunnel::Tunnels::CreateTunnel<i2p::tunnel::InboundTunnel> (this=0x163b900 <i2p::tunnel::tunnels>, config=std::shared_ptr (count 2, weak 1) 0x7fffcc06c1b0, outboundTunnel=std::shared_ptr (empty) 0x0)
at /home/anonimal/kovri/src/core/tunnel/tunnel.cc:698
#3 0x00000000010c4781 in i2p::tunnel::Tunnels::ManageInboundTunnels (this=0x163b900 <i2p::tunnel::tunnels>) at /home/anonimal/kovri/src/core/tunnel/tunnel.cc:648
#4 0x00000000010c3bc8 in i2p::tunnel::Tunnels::ManageTunnels (this=0x163b900 <i2p::tunnel::tunnels>) at /home/anonimal/kovri/src/core/tunnel/tunnel.cc:500
#5 0x00000000010c38e6 in i2p::tunnel::Tunnels::Run (this=0x163b900 <i2p::tunnel::tunnels>) at /home/anonimal/kovri/src/core/tunnel/tunnel.cc:465
#6 0x00000000010d503f in std::_Mem_fn_base<void (i2p::tunnel::Tunnels::*)(), true>::operator()<, void>(i2p::tunnel::Tunnels*) const (this=0x16b6f88, __object=0x163b900 <i2p::tunnel::tunnels>) at /usr/include/c++/5/functional:600
#7 0x00000000010d4f93 in std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x16b6f88,
__args=<unknown type in /home/anonimal/kovri/build/kovri, CU 0xff0721, DIE 0x1087508>) at /usr/include/c++/5/functional:1074
#8 0x00000000010d4ee9 in std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)>::operator()<, void>() (this=0x16b6f88) at /usr/include/c++/5/functional:1133
#9 0x00000000010d4eae in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)> ()>::_M_invoke<>(std::_Index_tuple<>) (this=0x16b6f88) at /usr/include/c++/5/functional:1531
#10 0x00000000010d4d40 in std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)> ()>::operator()() (this=0x16b6f88) at /usr/include/c++/5/functional:1520
#11 0x00000000010d4bd0 in std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (i2p::tunnel::Tunnels::*)()> (i2p::tunnel::Tunnels*)> ()> >::_M_run() (this=0x16b6f70) at /usr/include/c++/5/thread:115
#12 0x00007ffff58b7c80 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#13 0x00007ffff6b0f6fa in start_thread (arg=0x7fffe89c5700) at pthread_create.c:333
#14 0x00007ffff501db5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb)
While we're here, see also CID 141387.