Stalled shutdown #10209

issue jonasschnelli openend this issue on April 14, 2017
  1. jonasschnelli commented at 7:46 am on April 14, 2017: contributor

    Not sure if this is a real issue but just had a stalled shutdown on a node:

    The node is running the master at c7e73eafa139c29a38f73ab697e2e967a386908d from Wed Apr 5 11:29:19 2017.

    As you can see, it took > 7 mins from a requested shutdown to a net thread exit. Debug log:

     02017-04-14 07:34:12 Shutdown: In progress...
     12017-04-14 07:41:47 net thread exit
     22017-04-14 07:41:47 sending version (103 bytes) peer=193
     32017-04-14 07:41:47 msghand thread exit
     42017-04-14 07:41:47 send version message: version 70015, blocks=461809, us=[::]:0, peer=193
     52017-04-14 07:41:47 opencon thread exit
     62017-04-14 07:41:47 Flushed 69008 addresses to peers.dat  109ms
     72017-04-14 07:41:47 disconnecting peer=0
     82017-04-14 07:41:47 disconnecting peer=1
     92017-04-14 07:41:47 disconnecting peer=5
    102017-04-14 07:41:47 disconnecting peer=7
    112017-04-14 07:41:47 disconnecting peer=19
    122017-04-14 07:41:47 disconnecting peer=24
    132017-04-14 07:41:47 disconnecting peer=25
    142017-04-14 07:41:47 disconnecting peer=38
    152017-04-14 07:41:47 disconnecting peer=58
    162017-04-14 07:41:47 disconnecting peer=137
    172017-04-14 07:41:47 disconnecting peer=169
    182017-04-14 07:41:47 disconnecting peer=178
    192017-04-14 07:41:47 disconnecting peer=183
    202017-04-14 07:41:47 disconnecting peer=185
    212017-04-14 07:41:47 disconnecting peer=190
    222017-04-14 07:41:47 disconnecting peer=193
    232017-04-14 07:41:48 Dumped mempool: 0.046245s to copy, 0.174033s to dump
    242017-04-14 07:41:48 Shutdown: done
    

    The backtraces during the stalling are:

      0(gdb) thread apply all bt
      1
      2Thread 5 (Thread 0x7f777ffff700 (LWP 2034)):
      3[#0](/bitcoin-bitcoin/0/)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
      4[#1](/bitcoin-bitcoin/1/)  0x00007f77b76419eb in BGThread (this=0x7f77b8dd94b0) at leveldb/util/env_posix.cc:574
      5[#2](/bitcoin-bitcoin/2/)  leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper (arg=0x7f77b8dd94b0) at leveldb/util/env_posix.cc:521
      6[#3](/bitcoin-bitcoin/3/)  0x00007f77b4a93064 in start_thread (arg=0x7f777ffff700) at pthread_create.c:309
      7[#4](/bitcoin-bitcoin/4/)  0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
      8
      9Thread 4 (Thread 0x7f7767fff700 (LWP 2038)):
     10[#0](/bitcoin-bitcoin/0/)  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
     11[#1](/bitcoin-bitcoin/1/)  0x00007f77b4a95494 in _L_lock_952 () from /lib/x86_64-linux-gnu/libpthread.so.0
     12[#2](/bitcoin-bitcoin/2/)  0x00007f77b4a952f6 in __GI___pthread_mutex_lock (mutex=0x7f775c1d12e8) at ../nptl/pthread_mutex_lock.c:114
     13[#3](/bitcoin-bitcoin/3/)  0x00007f77b730fd2d in lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:110
     14[#4](/bitcoin-bitcoin/4/)  lock (this=<optimized out>) at sync.h:60
     15[#5](/bitcoin-bitcoin/5/)  lock (this=0x7f7767feeb50) at /usr/include/boost/thread/lock_types.hpp:346
     16[#6](/bitcoin-bitcoin/6/)  Enter (pszName=<optimized out>, pszFile=<optimized out>, nLine=<optimized out>, this=0x7f7767feeb50) at sync.h:124
     17[#7](/bitcoin-bitcoin/7/)  CMutexLock<CCriticalSection>::CMutexLock (this=0x7f7767feeb50, mutexIn=..., pszName=<optimized out>, pszFile=<optimized out>, nLine=<optimized out>, fTry=<optimized out>) at sync.h:145
     18[#8](/bitcoin-bitcoin/8/)  0x00007f77b733bcfa in CConnman::ThreadSocketHandler (this=0x7f77b8ddc010) at net.cpp:1293
     19[#9](/bitcoin-bitcoin/9/)  0x00007f77b730c68d in operator() (this=0x7f7767ffeeb0) at /usr/include/c++/4.9/functional:2439
     20[#10](/bitcoin-bitcoin/10/) TraceThread<std::function<void ()> >(char const*, std::function<void ()>) (name=0x7f77b76c9cfc "net", func=...) at util.h:266
     21[#11](/bitcoin-bitcoin/11/) 0x00007f77b733f95b in _M_invoke<0ul, 1ul> (this=<optimized out>) at /usr/include/c++/4.9/functional:1700
     22[#12](/bitcoin-bitcoin/12/) operator() (this=<optimized out>) at /usr/include/c++/4.9/functional:1688
     23[#13](/bitcoin-bitcoin/13/) std::thread::_Impl<std::_Bind_simple<void (*(char const*, std::function<void ()>))(char const*, std::function<void ()>)> >::_M_run() (this=<optimized out>) at /usr/include/c++/4.9/thread:115
     24[#14](/bitcoin-bitcoin/14/) 0x00007f77b5275970 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
     25[#15](/bitcoin-bitcoin/15/) 0x00007f77b4a93064 in start_thread (arg=0x7f7767fff700) at pthread_create.c:309
     26[#16](/bitcoin-bitcoin/16/) 0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
     27
     28Thread 3 (Thread 0x7f77667fc700 (LWP 2041)):
     29[#0](/bitcoin-bitcoin/0/)  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
     30[#1](/bitcoin-bitcoin/1/)  0x00007f77b4a95494 in _L_lock_952 () from /lib/x86_64-linux-gnu/libpthread.so.0
     31[#2](/bitcoin-bitcoin/2/)  0x00007f77b4a952f6 in __GI___pthread_mutex_lock (mutex=0x7f77b7a73880 <cs_main>) at ../nptl/pthread_mutex_lock.c:114
     32[#3](/bitcoin-bitcoin/3/)  0x00007f77b730fd2d in lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:110
     33[#4](/bitcoin-bitcoin/4/)  lock (this=<optimized out>) at sync.h:60
     34---Type <return> to continue, or q <return> to quit---
     35[#5](/bitcoin-bitcoin/5/)  lock (this=0x7f77667fb690) at /usr/include/boost/thread/lock_types.hpp:346
     36[#6](/bitcoin-bitcoin/6/)  Enter (pszName=<optimized out>, pszFile=<optimized out>, nLine=<optimized out>, this=0x7f77667fb690) at sync.h:124
     37[#7](/bitcoin-bitcoin/7/)  CMutexLock<CCriticalSection>::CMutexLock (this=0x7f77667fb690, mutexIn=..., pszName=<optimized out>, pszFile=<optimized out>, nLine=<optimized out>, fTry=<optimized out>) at sync.h:145
     38[#8](/bitcoin-bitcoin/8/)  0x00007f77b735e512 in (anonymous namespace)::InitializeNode (pnode=0x7f774c2ba150, connman=...) at net_processing.cpp:271
     39[#9](/bitcoin-bitcoin/9/)  0x00007f77b7353e36 in operator() (a1=..., a0=<optimized out>, this=<optimized out>) at /usr/include/boost/function/function_template.hpp:767
     40[#10](/bitcoin-bitcoin/10/) m_invoke<boost::function<void(CNode*, CConnman&)>, 0u, 1u, CNode*&, CConnman&> (args=..., func=..., this=<optimized out>) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:92
     41[#11](/bitcoin-bitcoin/11/) operator()<boost::function<void(CNode*, CConnman&)>, CNode*&, CConnman&, 2ul> (args=..., func=..., this=<optimized out>) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:81
     42[#12](/bitcoin-bitcoin/12/) m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > > (connectionBody=..., this=<optimized out>) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:117
     43[#13](/bitcoin-bitcoin/13/) operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > > (connectionBody=..., this=<optimized out>) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:110
     44[#14](/bitcoin-bitcoin/14/) dereference (this=0x7f77667fb7d0) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82
     45[#15](/bitcoin-bitcoin/15/) dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, CNode*, CConnman&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > > (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:514
     46[#16](/bitcoin-bitcoin/16/) operator* (this=0x7f77667fb7d0) at /usr/include/boost/iterator/iterator_facade.hpp:639
     47[#17](/bitcoin-bitcoin/17/) operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, CNode*, CConnman&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > > (last=..., first=..., this=<optimized out>) at /usr/include/boost/signals2/optional_last_value.hpp:55
     48[#18](/bitcoin-bitcoin/18/) operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, CNode*, CConnman&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void(CNode*, CConnman&), boost::function<void(CNode*, CConnman&)> >, boost::signals2::mutex> > > (last=..., first=..., combiner=..., this=<optimized out>) at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
     49[#19](/bitcoin-bitcoin/19/) boost::signals2::detail::signal_impl<void (CNode*, CConnman&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (CNode*, CConnman&)>, boost::function<void (boost::signals2::connection const&, CNode*, CConnman&)>, boost::signals2::mutex>::operator()(CNode*, CConnman&) (this=<optimized out>, args#0=0x7f774c2ba150, args#1=...) at /usr/include/boost/signals2/detail/signal_template.hpp:246
     50[#20](/bitcoin-bitcoin/20/) 0x00007f77b7334d2d in operator() (args#1=..., args#0=<optimized out>, this=0x7f77b7a718f0 <g_signals+48>) at /usr/include/boost/signals2/detail/signal_template.hpp:695
     51[#21](/bitcoin-bitcoin/21/) CConnman::OpenNetworkConnection (this=this@entry=0x7f77b8ddc010, addrConnect=..., fCountFailure=<optimized out>, grantOutbound=grantOutbound@entry=0x7f77667fbbb0, pszDest=pszDest@entry=0x0, 
     52    fOneShot=fOneShot@entry=false, fFeeler=false, fAddnode=false) at net.cpp:1940
     53[#22](/bitcoin-bitcoin/22/) 0x00007f77b7335b1b in CConnman::ThreadOpenConnections (this=<optimized out>) at net.cpp:1814
     54[#23](/bitcoin-bitcoin/23/) 0x00007f77b730c68d in operator() (this=0x7f77667fbeb0) at /usr/include/c++/4.9/functional:2439
     55[#24](/bitcoin-bitcoin/24/) TraceThread<std::function<void ()> >(char const*, std::function<void ()>) (name=0x7f77b768222c "opencon", func=...) at util.h:266
     56---Type <return> to continue, or q <return> to quit---
     57[#25](/bitcoin-bitcoin/25/) 0x00007f77b733f95b in _M_invoke<0ul, 1ul> (this=<optimized out>) at /usr/include/c++/4.9/functional:1700
     58[#26](/bitcoin-bitcoin/26/) operator() (this=<optimized out>) at /usr/include/c++/4.9/functional:1688
     59[#27](/bitcoin-bitcoin/27/) std::thread::_Impl<std::_Bind_simple<void (*(char const*, std::function<void ()>))(char const*, std::function<void ()>)> >::_M_run() (this=<optimized out>) at /usr/include/c++/4.9/thread:115
     60[#28](/bitcoin-bitcoin/28/) 0x00007f77b5275970 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
     61[#29](/bitcoin-bitcoin/29/) 0x00007f77b4a93064 in start_thread (arg=0x7f77667fc700) at pthread_create.c:309
     62[#30](/bitcoin-bitcoin/30/) 0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
     63
     64Thread 2 (Thread 0x7f7765ffb700 (LWP 2042)):
     65[#0](/bitcoin-bitcoin/0/)  0x00007f77b4a99f0b in __libc_send (fd=43, buf=0x7f77508b89b0, n=998120, flags=-1) at ../sysdeps/unix/sysv/linux/x86_64/send.c:31
     66[#1](/bitcoin-bitcoin/1/)  0x00007f77b732d728 in CConnman::SocketSendData (this=this@entry=0x7f77b8ddc010, pnode=pnode@entry=0x7f775c1d1240) at net.cpp:844
     67[#2](/bitcoin-bitcoin/2/)  0x00007f77b7331b64 in CConnman::PushMessage(CNode*, CSerializedNetMsg&&) (this=this@entry=0x7f77b8ddc010, pnode=pnode@entry=0x7f775c1d1240, 
     68    msg=msg@entry=<unknown type in /home/jonasschnelli/bitcoin/bitcoin/src/bitcoind, CU 0x31d41a, DIE 0x4c1e2c>) at net.cpp:2770
     69[#3](/bitcoin-bitcoin/3/)  0x00007f77b7367b54 in ProcessGetData (pfrom=0x7f775c1d1240, pfrom@entry=0x7f7765ff9470, consensusParams=..., connman=..., interruptMsgProc=...) at net_processing.cpp:1045
     70[#4](/bitcoin-bitcoin/4/)  0x00007f77b736cef6 in ProcessMessage (pfrom=0x7f7765ff9470, pfrom@entry=0x7f775c1d1240, strCommand="", vRecv=..., nTimeReceived=<optimized out>, chainparams=..., connman=..., interruptMsgProc=...)
     71    at net_processing.cpp:1600
     72[#5](/bitcoin-bitcoin/5/)  0x00007f77b737fe29 in ProcessMessages (pfrom=0x7f775c1d1240, connman=..., interruptMsgProc=...) at net_processing.cpp:2717
     73[#6](/bitcoin-bitcoin/6/)  0x00007f77b7354c54 in operator() (a2=..., a1=..., a0=<optimized out>, this=<optimized out>) at /usr/include/boost/function/function_template.hpp:767
     74[#7](/bitcoin-bitcoin/7/)  m_invoke<bool, boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)>, 0u, 1u, 2u, CNode*&, CConnman&, std::atomic<bool>&> (args=..., func=..., this=<optimized out>)
     75    at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:87
     76[#8](/bitcoin-bitcoin/8/)  operator()<boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)>, CNode*&, CConnman&, std::atomic<bool>&, 3ul> (args=..., func=..., this=<optimized out>)
     77    at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:81
     78[#9](/bitcoin-bitcoin/9/)  m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)> >, boost::signals2::mutex> > > (connectionBody=..., this=<optimized out>) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:123
     79[#10](/bitcoin-bitcoin/10/) operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)> >, boost::signals2::mutex> > > (connectionBody=..., this=<optimized out>) at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:110
     80[#11](/bitcoin-bitcoin/11/) dereference (this=0x7f7765ffab20) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82
     81[#12](/bitcoin-bitcoin/12/) dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, CNode*, CConnman&, std::atomic<bool>&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)> >, boost::signals2::mutex> > > (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:514
     82[#13](/bitcoin-bitcoin/13/) operator* (this=0x7f7765ffab20) at /usr/include/boost/iterator/iterator_facade.hpp:639
     83[#14](/bitcoin-bitcoin/14/) operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, CNode*, CConnman&, std::atomic<bool>&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&---Type <return> to continue, or q <return> to quit---
     84)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)> >, boost::signals2::mutex> > > (last=..., first=..., this=<optimized out>) at net.h:419
     85[#15](/bitcoin-bitcoin/15/) operator()<CombinerAll, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<bool, CNode*, CConnman&, std::atomic<bool>&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<bool(CNode*, CConnman&, std::atomic<bool>&), boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)> >, boost::signals2::mutex> > > (last=..., first=..., combiner=..., this=<optimized out>)
     86    at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:53
     87[#16](/bitcoin-bitcoin/16/) boost::signals2::detail::signal_impl<bool (CNode*, CConnman&, std::atomic<bool>&), CombinerAll, int, std::less<int>, boost::function<bool (CNode*, CConnman&, std::atomic<bool>&)>, boost::function<bool (boost::signals2::connection const&, CNode*, CConnman&, std::atomic<bool>&)>, boost::signals2::mutex>::operator()(CNode*, CConnman&, std::atomic<bool>&) (this=<optimized out>, args#0=args#0@entry=0x7f775c1d1240, args#1=..., 
     88    args#2=...) at /usr/include/boost/signals2/detail/signal_template.hpp:246
     89[#17](/bitcoin-bitcoin/17/) 0x00007f77b7336cd8 in operator() (args#2=..., args#1=..., args#0=0x7f775c1d1240, this=0x7f77b7a718c0 <g_signals>) at /usr/include/boost/signals2/detail/signal_template.hpp:695
     90[#18](/bitcoin-bitcoin/18/) CConnman::ThreadMessageHandler (this=0x7f77b8ddc010) at net.cpp:1970
     91[#19](/bitcoin-bitcoin/19/) 0x00007f77b730c68d in operator() (this=0x7f7765ffaeb0) at /usr/include/c++/4.9/functional:2439
     92[#20](/bitcoin-bitcoin/20/) TraceThread<std::function<void ()> >(char const*, std::function<void ()>) (name=0x7f77b7682234 "msghand", func=...) at util.h:266
     93[#21](/bitcoin-bitcoin/21/) 0x00007f77b733f95b in _M_invoke<0ul, 1ul> (this=<optimized out>) at /usr/include/c++/4.9/functional:1700
     94[#22](/bitcoin-bitcoin/22/) operator() (this=<optimized out>) at /usr/include/c++/4.9/functional:1688
     95[#23](/bitcoin-bitcoin/23/) std::thread::_Impl<std::_Bind_simple<void (*(char const*, std::function<void ()>))(char const*, std::function<void ()>)> >::_M_run() (this=<optimized out>) at /usr/include/c++/4.9/thread:115
     96[#24](/bitcoin-bitcoin/24/) 0x00007f77b5275970 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
     97[#25](/bitcoin-bitcoin/25/) 0x00007f77b4a93064 in start_thread (arg=0x7f7765ffb700) at pthread_create.c:309
     98[#26](/bitcoin-bitcoin/26/) 0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
     99
    100Thread 1 (Thread 0x7f77b7a41740 (LWP 2018)):
    101[#0](/bitcoin-bitcoin/0/)  0x00007f77b4a9449b in pthread_join (threadid=140150789093120, thread_return=0x0) at pthread_join.c:92
    102[#1](/bitcoin-bitcoin/1/)  0x00007f77b5275837 in std::thread::join() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    103[#2](/bitcoin-bitcoin/2/)  0x00007f77b733dc4f in CConnman::Stop (this=this@entry=0x7f77b8ddc010) at net.cpp:2342
    104[#3](/bitcoin-bitcoin/3/)  0x00007f77b733e2ac in CConnman::~CConnman (this=0x7f77b8ddc010, __in_chrg=<optimized out>) at net.cpp:2395
    105[#4](/bitcoin-bitcoin/4/)  0x00007f77b72e8ec1 in operator() (this=<optimized out>, __ptr=0x7f77b8ddc010) at /usr/include/c++/4.9/bits/unique_ptr.h:76
    106[#5](/bitcoin-bitcoin/5/)  reset (__p=0x7f77b8ddc010, this=0x7f77b7a715d0 <g_connman>) at /usr/include/c++/4.9/bits/unique_ptr.h:344
    107[#6](/bitcoin-bitcoin/6/)  Shutdown () at init.cpp:206
    108[#7](/bitcoin-bitcoin/7/)  0x00007f77b72d8073 in AppInit (argc=<optimized out>, argv=<optimized out>) at bitcoind.cpp:184
    109[#8](/bitcoin-bitcoin/8/)  0x00007f77b72cac1f in main (argc=3, argv=0x7ffdf20c7978) at bitcoind.cpp:196
    
  2. jonasschnelli added the label P2P on Apr 14, 2017
  3. MarcoFalke commented at 8:25 pm on April 17, 2017: member
    This is probably caused by the same as #10210 (comment).
  4. MarcoFalke closed this on Apr 17, 2017

  5. jonasschnelli commented at 8:10 am on April 18, 2017: contributor
    Yes. A blocking at getaddrinfo is very likely the root cause. Thanks.
  6. theuni commented at 11:15 pm on April 18, 2017: member

    This is another case like #10140. You can see that it’s stuck in the “send()”, and definitely shouldn’t be.

    Seeing this again was enough to make me finally fix the long-standing bitcoin-config.h issue, which is (assuming this is the same issue) the root of this problem.

    PR coming up.

  7. jonasschnelli commented at 9:00 am on April 19, 2017: contributor
    Thanks @theuni! Reopening.
  8. jonasschnelli reopened this on Apr 19, 2017

  9. theuni commented at 3:31 pm on April 19, 2017: member

    @jonasschnelli just ./autoregen.sh and reconfigure/make, and you should be good to go. I suspect that this issue may be causing you several problems, not just this one.

    The PR above should fix this so that we don’t end up in this situation again.

  10. MarcoFalke commented at 8:51 pm on December 15, 2017: member
    @jonasschnelli Is this still an issue?
  11. jonasschnelli commented at 9:27 pm on December 15, 2017: contributor
    Was probably a local issue. Closing.
  12. jonasschnelli closed this on Dec 15, 2017

  13. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-22 00:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me