diff options
-rw-r--r-- | Dockerfile | 4 | ||||
-rw-r--r-- | core/chain_manager.go | 8 | ||||
-rw-r--r-- | eth/block_pool.go | 2 | ||||
-rw-r--r-- | eth/protocol.go | 2 |
4 files changed, 11 insertions, 5 deletions
diff --git a/Dockerfile b/Dockerfile index 82ce9f7fc..726e6b71f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,8 +13,8 @@ RUN apt-get update && apt-get upgrade -y RUN apt-get install -y git mercurial build-essential software-properties-common pkg-config libgmp3-dev libreadline6-dev libpcre3-dev libpcre++-dev ## Build and install Go -RUN hg clone -u release https://code.google.com/p/go -RUN cd go && hg update go1.4 +RUN git clone https://go.googlesource.com/go +RUN cd go && git checkout go1.4.1 RUN cd go/src && ./all.bash && go version ## Install GUI dependencies diff --git a/core/chain_manager.go b/core/chain_manager.go index c68b7cfc2..9646bfc53 100644 --- a/core/chain_manager.go +++ b/core/chain_manager.go @@ -251,7 +251,13 @@ func (self *ChainManager) GetBlockHashesFromHash(hash []byte, max uint64) (chain // XXX Could be optimised by using a different database which only holds hashes (i.e., linked list) for i := uint64(0); i < max; i++ { - block = self.GetBlock(block.Header().ParentHash) + parentHash := block.Header().ParentHash + block = self.GetBlock(parentHash) + if block == nil { + chainlogger.Infof("GetBlockHashesFromHash Parent UNKNOWN %x\n", parentHash) + break + } + chain = append(chain, block.Hash()) if block.Header().Number.Cmp(ethutil.Big0) <= 0 { break diff --git a/eth/block_pool.go b/eth/block_pool.go index b624d064a..97ae683c1 100644 --- a/eth/block_pool.go +++ b/eth/block_pool.go @@ -1098,7 +1098,7 @@ func (self *BlockPool) requestBlocks(attempts int, hashes [][]byte) { poolLogger.Debugf("request %v missing blocks from %v/%v peers: chosen %v", len(hashes), repetitions, peerCount, indexes) for _, peer := range self.peers { if i == indexes[0] { - poolLogger.Debugf("request %v missing blocks from peer %s", len(hashes), peer.id) + poolLogger.Debugf("request %v missing blocks [%x/%x] from peer %s", len(hashes), hashes[0][:4], hashes[len(hashes)-1][:4], peer.id) peer.requestBlocks(hashes) indexes = indexes[1:] if len(indexes) == 0 { diff --git a/eth/protocol.go b/eth/protocol.go index 24a0f0a8e..68c52b7ce 100644 --- a/eth/protocol.go +++ b/eth/protocol.go @@ -13,7 +13,7 @@ import ( ) const ( - ProtocolVersion = 51 + ProtocolVersion = 52 NetworkId = 0 ProtocolLength = uint64(8) ProtocolMaxMsgSize = 10 * 1024 * 1024 |