mining-proxy
mining-proxy copied to clipboard
Bitcoind stopped responding work protocol.
Seems after the bitcoind ran for some time(maybe several days), it stopped to respond to work protocol.
The proxy established the work connection to bitcoind, and proposed supported protocol version, then got no response and no block templates got received. Several days ago it's working good as i remember.
Can you run it in gdb and do a "thread all apply bt" the next time it happens? I haven't seen this one (though there is a semi-harmless bug I haven't fixed yet where it will sometimes peg a CPU core after a disconnect).
Hi Matt,
I tried to run the bitcoind in gdb with thread apply all bt
, the issue will occur after one proxy instance disconnected from bitcoind, then it kinda hang there for some time. I didn't get any backtrace, or i need to make a debug build of it first?
Also, there's no limit on how many work clients are connected with bitcoind, right?
2018-07-25T09:17:01Z Pre-allocating up to position 0x400000 in rev00094.dat
2018-07-25T09:17:01Z UpdateTip: new best=000000000000003c8688739db4b510152014148b77dd07bc1fe0d9fc19c6df44 height=1354830 version=0x20000000 log2_work=70.809545 tx=20039097 date='2018-07-21T14:35:31Z' progress=0.998536 cache=0.6MiB(4741txo) warning='4 of last 100 blocks have unexpected version'
2018-07-25T09:17:02Z UpdateTip: new best=00000000bc66810491656845ef1d5d614436de99fc282f82ac5ab01ab5781ec3 height=1354831 version=0x20000000 log2_work=70.809545 tx=20042560 date='2018-07-21T14:55:33Z' progress=0.998541 cache=0.7MiB(4848txo) warning='4 of last 100 blocks have unexpected version'
2018-07-25T09:17:03Z UpdateTip: new best=000000000000002dc55839bba81d154c579b3475c09334670091307336e9ba34 height=1354832 version=0x20000000 log2_work=70.80972 tx=20042883 date='2018-07-21T14:56:58Z' progress=0.998542 cache=0.7MiB(4860txo) warning='4 of last 100 blocks have unexpected version'
2018-07-25T09:17:04Z UpdateTip: new best=000000000001798dac63c6fa5c9d5cdcec6bc660ea7338b30bfcb62d123b15df height=1354833 version=0x20000000 log2_work=70.80972 tx=20046410 date='2018-07-21T15:17:06Z' progress=0.998547 cache=0.7MiB(4892txo) warning='4 of last 100 blocks have unexpected version'
2018-07-25T09:17:05Z CreateNewBlock(): block weight: 3720 txs: 3 fees: 90587 sigops 412
2018-07-25T09:30:10Z socket recv error Connection reset by peer (104)
2018-07-25T09:36:09Z ping timeout: 1200.033835s
2018-07-25T09:36:47Z socket sending timeout: 1201s
2018-07-25T09:36:47Z socket sending timeout: 1201s
2018-07-25T09:36:47Z socket sending timeout: 1201s
2018-07-25T09:36:47Z socket sending timeout: 1201s
2018-07-25T09:36:50Z socket sending timeout: 1201s
2018-07-25T09:43:08Z socket recv error Connection reset by peer (104)```
bitcoind is usually always built with debug symbols, so when it happens you should just need to ^C (which wont kill it as gdb will intercept the signal) and then run thread apply all bt to get the full list of backtraces. I think I have seen this issue before but never managed to reproduce it to debug it, sadly :/.