Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catching up... Processed 296176 of 403423284 #4065

Closed
Nd60 opened this issue Apr 16, 2014 · 5 comments
Closed

Catching up... Processed 296176 of 403423284 #4065

Nd60 opened this issue Apr 16, 2014 · 5 comments
Labels

Comments

@Nd60
Copy link

Nd60 commented Apr 16, 2014

I am running Bitcoin Core 0.9.1. I had the blockchain up to date.

Suddenly the following message appears: "Catching up... Processed 296176 of 403423284 " and it stays like that forever. When I restart Bitcoin Core, everything works OK again.

It is the second time that this happens to me in the last 24 hours.

Relevant debug.log:
2014-04-16 17:29:14 ERROR: AcceptToMemoryPool : nonstandard transaction: dust
2014-04-16 17:29:25 ERROR: AcceptToMemoryPool : inputs already spent
2014-04-16 17:31:13 ERROR: AcceptToMemoryPool : nonstandard transaction: dust
2014-04-16 17:31:25 ERROR: AcceptToMemoryPool : inputs already spent
2014-04-16 17:34:16 receive version message: /getaddr.bitnodes.io:0.1/: version 70001, blocks=296175, us=88.0.116.192:8333, them=0.0.0.0:0, peer=88.198.62.174:9366
2014-04-16 17:35:13 receive version message: /getaddr.bitnodes.io:0.1/: version 70001, blocks=296175, us=88.0.116.192:8333, them=0.0.0.0:0, peer=88.198.62.174:17057
2014-04-16 17:35:15 socket recv error 10054
2014-04-16 17:36:40 UpdateTip: new best=000000000000000094e442bf42b8d557548c00419d58a501fc42c411e42005cd height=296176 log2_work=78.018546 tx=36974967 date=2014-04-16 17:35:59 progress=0.999998
2014-04-16 17:36:40 ProcessBlock: ACCEPTED
2014-04-16 17:37:57 receive version message: /Satoshi:0.8.5/: version 70001, blocks=1804588663, us=[::]:8333, them=[::]:8333, peer=5.104.224.42:34829
2014-04-16 17:37:57 Added time data, samples 40, offset +1 (+0 minutes)
2014-04-16 17:37:57 receive version message: /Satoshi:0.8.5/: version 70001, blocks=1596145119, us=[::]:8333, them=[::]:8333, peer=5.104.224.42:35534
2014-04-16 17:38:03 ERROR: CheckTransaction() : duplicate inputs
2014-04-16 17:38:03 ERROR: AcceptToMemoryPool: : CheckTransaction failed
2014-04-16 17:38:03 Misbehaving: 5.104.224.42:35534 (0 -> 100) BAN THRESHOLD EXCEEDED
2014-04-16 17:38:07 connection from 96.47.226.20:36702 dropped (banned)
2014-04-16 17:38:50 receive version message: /getaddr.bitnodes.io:0.1/: version 70001, blocks=296176, us=88.0.116.192:8333, them=0.0.0.0:0, peer=88.198.62.174:63699
2014-04-16 17:38:53 ERROR: CheckTransaction() : duplicate inputs
2014-04-16 17:38:53 ERROR: AcceptToMemoryPool: : CheckTransaction failed
2014-04-16 17:38:53 Misbehaving: 5.104.224.42:34829 (0 -> 100) BAN THRESHOLD EXCEEDED
2014-04-16 17:39:00 socket recv error 10054
2014-04-16 17:39:14 receive version message: /Satoshi:0.8.5/: version 70001, blocks=2018600785, us=[::]:8333, them=[::]:8333, peer=85.114.142.168:50558
2014-04-16 17:39:14 Added time data, samples 41, offset -12 (+0 minutes)
2014-04-16 17:39:14 nTimeOffset = +6 (+0 minutes)
2014-04-16 17:39:35 ERROR: CheckTransaction() : duplicate inputs
2014-04-16 17:39:35 ERROR: AcceptToMemoryPool: : CheckTransaction failed
2014-04-16 17:39:35 Misbehaving: 85.114.142.168:50558 (0 -> 100) BAN THRESHOLD EXCEEDED
2014-04-16 17:39:44 receive version message: /Satoshi:0.8.5/: version 70001, blocks=806550393, us=[::]:8333, them=[::]:8333, peer=109.163.234.13:62707
2014-04-16 17:39:44 Added time data, samples 42, offset -7 (+0 minutes)
2014-04-16 17:40:03 ERROR: AcceptToMemoryPool : nonstandard transaction: dust
2014-04-16 17:42:01 ERROR: AcceptToMemoryPool : nonstandard transaction: dust
2014-04-16 17:42:09 receive version message: /bitcoinseeder:0.01/: version 60000, blocks=230000, us=88.0.116.192:8333, them=0.0.0.0:0, peer=193.109.128.159:59739
2014-04-16 17:43:47 ResendWalletTransactions()
2014-04-16 17:44:01 ERROR: AcceptToMemoryPool : nonstandard transaction: dust
2014-04-16 17:44:46 receive version message: /Satoshi:0.8.6/: version 70001, blocks=296102, us=88.0.116.192:8333, them=37.157.220.12:8333, peer=37.157.220.12:8344

bug

@laanwj
Copy link
Member

laanwj commented Apr 16, 2014

Looks like you have an large number of misbehaving peers that pretend that they have a crazy amount of blocks. The 'total amount of blocks of peers' is estimated using a median filter, so if there are enough sending invalid values, they can make the GUI show an invalid value.

Note that this will give a purely visual error, it will not affect the actual syncing process.

It is a bit worrying though that there are people going to these heights to make an invalid value appear...

@Diapolo
Copy link

Diapolo commented Apr 17, 2014

I rememeber I had observed this problem once a few months ago, but we decided nothing should/could be done AFAIR.

@laanwj
Copy link
Member

laanwj commented Apr 17, 2014

We could compute the likeliness - modelling block generation as a Poisson process - of the claimed number of blocks, based on the time since the genesis block (or - the current head of the active chain).

If this is less likely than, say 0.01%, we could ignore it. This doesn't prevent nodes from lying, but it does constrain them to more realistic values.

Edit: hmm... I must be doing something wrong; given the average timespan of 10 minutes there would be 277866 blocks, but there are 296293. In a pure Poisson process a deviation this large would be extremely unlikely. My naive idea above would get every peer's claim rejected. But it must still be possible to put some realistic bound.

@laanwj
Copy link
Member

laanwj commented May 6, 2014

Yesterday on IRC we had a discussion about this and it was decided to remove the 'number of blocks of peers' display completely.
It is unreliable information and not needed for progress reporting - the progress estimate based on block times is used for that.

laanwj added a commit to laanwj/bitcoin that referenced this issue May 6, 2014
Generally useless information. Only updates on connect time, not after
that. Peers can easily lie and the median filter is not effective in
preventing that.

In the past it was used for progress display in the GUI but
`CheckPoints::guessVerificationProgress` provides a better way that is now used.
It was too easy to mislead it. Peers do lie about it in practice, see issue bitcoin#4065.

From the RPC, `getpeerinfo` gives the peer raw values, which are more
useful.
@laanwj
Copy link
Member

laanwj commented May 13, 2014

Closing, this has been removed in master.

@laanwj laanwj closed this as completed May 13, 2014
laanwj added a commit that referenced this issue Jul 4, 2014
Generally useless information. Only updates on connect time, not after
that. Peers can easily lie and the median filter is not effective in
preventing that.

In the past it was used for progress display in the GUI but
`CheckPoints::guessVerificationProgress` provides a better way that is now used.
It was too easy to mislead it. Peers do lie about it in practice, see issue #4065.

From the RPC, `getpeerinfo` gives the peer raw values, which are more
useful.
MathyV pushed a commit to reddcoin-project/reddcoin-3.10 that referenced this issue Oct 27, 2014
Generally useless information. Only updates on connect time, not after
that. Peers can easily lie and the median filter is not effective in
preventing that.

In the past it was used for progress display in the GUI but
`CheckPoints::guessVerificationProgress` provides a better way that is now used.
It was too easy to mislead it. Peers do lie about it in practice, see issue bitcoin#4065.

From the RPC, `getpeerinfo` gives the peer raw values, which are more
useful.

Conflicts:
	src/main.cpp
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
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

3 participants