Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

Sync downloads headers, but doesn't progress #5625

Open
gumb0 opened this issue Jun 12, 2019 · 0 comments
Open

Sync downloads headers, but doesn't progress #5625

gumb0 opened this issue Jun 12, 2019 · 0 comments
Assignees
Labels

Comments

@gumb0
Copy link
Member

gumb0 commented Jun 12, 2019

For the user this looks similar to #5312 but in the debugger I see that it's quite different situation: the sync is not paused, it's in SyncState::Blocks, it requests some headers and downloads them, but then they never are imported and sync progress doesn't move.

I've got this while syncing mainnet on Linux.
Maybe it got stuck on some mainnet fork, but I couldn't yet understand what's exactly happening

Here's the stack of all threads (though it changes all the time, as it's not a deadlock)

Thread 2285 (Thread 0x7fff36364700 (LWP 82000)):
#0  0x00007ffff79c73ad in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000000000719e41 in read (__nbytes=<optimized out>, __buf=<optimized out>, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  dev::UnixDomainSocketServer::Read (this=<optimized out>, _connection=<optimized out>, _data=<optimized out>, _size=<optimized out>) at /home/ethnode/cpp-ethereum/libweb3jsonrpc/UnixSocketServer.cpp:144
#3  0x000000000071eced in dev::IpcServerBase<int>::GenerateResponse (this=0x18d5ae0, _connection=12) at /home/ethnode/cpp-ethereum/libweb3jsonrpc/IpcServerBase.cpp:104
#4  0x0000000000719db0 in operator() (__closure=0x7fff30296c68) at /home/ethnode/cpp-ethereum/libweb3jsonrpc/UnixSocketServer.cpp:120
#5  __invoke_impl<void, dev::UnixDomainSocketServer::Listen()::<lambda()> > (__f=<optimized out>) at /usr/include/c++/7/bits/invoke.h:60
#6  __invoke<dev::UnixDomainSocketServer::Listen()::<lambda()> > (__fn=<optimized out>) at /usr/include/c++/7/bits/invoke.h:95
#7  _M_invoke<0> (this=0x7fff30296c68) at /usr/include/c++/7/thread:234
#8  operator() (this=0x7fff30296c68) at /usr/include/c++/7/thread:243
#9  std::thread::_State_impl<std::thread::_Invoker<std::tuple<dev::UnixDomainSocketServer::Listen()::<lambda()> > > >::_M_run(void) (this=0x7fff30296c60) at /usr/include/c++/7/thread:186
#10 0x00007ffff773621f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007ffff79c0184 in start_thread (arg=0x7fff36364700) at pthread_create.c:312
#12 0x00007ffff6ebcffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fffe6ffb700 (LWP 47808)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff77308dc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00000000008ef0a8 in leveldb::(anonymous namespace)::PosixEnv::BackgroundThreadEntryPoint(leveldb::(anonymous namespace)::PosixEnv*) ()
#3  0x00007ffff773621f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff79c0184 in start_thread (arg=0x7fffe6ffb700) at pthread_create.c:312
#5  0x00007ffff6ebcffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7ffff4b30700 (LWP 47781)):
#0  0x00007ffff79c76dd in accept () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000000000719eb7 in dev::UnixDomainSocketServer::Listen (this=0x18d5ae0) at /home/ethnode/cpp-ethereum/libweb3jsonrpc/UnixSocketServer.cpp:111
#2  0x00007ffff773621f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff79c0184 in start_thread (arg=0x7ffff4b30700) at pthread_create.c:312
#4  0x00007ffff6ebcffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7ffff5331700 (LWP 47780)):
#0  dev::eth::BlockChainSync::onPeerBlockHeaders (this=0x18c3f80, _peerID=..., _r=...) at /home/ethnode/cpp-ethereum/libethereum/BlockChainSync.cpp:463
#1  0x0000000000636b16 in (anonymous namespace)::EthereumPeerObserver::onPeerBlockHeaders (this=0x17b31e0, _peerID=..., _headers=...) at /home/ethnode/cpp-ethereum/libethereum/EthereumCapability.cpp:100
#2  0x000000000063a755 in dev::eth::EthereumCapability::interpretCapabilityPacket (this=this@entry=0x18c33b0, _peerID=..., _id=_id@entry=4, _r=...) at /home/ethnode/cpp-ethereum/libethereum/EthereumCapability.cpp:712
#3  0x0000000000827339 in dev::p2p::Session::readPacket (this=0x7fffcd411b10, _capId=<optimized out>, _packetType=_packetType@entry=20, _r=...) at /home/ethnode/cpp-ethereum/libp2p/Session.cpp:120
#4  0x0000000000827994 in dev::p2p::Session::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)>::operator()(boost::system::error_code, std::size_t) const (__closure=__closure@entry=0x7ffff5330798, ec=..., 
    length=<optimized out>) at /home/ethnode/cpp-ethereum/libp2p/Session.cpp:383
#5  0x0000000000827e17 in boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >::operator()(const boost::system::error_code &, std::size_t, int) (this=this@entry=0x7ffff5330770, ec=..., 
    bytes_transferred=<optimized out>, start=start@entry=0) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/impl/read.hpp:373
#6  0x0000000000829516 in operator() (this=0x7ffff5330770) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/bind_handler.hpp:164
#7  asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int> > (function=...)
    at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/handler_invoke_hook.hpp:69
#8  invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> > (context=..., function=...) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#9  asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> > (this_handler=<optimized out>, function=...)
    at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/impl/read.hpp:428
#10 invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> > > (context=..., function=...)
    at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#11 asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int> (this_handler=<optimized out>, function=...) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/bind_handler.hpp:207
#12 invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int> > (context=..., function=...) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#13 dispatch<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, std::allocator<void> > (a=..., 
    f=<unknown type in /home/ethnode/cpp-ethereum/build/aleth/aleth, CU 0x4ad00ad, DIE 0x4b68387>, this=<synthetic pointer>) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/io_object_executor.hpp:117
#14 complete<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int> > (handler=..., function=..., this=<synthetic pointer>)
    at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/handler_work.hpp:72
#15 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, const boost::asio::mutable_buffer*, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)>::<lambda(boost::system::error_code, std::size_t)> >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x15e5b30, base=<optimized out>) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/reactive_socket_recv_op.hpp:123
#16 0x00000000007efaef in complete (bytes_transferred=<optimized out>, ec=..., owner=0x15e5b30, this=<optimized out>) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/scheduler_operation.hpp:40
#17 do_run_one (ec=..., this_thread=..., lock=..., this=0x15e5b30) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/impl/scheduler.ipp:447
#18 boost::asio::detail::scheduler::run (this=0x15e5b30, ec=...) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/detail/impl/scheduler.ipp:200
#19 0x00000000007da7d8 in run (this=0x7fffffffdee0) at /home/ethnode/.hunter/_Base/3511e5f/2a0d13e/0d35112/Install/include/boost/asio/impl/io_context.ipp:63
#20 dev::p2p::Host::doWork (this=0x7fffffffdde8) at /home/ethnode/cpp-ethereum/libp2p/Host.cpp:876
#21 0x0000000000759252 in dev::Worker::workLoop (this=0x7fffffffdde8) at /home/ethnode/cpp-ethereum/libdevcore/Worker.cpp:140
#22 0x0000000000759ac6 in operator() (__closure=0x17b5be8) at /home/ethnode/cpp-ethereum/libdevcore/Worker.cpp:62
#23 __invoke_impl<void, dev::Worker::startWorking()::<lambda()> > (__f=<optimized out>) at /usr/include/c++/7/bits/invoke.h:60
#24 __invoke<dev::Worker::startWorking()::<lambda()> > (__fn=<optimized out>) at /usr/include/c++/7/bits/invoke.h:95
#25 _M_invoke<0> (this=0x17b5be8) at /usr/include/c++/7/thread:234
#26 operator() (this=0x17b5be8) at /usr/include/c++/7/thread:243
#27 std::thread::_State_impl<std::thread::_Invoker<std::tuple<dev::Worker::startWorking()::<lambda()> > > >::_M_run(void) (this=0x17b5be0) at /usr/include/c++/7/thread:186
#28 0x00007ffff773621f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#29 0x00007ffff79c0184 in start_thread (arg=0x7ffff5331700) at pthread_create.c:312
#30 0x00007ffff6ebcffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7ffff5b32700 (LWP 47779)):
#0  0x00000000005b6376 in getHashSize<dev::FixedHash<32>, dev::eth::BlocksBlooms> (_map=std::unordered_map with 147749 elements = {...}) at /home/ethnode/cpp-ethereum/libethereum/BlockChain.cpp:1197
#1  dev::eth::BlockChain::updateStats (this=this@entry=0x1b599b0) at /home/ethnode/cpp-ethereum/libethereum/BlockChain.cpp:1214
#2  0x00000000005bcd38 in dev::eth::BlockChain::garbageCollect (this=0x1b599b0, _force=_force@entry=false) at /home/ethnode/cpp-ethereum/libethereum/BlockChain.cpp:1226
#3  0x0000000000617163 in dev::eth::Client::checkWatchGarbage (this=this@entry=0x1b59820) at /home/ethnode/cpp-ethereum/libethereum/Client.cpp:747
#4  0x0000000000617407 in dev::eth::Client::tick (this=this@entry=0x1b59820) at /home/ethnode/cpp-ethereum/libethereum/Client.cpp:717
#5  0x000000000061f0b7 in dev::eth::Client::doWork (this=0x1b59820, _doWait=<optimized out>) at /home/ethnode/cpp-ethereum/libethereum/Client.cpp:695
#6  0x0000000000759252 in dev::Worker::workLoop (this=0x1b59928) at /home/ethnode/cpp-ethereum/libdevcore/Worker.cpp:140
#7  0x0000000000759ac6 in operator() (__closure=0x178ff88) at /home/ethnode/cpp-ethereum/libdevcore/Worker.cpp:62
#8  __invoke_impl<void, dev::Worker::startWorking()::<lambda()> > (__f=<optimized out>) at /usr/include/c++/7/bits/invoke.h:60
#9  __invoke<dev::Worker::startWorking()::<lambda()> > (__fn=<optimized out>) at /usr/include/c++/7/bits/invoke.h:95
#10 _M_invoke<0> (this=0x178ff88) at /usr/include/c++/7/thread:234
#11 operator() (this=0x178ff88) at /usr/include/c++/7/thread:243
#12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<dev::Worker::startWorking()::<lambda()> > > >::_M_run(void) (this=0x178ff80) at /usr/include/c++/7/thread:186
#13 0x00007ffff773621f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#14 0x00007ffff79c0184 in start_thread (arg=0x7ffff5b32700) at pthread_create.c:312
#15 0x00007ffff6ebcffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7ffff6333700 (LWP 47778)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff77308dc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x000000000068bb01 in wait<dev::eth::TransactionQueue::verifierBody()::<lambda()> > (__p=..., __lock=..., this=0x1b5ba18) at /usr/include/c++/7/condition_variable:99
#3  dev::eth::TransactionQueue::verifierBody (this=0x1b5b6c0) at /home/ethnode/cpp-ethereum/libethereum/TransactionQueue.cpp:386
#4  0x000000000068c07a in operator() (__closure=0x17b2eb8) at /home/ethnode/cpp-ethereum/libethereum/TransactionQueue.cpp:42
#5  __invoke_impl<void, dev::eth::TransactionQueue::TransactionQueue(unsigned int, unsigned int)::<lambda()> > (__f=<optimized out>) at /usr/include/c++/7/bits/invoke.h:60
#6  __invoke<dev::eth::TransactionQueue::TransactionQueue(unsigned int, unsigned int)::<lambda()> > (__fn=<optimized out>) at /usr/include/c++/7/bits/invoke.h:95
#7  _M_invoke<0> (this=0x17b2eb8) at /usr/include/c++/7/thread:234
#8  operator() (this=0x17b2eb8) at /usr/include/c++/7/thread:243
#9  std::thread::_State_impl<std::thread::_Invoker<std::tuple<dev::eth::TransactionQueue::TransactionQueue(unsigned int, unsigned int)::<lambda()> > > >::_M_run(void) (this=0x17b2eb0) at /usr/include/c++/7/thread:186
#10 0x00007ffff773621f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007ffff79c0184 in start_thread (arg=0x7ffff6333700) at pthread_create.c:312
#12 0x00007ffff6ebcffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7ffff6b34700 (LWP 47777)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff77308dc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00000000005e994f in wait<dev::eth::BlockQueue::verifierBody()::<lambda()> > (__p=..., __lock=..., this=0x1b5b488) at /usr/include/c++/7/condition_variable:99
#3  dev::eth::BlockQueue::verifierBody (this=0x1b5b130) at /home/ethnode/cpp-ethereum/libethereum/BlockQueue.cpp:93
#4  0x00000000005ea2da in operator() (__closure=0x17b2668) at /home/ethnode/cpp-ethereum/libethereum/BlockQueue.cpp:47
#5  __invoke_impl<void, dev::eth::BlockQueue::BlockQueue()::<lambda()> > (__f=<optimized out>) at /usr/include/c++/7/bits/invoke.h:60
#6  __invoke<dev::eth::BlockQueue::BlockQueue()::<lambda()> > (__fn=<optimized out>) at /usr/include/c++/7/bits/invoke.h:95
#7  _M_invoke<0> (this=0x17b2668) at /usr/include/c++/7/thread:234
#8  operator() (this=0x17b2668) at /usr/include/c++/7/thread:243
#9  std::thread::_State_impl<std::thread::_Invoker<std::tuple<dev::eth::BlockQueue::BlockQueue()::<lambda()> > > >::_M_run(void) (this=0x17b2660) at /usr/include/c++/7/thread:186
#10 0x00007ffff773621f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007ffff79c0184 in start_thread (arg=0x7ffff6b34700) at pthread_create.c:312
#12 0x00007ffff6ebcffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7ffff7fe4ac0 (LWP 47773)):
#0  0x00007ffff79c7b9d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000000000432e86 in sleep_for<long, std::ratio<1, 1000> > (__rtime=...) at /usr/include/c++/7/thread:376
#2  stopSealingAfterXBlocks (io_mining=<synthetic pointer>, _start=<optimized out>, _c=<optimized out>) at /home/ethnode/cpp-ethereum/aleth/main.cpp:104
#3  main (argc=<optimized out>, argv=<optimized out>) at /home/ethnode/cpp-ethereum/aleth/main.cpp:1028

Sync status:

> eth.syncing
{
  currentBlock: 2224906,
  highestBlock: 7911292,
  startingBlock: 2224906
}

Some BlockChainSync members:

(gdb) p m_lastImportedBlock
$78 = 2116480
(gdb) p m_haveCommonHeader
$79 = true
(gdb) p m_headers
$85 = std::map with 7 elements = {[2037121] = std::vector of length 512 ...
(gdb) p m_bodies
$84 = std::map with 264 elements = {[2037122] = std::vector of length 3, ...

^ This shows that it's downloading headers before the latest imported block, this should happen when the fork is encountered.

(gdb) p m_downloadingHeaders
$82 = std::unordered_set with 74752 elements = {[0] = 2062208, [1] = 2062207, [2] = 2062206,
(gdb) p m_downloadingBodies
$83 = std::unordered_set with 0 elements
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants