Stalled shutdown #10209

issue jonasschnelli opened 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:

    2017-04-14 07:34:12 Shutdown: In progress...
    2017-04-14 07:41:47 net thread exit
    2017-04-14 07:41:47 sending version (103 bytes) peer=193
    2017-04-14 07:41:47 msghand thread exit
    2017-04-14 07:41:47 send version message: version 70015, blocks=461809, us=[::]:0, peer=193
    2017-04-14 07:41:47 opencon thread exit
    2017-04-14 07:41:47 Flushed 69008 addresses to peers.dat  109ms
    2017-04-14 07:41:47 disconnecting peer=0
    2017-04-14 07:41:47 disconnecting peer=1
    2017-04-14 07:41:47 disconnecting peer=5
    2017-04-14 07:41:47 disconnecting peer=7
    2017-04-14 07:41:47 disconnecting peer=19
    2017-04-14 07:41:47 disconnecting peer=24
    2017-04-14 07:41:47 disconnecting peer=25
    2017-04-14 07:41:47 disconnecting peer=38
    2017-04-14 07:41:47 disconnecting peer=58
    2017-04-14 07:41:47 disconnecting peer=137
    2017-04-14 07:41:47 disconnecting peer=169
    2017-04-14 07:41:47 disconnecting peer=178
    2017-04-14 07:41:47 disconnecting peer=183
    2017-04-14 07:41:47 disconnecting peer=185
    2017-04-14 07:41:47 disconnecting peer=190
    2017-04-14 07:41:47 disconnecting peer=193
    2017-04-14 07:41:48 Dumped mempool: 0.046245s to copy, 0.174033s to dump
    2017-04-14 07:41:48 Shutdown: done
    

    The backtraces during the stalling are:

    (gdb) thread apply all bt
    
    Thread 5 (Thread 0x7f777ffff700 (LWP 2034)):
    [#0](/bitcoin-bitcoin/0/)  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
    [#1](/bitcoin-bitcoin/1/)  0x00007f77b76419eb in BGThread (this=0x7f77b8dd94b0) at leveldb/util/env_posix.cc:574
    [#2](/bitcoin-bitcoin/2/)  leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper (arg=0x7f77b8dd94b0) at leveldb/util/env_posix.cc:521
    [#3](/bitcoin-bitcoin/3/)  0x00007f77b4a93064 in start_thread (arg=0x7f777ffff700) at pthread_create.c:309
    [#4](/bitcoin-bitcoin/4/)  0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
    
    Thread 4 (Thread 0x7f7767fff700 (LWP 2038)):
    [#0](/bitcoin-bitcoin/0/)  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
    [#1](/bitcoin-bitcoin/1/)  0x00007f77b4a95494 in _L_lock_952 () from /lib/x86_64-linux-gnu/libpthread.so.0
    [#2](/bitcoin-bitcoin/2/)  0x00007f77b4a952f6 in __GI___pthread_mutex_lock (mutex=0x7f775c1d12e8) at ../nptl/pthread_mutex_lock.c:114
    [#3](/bitcoin-bitcoin/3/)  0x00007f77b730fd2d in lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:110
    [#4](/bitcoin-bitcoin/4/)  lock (this=<optimized out>) at sync.h:60
    [#5](/bitcoin-bitcoin/5/)  lock (this=0x7f7767feeb50) at /usr/include/boost/thread/lock_types.hpp:346
    [#6](/bitcoin-bitcoin/6/)  Enter (pszName=<optimized out>, pszFile=<optimized out>, nLine=<optimized out>, this=0x7f7767feeb50) at sync.h:124
    [#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
    [#8](/bitcoin-bitcoin/8/)  0x00007f77b733bcfa in CConnman::ThreadSocketHandler (this=0x7f77b8ddc010) at net.cpp:1293
    [#9](/bitcoin-bitcoin/9/)  0x00007f77b730c68d in operator() (this=0x7f7767ffeeb0) at /usr/include/c++/4.9/functional:2439
    [#10](/bitcoin-bitcoin/10/) TraceThread<std::function<void ()> >(char const*, std::function<void ()>) (name=0x7f77b76c9cfc "net", func=...) at util.h:266
    [#11](/bitcoin-bitcoin/11/) 0x00007f77b733f95b in _M_invoke<0ul, 1ul> (this=<optimized out>) at /usr/include/c++/4.9/functional:1700
    [#12](/bitcoin-bitcoin/12/) operator() (this=<optimized out>) at /usr/include/c++/4.9/functional:1688
    [#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
    [#14](/bitcoin-bitcoin/14/) 0x00007f77b5275970 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    [#15](/bitcoin-bitcoin/15/) 0x00007f77b4a93064 in start_thread (arg=0x7f7767fff700) at pthread_create.c:309
    [#16](/bitcoin-bitcoin/16/) 0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
    
    Thread 3 (Thread 0x7f77667fc700 (LWP 2041)):
    [#0](/bitcoin-bitcoin/0/)  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
    [#1](/bitcoin-bitcoin/1/)  0x00007f77b4a95494 in _L_lock_952 () from /lib/x86_64-linux-gnu/libpthread.so.0
    [#2](/bitcoin-bitcoin/2/)  0x00007f77b4a952f6 in __GI___pthread_mutex_lock (mutex=0x7f77b7a73880 <cs_main>) at ../nptl/pthread_mutex_lock.c:114
    [#3](/bitcoin-bitcoin/3/)  0x00007f77b730fd2d in lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:110
    [#4](/bitcoin-bitcoin/4/)  lock (this=<optimized out>) at sync.h:60
    ---Type <return> to continue, or q <return> to quit---
    [#5](/bitcoin-bitcoin/5/)  lock (this=0x7f77667fb690) at /usr/include/boost/thread/lock_types.hpp:346
    [#6](/bitcoin-bitcoin/6/)  Enter (pszName=<optimized out>, pszFile=<optimized out>, nLine=<optimized out>, this=0x7f77667fb690) at sync.h:124
    [#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
    [#8](/bitcoin-bitcoin/8/)  0x00007f77b735e512 in (anonymous namespace)::InitializeNode (pnode=0x7f774c2ba150, connman=...) at net_processing.cpp:271
    [#9](/bitcoin-bitcoin/9/)  0x00007f77b7353e36 in operator() (a1=..., a0=<optimized out>, this=<optimized out>) at /usr/include/boost/function/function_template.hpp:767
    [#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
    [#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
    [#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
    [#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
    [#14](/bitcoin-bitcoin/14/) dereference (this=0x7f77667fb7d0) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82
    [#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
    [#16](/bitcoin-bitcoin/16/) operator* (this=0x7f77667fb7d0) at /usr/include/boost/iterator/iterator_facade.hpp:639
    [#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
    [#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
    [#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
    [#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
    [#21](/bitcoin-bitcoin/21/) CConnman::OpenNetworkConnection (this=this@entry=0x7f77b8ddc010, addrConnect=..., fCountFailure=<optimized out>, grantOutbound=grantOutbound@entry=0x7f77667fbbb0, pszDest=pszDest@entry=0x0, 
        fOneShot=fOneShot@entry=false, fFeeler=false, fAddnode=false) at net.cpp:1940
    [#22](/bitcoin-bitcoin/22/) 0x00007f77b7335b1b in CConnman::ThreadOpenConnections (this=<optimized out>) at net.cpp:1814
    [#23](/bitcoin-bitcoin/23/) 0x00007f77b730c68d in operator() (this=0x7f77667fbeb0) at /usr/include/c++/4.9/functional:2439
    [#24](/bitcoin-bitcoin/24/) TraceThread<std::function<void ()> >(char const*, std::function<void ()>) (name=0x7f77b768222c "opencon", func=...) at util.h:266
    ---Type <return> to continue, or q <return> to quit---
    [#25](/bitcoin-bitcoin/25/) 0x00007f77b733f95b in _M_invoke<0ul, 1ul> (this=<optimized out>) at /usr/include/c++/4.9/functional:1700
    [#26](/bitcoin-bitcoin/26/) operator() (this=<optimized out>) at /usr/include/c++/4.9/functional:1688
    [#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
    [#28](/bitcoin-bitcoin/28/) 0x00007f77b5275970 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    [#29](/bitcoin-bitcoin/29/) 0x00007f77b4a93064 in start_thread (arg=0x7f77667fc700) at pthread_create.c:309
    [#30](/bitcoin-bitcoin/30/) 0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
    
    Thread 2 (Thread 0x7f7765ffb700 (LWP 2042)):
    [#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
    [#1](/bitcoin-bitcoin/1/)  0x00007f77b732d728 in CConnman::SocketSendData (this=this@entry=0x7f77b8ddc010, pnode=pnode@entry=0x7f775c1d1240) at net.cpp:844
    [#2](/bitcoin-bitcoin/2/)  0x00007f77b7331b64 in CConnman::PushMessage(CNode*, CSerializedNetMsg&&) (this=this@entry=0x7f77b8ddc010, pnode=pnode@entry=0x7f775c1d1240, 
        msg=msg@entry=<unknown type in /home/jonasschnelli/bitcoin/bitcoin/src/bitcoind, CU 0x31d41a, DIE 0x4c1e2c>) at net.cpp:2770
    [#3](/bitcoin-bitcoin/3/)  0x00007f77b7367b54 in ProcessGetData (pfrom=0x7f775c1d1240, pfrom@entry=0x7f7765ff9470, consensusParams=..., connman=..., interruptMsgProc=...) at net_processing.cpp:1045
    [#4](/bitcoin-bitcoin/4/)  0x00007f77b736cef6 in ProcessMessage (pfrom=0x7f7765ff9470, pfrom@entry=0x7f775c1d1240, strCommand="", vRecv=..., nTimeReceived=<optimized out>, chainparams=..., connman=..., interruptMsgProc=...)
        at net_processing.cpp:1600
    [#5](/bitcoin-bitcoin/5/)  0x00007f77b737fe29 in ProcessMessages (pfrom=0x7f775c1d1240, connman=..., interruptMsgProc=...) at net_processing.cpp:2717
    [#6](/bitcoin-bitcoin/6/)  0x00007f77b7354c54 in operator() (a2=..., a1=..., a0=<optimized out>, this=<optimized out>) at /usr/include/boost/function/function_template.hpp:767
    [#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>)
        at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:87
    [#8](/bitcoin-bitcoin/8/)  operator()<boost::function<bool(CNode*, CConnman&, std::atomic<bool>&)>, CNode*&, CConnman&, std::atomic<bool>&, 3ul> (args=..., func=..., this=<optimized out>)
        at /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:81
    [#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
    [#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
    [#11](/bitcoin-bitcoin/11/) dereference (this=0x7f7765ffab20) at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82
    [#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
    [#13](/bitcoin-bitcoin/13/) operator* (this=0x7f7765ffab20) at /usr/include/boost/iterator/iterator_facade.hpp:639
    [#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---
    )> >, 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
    [#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>)
        at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:53
    [#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=..., 
        args#2=...) at /usr/include/boost/signals2/detail/signal_template.hpp:246
    [#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
    [#18](/bitcoin-bitcoin/18/) CConnman::ThreadMessageHandler (this=0x7f77b8ddc010) at net.cpp:1970
    [#19](/bitcoin-bitcoin/19/) 0x00007f77b730c68d in operator() (this=0x7f7765ffaeb0) at /usr/include/c++/4.9/functional:2439
    [#20](/bitcoin-bitcoin/20/) TraceThread<std::function<void ()> >(char const*, std::function<void ()>) (name=0x7f77b7682234 "msghand", func=...) at util.h:266
    [#21](/bitcoin-bitcoin/21/) 0x00007f77b733f95b in _M_invoke<0ul, 1ul> (this=<optimized out>) at /usr/include/c++/4.9/functional:1700
    [#22](/bitcoin-bitcoin/22/) operator() (this=<optimized out>) at /usr/include/c++/4.9/functional:1688
    [#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
    [#24](/bitcoin-bitcoin/24/) 0x00007f77b5275970 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    [#25](/bitcoin-bitcoin/25/) 0x00007f77b4a93064 in start_thread (arg=0x7f7765ffb700) at pthread_create.c:309
    [#26](/bitcoin-bitcoin/26/) 0x00007f77b47c862d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
    
    Thread 1 (Thread 0x7f77b7a41740 (LWP 2018)):
    [#0](/bitcoin-bitcoin/0/)  0x00007f77b4a9449b in pthread_join (threadid=140150789093120, thread_return=0x0) at pthread_join.c:92
    [#1](/bitcoin-bitcoin/1/)  0x00007f77b5275837 in std::thread::join() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    [#2](/bitcoin-bitcoin/2/)  0x00007f77b733dc4f in CConnman::Stop (this=this@entry=0x7f77b8ddc010) at net.cpp:2342
    [#3](/bitcoin-bitcoin/3/)  0x00007f77b733e2ac in CConnman::~CConnman (this=0x7f77b8ddc010, __in_chrg=<optimized out>) at net.cpp:2395
    [#4](/bitcoin-bitcoin/4/)  0x00007f77b72e8ec1 in operator() (this=<optimized out>, __ptr=0x7f77b8ddc010) at /usr/include/c++/4.9/bits/unique_ptr.h:76
    [#5](/bitcoin-bitcoin/5/)  reset (__p=0x7f77b8ddc010, this=0x7f77b7a715d0 <g_connman>) at /usr/include/c++/4.9/bits/unique_ptr.h:344
    [#6](/bitcoin-bitcoin/6/)  Shutdown () at init.cpp:206
    [#7](/bitcoin-bitcoin/7/)  0x00007f77b72d8073 in AppInit (argc=<optimized out>, argv=<optimized out>) at bitcoind.cpp:184
    [#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: 2026-04-24 00:15 UTC

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