Bitcoin Forum
May 24, 2024, 05:46:09 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Satoshi client wasting bandwidth, getting blocks multiple times  (Read 1737 times)
deepceleron (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1032



View Profile WWW
October 28, 2012, 08:42:15 PM
Last edit: October 28, 2012, 11:30:54 PM by deepceleron
 #1

I have 16 connections at present and am downloading blocks off the main network. I have noticed what appears to be my copy of Bitcoin receiving the same blocks multiple times in the logs:

...
received block 000000000000011a4403
SetBestChain: new best=000000000000011a4403  height=196196  work=450654222657382946220  date=08/29/12 05:28:42
ProcessBlock: ACCEPTED
received block 000000000000026a75f9
SetBestChain: new best=000000000000026a75f9  height=196197  work=450664705297513269032  date=08/29/12 06:04:29
ProcessBlock: ACCEPTED
Added 1 addresses from 178.148.109.206: 27 tried, 8031 new
Added 1 addresses from 193.106.95.138: 27 tried, 8031 new
Added 1 addresses from 173.67.5.248: 27 tried, 8032 new
Added 1 addresses from 86.143.13.243: 27 tried, 8032 new
received block 00000000000000901487
ERROR: ProcessBlock() : already have block 196036 00000000000000901487
received block 00000000000004a374f9
ERROR: ProcessBlock() : already have block 196037 00000000000004a374f9
received block 0000000000000599d86b
ERROR: ProcessBlock() : already have block 196038 0000000000000599d86b
received block 00000000000006c2bb3c
ERROR: ProcessBlock() : already have block 196039 00000000000006c2bb3c

Added 1 addresses from 176.9.122.123: 27 tried, 8033 new
received block 00000000000006af9443
ERROR: ProcessBlock() : already have block 196154 00000000000006af9443
received block 0000000000000459c29f
ERROR: ProcessBlock() : already have block 196155 0000000000000459c29f
received block 00000000000002fd4225
ERROR: ProcessBlock() : already have block 196156 00000000000002fd4225
received block 0000000000000308ea4e
ERROR: ProcessBlock() : already have block 196157 0000000000000308ea4e
received block 00000000000003d1fe23
ERROR: ProcessBlock() : already have block 196158 00000000000003d1fe23
received block 000000000000006ebef9
ERROR: ProcessBlock() : already have block 196159 000000000000006ebef9
received block 000000000000039009c6
ERROR: ProcessBlock() : already have block 196160 000000000000039009c6
received block 000000000000020904b3
ERROR: ProcessBlock() : already have block 196161 000000000000020904b3
received block 00000000000004b8c6b0
ERROR: ProcessBlock() : already have block 196162 00000000000004b8c6b0
received block 000000000000003569d4
ERROR: ProcessBlock() : already have block 196163 000000000000003569d4
received block 000000000000032f4bf4

...
Here's a much longer log: http://www.jine.be/91310
Not an isolated case, it happens every few minutes or more often. The duplicate blocks can be a few or a hundred blocks behind.

This appears to be either multiple peers responding to a request for blocks, or the same peer resending multiple datas. This could make a 3GB download take much more bandwidth than that if I am interpreting the log correctly.

bitcoind 0.7.1 windows

Comments before I go bug-filing?
malevolent
can into space
Legendary
*
Offline Offline

Activity: 3472
Merit: 1721



View Profile
October 28, 2012, 10:51:31 PM
 #2

Maybe the other bitcoin nodes are on slow machines processing blocks or with a slow connection?

edit: or getblock message issues

Signature space available for rent.
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4186
Merit: 8424



View Profile WWW
October 31, 2012, 02:58:57 AM
 #3

I have 16 connections at present and am downloading blocks off the main network. I have noticed what appears to be my copy of Bitcoin receiving the same blocks multiple times in the logs:


This is generally a known behaviour. What happens is that you are doing the initial block download forward, and then a new block happens on the network and you try to connect it (backwards) to your chain... so you start pulling  and pulling and before you make it all the way back there is a new block on the network.. and you sweep over them.

IIRC it's not actually downloading them twice, but they show up in invs and you note you already have them and don't getdata them.
 
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!