2

For some reason, it seems I am no longer receiving blockchain information from peers. When I tail the debug log file (e.g. tail -f /path/to/data/debug.log), this is what I see. Note that I have replaced the machine's internal and external IPs with w.x.y.z.

2017-03-22 01:01:45 socket send error Bad file descriptor (9)
2017-03-22 01:01:45 ProcessMessages(version, 102 bytes) FAILED peer=61
2017-03-22 01:03:13 connect() to [2001:0:34ad:4890:20d9:1be6:c114:2db8]:8333 failed: Network is unreachable (101)
2017-03-22 01:06:24 UpdateTip: new best=0000000000000000007e1cab699eba16af94e62c3c58bf8b38cc00793de83b25 height=458332 version=0x20000000 log2_work=86.161702 tx=206837725 date='2017-03-22 01:06:17' progress=1.000000 cache=218.2MiB(140090tx)
2017-03-22 01:12:45 UpdateTip: new best=0000000000000000000e7b4d72abdfbf7d0618627656ceac6ee0f81edcb51001 height=458333 version=0x20000000 log2_work=86.161736 tx=206840788 date='2017-03-22 01:12:22' progress=1.000000 cache=219.0MiB(143564tx)
2017-03-22 01:17:52 connect() to [2a00:23c4:4900:b100:6c09:9ca4:bbcc:50f7]:8333 failed: Network is unreachable (101)
2017-03-22 01:20:02 connect() to [2001:0:d5c:5a30:3828:1853:9c4b:b8f0]:8333 failed: Network is unreachable (101)
2017-03-22 01:22:25 connect() to 139.162.118.32:8333 failed after select(): Connection refused (111)
2017-03-22 01:23:13 connect() to 25.57.176.50:8333 failed after select(): Network is unreachable (101)
2017-03-22 01:23:14 connect() to [2001:0:34ac:b067:3482:d5f:a76c:d681]:8333 failed: Network is unreachable (101)
2017-03-22 01:24:47 AdvertiseLocal: advertising address w.x.y.z:8333
2017-03-22 01:25:41 ProcessMessages: advertising address w.x.y.z:8333
2017-03-22 01:25:41 receive version message: /Satoshi:0.14.0/: version 70015, blocks=458333, us=w.x.y.z:58092, peer=62
2017-03-22 01:25:41 AdvertiseLocal: advertising address w.x.y.z:8333
2017-03-22 01:27:30 connect() to 84.46.6.82:8333 failed after select(): No route to host (113)
2017-03-22 01:31:09 Pre-allocating up to position 0xd00000 in rev00810.dat
2017-03-22 01:31:09 UpdateTip: new best=0000000000000000009438446ed0a3d0a437a38a395d9893ba4b4dfa34b625e0 height=458334 version=0x20000000 log2_work=86.16177 tx=206843152 date='2017-03-22 01:30:11' progress=1.000000 cache=225.5MiB(147484tx)
2017-03-22 01:37:00 connect() to [2001:0:34af:cc99:3835:4ba:b1db:e61b]:8333 failed: Network is unreachable (101)
2017-03-22 01:40:15 connect() to [2601:681:4180:601:342e:58f4:5406:a2f1]:8333 failed: Network is unreachable (101)
2017-03-22 01:41:24 ProcessMessages: advertising address W.X.Y.Z:8333
2017-03-22 01:41:24 receive version message: /Satoshi:0.13.2/: version 70015, blocks=458334, us=W.X.Y.Z:56428, peer=63
2017-03-22 01:41:24 AdvertiseLocal: advertising address W.X.Y.Z:8333
2017-03-22 01:41:24 socket send error Bad file descriptor (9)
2017-03-22 01:44:52 Pre-allocating up to position 0x7000000 in blk00810.dat
2017-03-22 01:44:52 UpdateTip: new best=000000000000000001fcb4f772a0ccb44ae5cdcafb4af8b84546a3448db303a8 height=458335 version=0x20000000 log2_work=86.161804 tx=206845444 date='2017-03-22 01:44:02' progress=1.000000 cache=227.6MiB(151114tx)

When I type in netstat -anp | grep 8333 to see which peer nodes I'm connected to, I see the following.

tcp        0      0 0.0.0.0:8333                0.0.0.0:*                   LISTEN      16899/bitcoind      
tcp        0      0 w.x.y.z:46840          212.59.241.216:8333         ESTABLISHED 16899/bitcoind      
tcp        0      0 w.x.y.z:34346          5.9.94.12:8333              ESTABLISHED 16899/bitcoind      
tcp        0      0 w.x.y.z:54488          88.99.109.181:8333          ESTABLISHED 16899/bitcoind      
tcp        0      0 w.x.y.z:51256          150.95.145.61:8333          ESTABLISHED 16899/bitcoind      
tcp        0      0 w.x.y.z:33368          52.64.15.18:8333            ESTABLISHED 16899/bitcoind      
tcp        0      0 w.x.y.z:45634          213.93.10.185:8333          ESTABLISHED 16899/bitcoind      
tcp        0      0 w.x.y.z:42636          5.189.155.84:8333           ESTABLISHED 16899/bitcoind      
tcp        0      0 w.x.y.z:51966          163.172.55.147:8333         ESTABLISHED 16899/bitcoind      
tcp        0      0 :::8333                     :::*                        LISTEN      16899/bitcoind

When I type in netstat -anp | grep LISTEN I see the following.

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2521/sendmail       
tcp        0      0 w.x.y.z:28322          0.0.0.0:*                   LISTEN      16899/bitcoind      
tcp        0      0 0.0.0.0:50147               0.0.0.0:*                   LISTEN      2301/rpc.statd      
tcp        0      0 w.x.y.z:8332           0.0.0.0:*                   LISTEN      16899/bitcoind      
tcp        0      0 0.0.0.0:8333                0.0.0.0:*                   LISTEN      16899/bitcoind      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2280/rpcbind        
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2491/sshd           
tcp        0      0 :::47559                    :::*                        LISTEN      2301/rpc.statd      
tcp        0      0 :::8333                     :::*                        LISTEN      16899/bitcoind      
tcp        0      0 :::111                      :::*                        LISTEN      2280/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      2491/sshd           
unix  2      [ ACC ]     STREAM     LISTENING     8079   1/init              @/com/ubuntu/upstart
unix  2      [ ACC ]     SEQPACKET  LISTENING     8345   1530/udevd          @/org/kernel/udev/udevd
unix  2      [ ACC ]     STREAM     LISTENING     9945   2280/rpcbind        /var/run/rpcbind.sock
unix  2      [ ACC ]     STREAM     LISTENING     10117  2332/dbus-daemon    /var/run/dbus/system_bus_socket

When I use top to look at the CPU + MEM usage, they are at 3.3% and 24.2%, respectively.

I must say that only port 22 inbound is allowed, and all other ports are blocked. This full-node is sitting in an AWS EC2 instance. But I don't think this setup is really the problem because a while back, I was getting blockchain data.

The way I start the daemon is as follows: bitcoind -datadir=/path/to/data -daemon.

My bitcoin.conf file looks like the following.

rpcpassword=somepassword
rpcbind=w.x.y.z
rpcallowip=w.x.y.z/24
rpcallowip=v.x.y.z/24
zmqpubhashtx=tcp://w.x.y.z:28322
zmqpubhashblock=tcp://w.x.y.z:28322
zmqpubrawblock=tcp://w.x.y.z:28322
zmqpubrawtx=tcp://w.x.y.z:28322
txindex=1

Here's the result for bitcoin-cli getinfo.

{
  "version": 130200,
  "protocolversion": 70015,
  "walletversion": 130000,
  "balance": 0.00000000,
  "blocks": 458338,
  "timeoffset": 0,
  "connections": 8,
  "proxy": "",
  "difficulty": 475705205061.6292,
  "testnet": false,
  "keypoololdest": 1488865612,
  "keypoolsize": 100,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}

A command for checking errors in the log cat /path/to/data/debug.log | grep error shows the following messages.

2017-03-20 11:37:30 socket send error Bad file descriptor (9)
2017-03-21 00:45:39 socket recv error Connection reset by peer (104)
2017-03-21 01:01:24 socket recv error Connection timed out (110)

Any idea on what's wrong?

Should I be allowing more peer connections? I've read in several places that I should NOT be connecting to more than 8 peers (the default) since I am only capturing transaction data and also increasing the peers might take away propagation resources/nodes in the global network.

Could it be the peers that I'm connected to (that they are unreliable)?

Any help is appreciated.

  • I'm not sure what you mean. It looks like you're getting UpdateTip messages, so you're getting new blocks. You've got 458338 blocks, which is pretty close to what you should have. Is there some command or metric that should be working but isn't? – Nick ODell Mar 22 '17 at 3:36
  • I don't see anything abnormal in that debug.log. You're receiving new blocks just fine. – Pieter Wuille Apr 15 '17 at 13:57
2

I had the same error on Ubuntu 16.04.02 running cli bitcoind full node. Read the log eg:

tail -f ~/.bitcoin/debug.log

Where it reads this and exits bitcoind (taken from above) appeared to be due to CRC calculation error

2017-03-20 11:37:30 socket send error Bad file descriptor (9)

2017-03-21 00:45:39 socket recv error Connection reset by peer (104)

2017-03-21 01:01:24 socket recv error Connection timed out (110)

Checked memory by running memtest86 from the ubuntu installer disk or the boot menu and found the RAM to be faulty.

Replaced with new RAM and CRC/checksum values calculated correctly and problem was resolved.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.