ethereumproject / go-ethereum

Go language implementation of the original/classic design of the Ethereum protocol
GNU Lesser General Public License v3.0
441 stars 166 forks source link

Stuck syncing problem #695

Closed jaybxyz closed 5 years ago

jaybxyz commented 5 years ago

I am not too sure If I am having same issue, but here is what I am experiencing.

I pulled the source and git checkout v5.5.2 (latest version at this time) and installed with make command

Result is as follow. ~/go/src/github.com/ethereumproject/go-ethereum $ make

mkdir -p ./bin && go build -ldflags "-X main.Version="`git describe --tags` -o bin/abigen ./cmd/abigen
Done building abigen.
Run "bin/abigen" to launch abigen.
mkdir -p ./bin && go build -ldflags "-X main.Version="`git describe --tags` -o bin/bootnode ./cmd/bootnode
Done building bootnode.
Run "bin/bootnode" to launch bootnode.
mkdir -p ./bin && go build -ldflags "-X main.Version="`git describe --tags` -o bin/disasm ./cmd/disasm
Done building disasm.
Run "bin/disasm" to launch disasm.
mkdir -p ./bin && go build -ldflags "-X main.Version="`git describe --tags` -o bin/ethtest ./cmd/ethtest
Done building ethtest.
Run "bin/ethtest" to launch ethtest.
mkdir -p ./bin && go build -ldflags "-X main.Version="`git describe --tags` -o bin/evm ./cmd/evm
Done building evm.
Run "bin/evm" to launch evm.
mkdir -p ./bin && go build -ldflags "-X main.Version="`git describe --tags` -o bin/rlpdump ./cmd/rlpdump
Done building rlpdump.
Run "bin/rlpdump" to launch rlpdump.
./scripts/build_sputnikvm.sh build
With SputnikVM, running geth build ...
Cargo installed OK, continuing
Building SputnikVM
make[1]: Entering directory '/home/ubuntu/go/src/github.com/ethereumproject/go-ethereum/vendor/github.com/ETCDEVTeam/sputnikvm-ffi/c'
cd ffi && cargo build --release
    Finished release [optimized] target(s) in 0.04s
cp ffi/target/release/libsputnikvm_ffi.a libsputnikvm.a
cp ffi/target/release/libsputnikvm_ffi.so libsputnikvm.so | true
make[1]: Leaving directory '/home/ubuntu/go/src/github.com/ethereumproject/go-ethereum/vendor/github.com/ETCDEVTeam/sputnikvm-ffi/c'
Doing geth build ...
Done building geth.
Run "bin/geth" to launch geth.
-rwxrwxr-x 1 ubuntu ubuntu 11833728 Dec  6 01:41 bin/abigen
-rwxrwxr-x 1 ubuntu ubuntu 12417976 Dec  6 01:41 bin/bootnode
-rwxrwxr-x 1 ubuntu ubuntu  5160792 Dec  6 01:41 bin/disasm
-rwxrwxr-x 1 ubuntu ubuntu 15469608 Dec  6 01:41 bin/ethtest
-rwxrwxr-x 1 ubuntu ubuntu 13419448 Dec  6 01:41 bin/evm
-rwxrwxr-x 1 ubuntu ubuntu 38191192 Dec  6 01:41 bin/geth
-rwxrwxr-x 1 ubuntu ubuntu  2900072 Dec  6 01:41 bin/rlpdump

$ geth version

Geth
Version: source
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.9.4
Go OS: linux
Go Arch: amd64
Machine ID: 081ccf9f
GOPATH=
GOROOT=/usr/lib/go-1.9

I started geth using screen using this command

screen -dmS geth /usr/bin/geth --rpc --rpcaddr "0.0.0.0" --rpccorsdomain "*" --rpcport 8575 --rpcapi "eth,web3,personal,debug" --fast --cache 2048 

Javascript Console to see if it is syncing and what is the latest block number $ geth attach

> eth.syncing
{
  currentBlock: 7058431,
  highestBlock: 7059630,
  knownStates: 188366,
  pulledStates: 178608,
  startingBlock: 7058431
}
> eth.syncing
{
  currentBlock: 7058431,
  highestBlock: 7059630,
  knownStates: 189156,
  pulledStates: 179227,
  startingBlock: 7058431
}
> eth.syncing
{
  currentBlock: 7058431,
  highestBlock: 7059630,
  knownStates: 189156,
  pulledStates: 179227,
  startingBlock: 7058431
}
> eth.syncing
{
  currentBlock: 7058431,
  highestBlock: 7059630,
  knownStates: 189121,
  pulledStates: 179462,
  startingBlock: 7058431
}
> eth.syncing
{
  currentBlock: 7058431,
  highestBlock: 7059630,
  knownStates: 198626,
  pulledStates: 188075,
  startingBlock: 7058431
}
> eth.syncing
{
  currentBlock: 7058431,
  highestBlock: 7059630,
  knownStates: 198681,
  pulledStates: 188180,
  startingBlock: 7058431
}

It is stuck at that currentBlock for a long time, and knownStates and pulledStates are changing

jaybxyz commented 5 years ago

I deleted everything and downloaded again from the beginning, i am experiencing the same issue.

I checked with top command to see if i need more hardware resources, but it has enough resources to use.

Ubuntu 18.04 LTS in AWS Instance type is t2.large

$ tail -f ~/.ethereum-classic/mainnet/log/geth.ERROR

Binary: Built with gc go1.9.4 for linux/amd64
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
E1206 01:39:33.759134 p2p/nat/nat.go:114] Network port udp:30303 could not be mapped: no UPnP or NAT-PMP router discovered
E1206 01:39:33.859914 p2p/nat/nat.go:114] Network port tcp:30303 could not be mapped: no UPnP or NAT-PMP router discovered
E1206 01:54:33.094228 p2p/nat/nat.go:114] Network port udp:30303 could not be mapped: no UPnP or NAT-PMP router discovered
E1206 01:54:33.866042 p2p/nat/nat.go:114] Network port tcp:30303 could not be mapped: no UPnP or NAT-PMP router discovered

$ tail -n 10 ~/.ethereum-classic/mainnet/log/geth.INFO

I1206 01:59:26.177400 eth/downloader/statesync.go:447] Imported new state entries count 147 flushed 108 elapsed 7.251446ms processed 1018733 pending 43872 retry 239 duplicate 364 unexpected 269
I1206 01:59:26.177735 eth/peer.go:250] Peer e4b8dbd3b1017c89 [eth/63] fetching 2 state data first=0x20afe6020329eed028a30d503ea90432446b7c13e46e3122b60f07f013c3e6f4
I1206 01:59:26.177849 eth/peer.go:250] Peer cb319ef313aade7d [eth/63] fetching 384 state data first=0x01ae855d48208017474aaf7741521d6a81ea4a877d0be7579ebf3e568593ba4e
I1206 01:59:26.366650 eth/downloader/statesync.go:447] Imported new state entries count 384 flushed 526 elapsed 6.413953ms processed 1019117 pending 43386 retry 0 duplicate 364 unexpected 269
I1206 01:59:26.367224 eth/peer.go:250] Peer 7d2e2bd9fc63bb6a [eth/63] fetching 384 state data first=0x62d486dd4ce336f18b6e17c873dedc48d595444dbd69bcd59915eb9b5c41b5e5
I1206 01:59:26.530179 eth/downloader/statesync.go:447] Imported new state entries count 384 flushed 489 elapsed 6.904261ms processed 1019501 pending 42940 retry 2 duplicate 364 unexpected 269
I1206 01:59:26.530779 eth/peer.go:250] Peer e835e7f5879bb960 [eth/63] fetching 384 state data first=0x59e6dfcd69a7c564a53bd9d983d9c7c24b38787f7fa98de30e862e7be72eb776
I1206 01:59:26.530789 eth/peer.go:250] Peer e4b8dbd3b1017c89 [eth/63] fetching 2 state data first=0x08720a7afb4a666451f941073a5867c8dadebd4222ee366aab45607cc550c210
I1206 01:59:26.541880 eth/downloader/statesync.go:447] Imported new state entries count 147 flushed 197 elapsed 2.590164ms processed 1019648 pending 42751 retry 237 duplicate 364 unexpected 269
I1206 01:59:26.542217 eth/peer.go:250] Peer cb319ef313aade7d [eth/63] fetching 384 state data first=0x4b1f029e1649e2880b87d6471e245ddacbacde4a48389527ec2c51430cfd5007

$ tail -n 10 ~/.ethereum-classic/mainnet/log/geth.WARNING W1206 01:53:21.029548

eth/downloader/downloader.go:355] sync busy
W1206 01:53:26.607462 eth/downloader/downloader.go:355] sync busy
W1206 01:53:26.952591 p2p/server.go:656] dyn dial conn b0bd99507ed7686d 45.77.237.25:30303 failed proto handshake: Too many peers
W1206 01:53:27.543839 eth/downloader/downloader.go:355] sync busy
W1206 01:53:28.454759 eth/downloader/downloader.go:355] sync busy
W1206 01:53:28.855819 p2p/server.go:656] dyn dial conn 5ac33f5e2e2da97f 121.78.223.148:30303 failed proto handshake: Too many peers
W1206 01:53:28.865341 eth/downloader/downloader.go:355] sync busy
W1206 01:53:38.865567 eth/downloader/downloader.go:355] sync busy
E1206 01:54:33.094228 p2p/nat/nat.go:114] Network port udp:30303 could not be mapped: no UPnP or NAT-PMP router discovered
E1206 01:54:33.866042 p2p/nat/nat.go:114] Network port tcp:30303 could not be mapped: no UPnP or NAT-PMP router discovered
jaybxyz commented 5 years ago

It worked after waiting for hours...