DigiByte-Core / digibyte

DigiByte Core 7.17.3 - CURRENT (5-12-2021) - 8.22.0 Development
https://digibyte.org
MIT License
93 stars 58 forks source link

8.22.0-RCx crashes after receiving large number of transactions #164

Open beggsdl opened 5 months ago

beggsdl commented 5 months ago

Setup (solo cpu mining against each of these testnet nodes): NodeA:

NodeB:

NodeC:

NodeD:

Solo mining against testnet core NodeA with a wallet (walletA) setup. This core node is configured for mining scrypt. I have 2 other testnet nodes currently configured for mining sha256 and quibit. All coinbase transactions are directed to walletA. This wallet (walletA) has several addresses for it to receive coinbase txs from solo mining scrypt, sha256, and qubit (some from odo and skein also). With walletA, after some period of time (typically about once per day, with coinbase txs from 3 algos going to this wallet), the node will crash. The following messages are visible in debug.log:

2024-01-23T19:01:14Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T19:01:14Z [default wallet] AddToWallet 4fbb983400c7e30593bc4acc6c5276d46db104b492e70658168b0f3012b9356f  new
2024-01-23T19:01:26Z UpdateTip: new best=6658d6b3626a4ff59b42f5918833d92f564c919d2818c76855b0586b7d97cbaa height=2541225 version=0x20000e02 algo=7 (odo) log2_work=50.940828 tx=2834251 date='2024-01-23T19:01:24Z' progress=1.000000 cache=1.1MiB(8307txo)
2024-01-23T19:01:26Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-23T19:01:26Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T19:02:06Z UpdateTip: new best=00000002153afe72e2dc261b131e88e96fb129b08e682c3601c28e1c4c937c63 height=2541226 version=0x20000202 algo=0 (sha256d) log2_work=50.940829 tx=2834252 date='2024-01-23T19:01:24Z' progress=1.000000 cache=1.1MiB(8308txo)
2024-01-23T19:02:06Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-23T19:02:06Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T19:02:06Z [default wallet] AddToWallet 2899af90a9c803dd91c17f1e4f004b83576e71428524e5bbec2548638a491fbb  new
2024-01-23T19:02:17Z UpdateTip: new best=bd6f5e44fbfd589c4097f932b9912d245c8fd2886f494805e04b858f9bcb305b height=2541227 version=0x20000002 algo=1 (scrypt) log2_work=50.94083 tx=2834253 date='2024-01-23T19:02:06Z' progress=1.000000 cache=1.1MiB(8309txo)
2024-01-23T19:02:17Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-23T19:02:17Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T19:02:17Z [default wallet] AddToWallet db29e48a4aa1532cac698ead09d9b645d518a08691f32ca615c344bc104e4d91  new
2024-01-23T19:02:17Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The operation completed successfully.)
2024-01-23T19:02:17Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The operation completed successfully.)
2024-01-23T19:02:17Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The operation completed successfully.)
2024-01-23T19:03:09Z Potential stale tip detected, will try using extra outbound peer (last tip update: 52 seconds ago)
2024-01-23T19:03:14Z UpdateTip: new best=99ba65cda6a9cda2fed596a6fd5210e117525cafda0ec78d8ed62f0ac12aeea8 height=2541228 version=0x20000002 algo=1 (scrypt) log2_work=50.940831 tx=2834254 date='2024-01-23T19:02:17Z' progress=0.999999 cache=1.1MiB(8310txo)
2024-01-23T19:03:14Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-23T19:03:14Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T19:03:14Z [default wallet] AddToWallet 36ca0f3c05d067e3a2a8691ca728995b1f09b29c07f8a99409ea50fe32e86df2  new
2024-01-23T19:03:15Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The operation completed successfully.)
2024-01-23T19:03:15Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The operation completed successfully.)
2024-01-23T19:03:15Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T19:03:15Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T19:03:22Z UpdateTip: new best=00000002ed909e1d01ad98f4e73ef584ed1a76f4fa5fd37a0c79c5bf4064d41b height=2541229 version=0x20000202 algo=0 (sha256d) log2_work=50.940832 tx=2834255 date='2024-01-23T19:03:13Z' progress=1.000000 cache=1.1MiB(8311txo)
2024-01-23T19:03:22Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-23T19:03:22Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T19:03:22Z [default wallet] AddToWallet faddcbef6e8c40c3093185ab78b23c4ab700af5a58ba3c09ee96959bbdc4d2b6  new
2024-01-23T19:03:22Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T19:03:22Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T19:03:22Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T19:03:22Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T19:03:39Z UpdateTip: new best=29918161772db92c7ba9743f14e83f4064fa61b07774d64b525d9a3c6a7b5574 height=2541230 version=0x20000e02 algo=7 (odo) log2_work=50.940833 tx=2834256 date='2024-01-23T19:03:36Z' progress=1.000000 cache=1.1MiB(8312txo)
2024-01-23T19:03:39Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.

*************** QPixmap::fromWinHICON() messages keep repeating ***************

2024-01-23T21:49:24Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T21:49:24Z [default wallet] AddToWallet 0750dfd6ff5782148903c87e387475eac4f38207d629bb5f851535de8b275752  new
2024-01-23T21:49:24Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:49:24Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:49:24Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:49:24Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:49:41Z UpdateTip: new best=ec8759b26e6a22fad446f88ff2d8cb33b2b83774069c5e241f46cc9144c92d09 height=2541766 version=0x20000802 algo=4 (qubit) log2_work=50.941254 tx=2834792 date='2024-01-23T21:49:39Z' progress=1.000000 cache=1.2MiB(8848txo)
2024-01-23T21:49:41Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-23T21:49:41Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T21:49:41Z [default wallet] AddToWallet 9063ba1e0d420ae4db026f42e127d22269e10d0cba7c8540f0b211d42189a454  new
2024-01-23T21:49:42Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:49:42Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:49:42Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:49:42Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:50:25Z UpdateTip: new best=58ff7dcd3f9f987bb3e8f5e41b7f2a59526704bda0976293f1e30653a41fbb87 height=2541767 version=0x20000802 algo=4 (qubit) log2_work=50.941255 tx=2834793 date='2024-01-23T21:50:22Z' progress=1.000000 cache=1.2MiB(8849txo)
2024-01-23T21:50:25Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-23T21:50:25Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-23T21:50:25Z [default wallet] AddToWallet 425f77d8dc7d373334fa12a8b5ce11c62615c2300c43d634547b711aaedaa21e  new
2024-01-23T21:50:25Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:50:25Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:50:25Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-23T21:50:25Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:50:45Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-23T21:51:08Z GUI: createDIB: CreateDIBSection failed (182x1, format: 6)

Changing the algo mining against NodeA does not impact the result. I still get the same result of NodeA crashing about 1 time per day.

I then changed the sha256 coinbase txs (mining against NodeB) to be directed to walletB on NodeB to see if NodeB would also crash at some point. NodeB did crash. It took a bit longer to do so, maybe because there were coinbase txs from only one algo going to it. The log is basically the same as above, except some different messages at the very end:

2024-01-26T16:21:56Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T16:21:56Z [default wallet] AddToWallet 3f0d4d355e5fc118e50683332e678bdad2a2f18c328b3d88b4252ae2c9762aa2  new
2024-01-26T16:22:02Z UpdateTip: new best=02db4f324238ed0a6945815423ca8f13fa9925e8a0bdcd40fbe5df542266ff3e height=2554811 version=0x20000802 algo=4 (qubit) log2_work=50.951346 tx=2847838 date='2024-01-26T16:21:59Z' progress=1.000000 cache=0.4MiB(2608txo)
2024-01-26T16:22:02Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T16:22:02Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T16:22:47Z UpdateTip: new best=2b689835e6501c62496a1aad71648b5a59952486d29f556de601bff8d5de44e3 height=2554812 version=0x20000802 algo=4 (qubit) log2_work=50.951347 tx=2847839 date='2024-01-26T16:22:48Z' progress=1.000000 cache=0.4MiB(2609txo)
2024-01-26T16:22:47Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T16:22:47Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T16:23:22Z UpdateTip: new best=0000000189bc6e3f7d13c3c704218418edbc091e43e87da301e710dde32d7093 height=2554813 version=0x20000202 algo=0 (sha256d) log2_work=50.951348 tx=2847840 date='2024-01-26T16:22:47Z' progress=1.000000 cache=0.4MiB(2610txo)
2024-01-26T16:23:22Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T16:23:22Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T16:23:22Z [default wallet] AddToWallet 6b95cadb096decadf69edb5ab53b89013e86e9d59a0969cc693cc06c784cc451  new
2024-01-26T16:23:22Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The operation completed successfully.)
2024-01-26T16:23:22Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The operation completed successfully.)
2024-01-26T16:23:22Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The operation completed successfully.)
2024-01-26T16:24:11Z UpdateTip: new best=000000040ae24784c1d0362769917f4d4458093e3dc42be3e991fc861923e94d height=2554814 version=0x20000202 algo=0 (sha256d) log2_work=50.951349 tx=2847841 date='2024-01-26T16:23:22Z' progress=1.000000 cache=0.4MiB(2611txo)
2024-01-26T16:24:11Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T16:24:11Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T16:24:11Z [default wallet] AddToWallet 6bf6ff3c4a2477fc3c5cc63bc5389240b79b75ac27edf17cc2dce316f462eff9  new
2024-01-26T16:24:11Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The operation completed successfully.)
2024-01-26T16:24:11Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The operation completed successfully.)
2024-01-26T16:24:11Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-26T16:24:11Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-26T16:24:13Z UpdateTip: new best=d21dfbd0d2fcc9a5a6d0ed6117db6680182b0fa0b861d673fd144a2b53e708ee height=2554815 version=0x20000002 algo=1 (scrypt) log2_work=50.951349 tx=2847842 date='2024-01-26T16:24:12Z' progress=1.000000 cache=0.4MiB(2612txo)
2024-01-26T16:24:13Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.

*************** QPixmap::fromWinHICON() messages keep repeating ***************

024-01-26T23:12:54Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T23:12:58Z UpdateTip: new best=423092b4976821b9f5d464214ea4a0cc2110f9a6ee3ed0ec859441202ddd8df7 height=2556156 version=0x20000e02 algo=7 (odo) log2_work=50.952419 tx=2849183 date='2024-01-26T23:12:59Z' progress=1.000000 cache=0.5MiB(3956txo)
2024-01-26T23:12:58Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T23:12:58Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T23:13:31Z UpdateTip: new best=0000000221d69623b36b8aff1e71eb725fcf813747322114dfb744e0ac5c91f8 height=2556157 version=0x20000202 algo=0 (sha256d) log2_work=50.95242 tx=2849184 date='2024-01-26T23:12:58Z' progress=1.000000 cache=0.5MiB(3957txo)
2024-01-26T23:13:31Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T23:13:31Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T23:13:31Z [default wallet] AddToWallet 19a311fc939d1ef5e6c5a4eb3d5631994cf1fbd9111bfd3a06d28f3a1dbdce4f  new
2024-01-26T23:13:31Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-26T23:13:31Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-26T23:13:31Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-26T23:13:31Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-26T23:14:22Z UpdateTip: new best=7f6af197656e5c7b857b4011f39d3f4074fe7837dd47448c66e1e3c595bd4cb4 height=2556158 version=0x20000002 algo=1 (scrypt) log2_work=50.952421 tx=2849185 date='2024-01-26T23:13:32Z' progress=1.000000 cache=0.5MiB(3958txo)
2024-01-26T23:14:22Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T23:14:22Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T23:14:37Z UpdateTip: new best=00000001fad9fe88d22f53b9c60041a9178525ca98fc3415318a4aaae68cee37 height=2556159 version=0x20000202 algo=0 (sha256d) log2_work=50.952422 tx=2849186 date='2024-01-26T23:14:22Z' progress=1.000000 cache=0.5MiB(3959txo)
2024-01-26T23:14:37Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T23:14:37Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T23:14:37Z [default wallet] AddToWallet 364eb9386f83cbe88a03941e8bc5730a3106fe8fe5060105daa8f616b5b00c0b  new
2024-01-26T23:14:37Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-26T23:14:37Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-26T23:14:37Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-26T23:14:37Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-26T23:14:46Z UpdateTip: new best=2f6ccbf879050f2575c47112d0923a4fbbf81019b88165d61f50fa49f66bc4d4 height=2556160 version=0x20000e02 algo=7 (odo) log2_work=50.952423 tx=2849187 date='2024-01-26T23:14:45Z' progress=1.000000 cache=0.5MiB(3960txo)
2024-01-26T23:14:46Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-26T23:14:46Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 400
2024-01-26T23:14:48Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:49Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:49Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:49Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:49Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:50Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:50Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:50Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:50Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:50Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:50Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:50Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:51Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:51Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-26T23:14:52Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-26T23:14:52Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-26T23:14:52Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-26T23:14:52Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-26T23:14:52Z GUI: createDIB: CreateDIBSection failed (182x19, format: 6)

My next test was to direct all coinbase txs to walletD on NodeD instead of to a wallet on a node being mined against. NodeD was NOT being mined against. It was only receiving coinbase txs from the three solo miners. I moved the wallet.dat file from the NodeA folder to the NodeD folder, so the wallet receiving all the coinbase txs had the same addresses and all the previous coinbase txs. NodeA was still being mined against, but now did not have a wallet configured. After running like this for about 24 hours, NodeD crashed:

2024-01-29T08:21:14Z [test] AddToWallet 0ccab627f963adca3d488b1e092d024d2c9a7d3ce36f85ac2f842428e2e69825  new
2024-01-29T08:21:27Z UpdateTip: new best=0000000536cbecb8608537345743e4471d124905635d882f25999f3d28b75495 height=2567337 version=0x20000202 algo=0 (sha256d) log2_work=50.961692 tx=2860364 date='2024-01-29T08:21:16Z' progress=1.000000 cache=0.5MiB(4167txo)
2024-01-29T08:21:27Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T08:21:27Z [test] AddToWallet 58de48078268d6bc246c3e35e5aca46741a250e2bf0213f0c8e78f63b0523495  new
2024-01-29T08:21:46Z UpdateTip: new best=065b3a0f94e2b28b8d43149bc00f24441f9be3868f7e8540d1902a73908225be height=2567338 version=0x20000e02 algo=7 (odo) log2_work=50.961693 tx=2860365 date='2024-01-29T08:21:45Z' progress=1.000000 cache=0.5MiB(4168txo)
2024-01-29T08:21:46Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T08:21:48Z UpdateTip: new best=30c18cbc545ebc6e38b42b3530c16fad437046d7ac7d6aab1ce6374a861fb7d2 height=2567339 version=0x20000602 algo=3 (skein) log2_work=50.961694 tx=2860366 date='2024-01-29T08:21:47Z' progress=1.000000 cache=0.5MiB(4169txo)
2024-01-29T08:21:48Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T08:21:48Z [test] AddToWallet e5c4c620d25559c1c41182495044a104a9351afcbd1672373265cc66bad7f8fe  new
2024-01-29T08:21:48Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The operation completed successfully.)
2024-01-29T08:21:48Z GUI: getDiBits: GetDIBits() failed to get bitmap bits. (The parameter is incorrect.)
2024-01-29T08:21:48Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The operation completed successfully.)
2024-01-29T08:21:55Z UpdateTip: new best=97a47ab9db5938dc333b9be36c58443167ba044c47b0b38b39508e9b9d629f80 height=2567340 version=0x20000e02 algo=7 (odo) log2_work=50.961695 tx=2860367 date='2024-01-29T08:21:51Z' progress=1.000000 cache=0.5MiB(4170txo)
2024-01-29T08:21:55Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T08:22:00Z UpdateTip: new best=9af59eae4ee9c0b539c1c96ba4d42c3d9b41b1604fa577d7c9ff6a83acfead15 height=2567341 version=0x20000602 algo=3 (skein) log2_work=50.961695 tx=2860368 date='2024-01-29T08:21:57Z' progress=1.000000 cache=0.5MiB(4171txo)
2024-01-29T08:22:00Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T08:22:00Z [test] AddToWallet 66da604f6bc746587d4d8514b5001fb97b761970bdc9bd20a794238df8cdf84d  new
2024-01-29T08:22:00Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The operation completed successfully.)
2024-01-29T08:22:00Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T08:22:00Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T08:22:00Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T08:22:02Z UpdateTip: new best=00000002a055f9df4568b6af98a813e162b75f739e43755520c2a883725d121f height=2567342 version=0x20000202 algo=0 (sha256d) log2_work=50.961696 tx=2860369 date='2024-01-29T08:22:02Z' progress=1.000000 cache=0.5MiB(4172txo)
2024-01-29T08:22:02Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T08:22:02Z [test] AddToWallet 73e541a134bdc61da0b0b9b7cac8c203822b27e6feda614cd5301a09cee25b09  new
2024-01-29T08:22:03Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T08:22:03Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T08:22:03Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T08:22:03Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T08:22:05Z UpdateTip: new best=0000000610f306e48b4bdab842099c7d4ab9c941eba905d83347198f40ea7980 height=2567343 version=0x20000202 algo=0 (sha256d) log2_work=50.961697 tx=2860370 date='2024-01-29T08:22:03Z' progress=1.000000 cache=0.5MiB(4173txo)
2024-01-29T08:22:05Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.

*************** QPixmap::fromWinHICON() messages keep repeating ***************

2024-01-29T10:38:14Z [test] AddToWallet 5a5becbf62c1a8aebbcda8660c8ba15913297adc3869533dd3133babd914f403  new
2024-01-29T10:38:14Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:14Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:14Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:14Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:38:29Z UpdateTip: new best=ad4fc4b048465b5ea42f1a32e302ab91be13a704f6c620ee4a027bde74d40064 height=2567785 version=0x20000e02 algo=7 (odo) log2_work=50.9622 tx=2860812 date='2024-01-29T10:38:26Z' progress=1.000000 cache=0.6MiB(4615txo)
2024-01-29T10:38:29Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T10:38:44Z UpdateTip: new best=000000020c7834a48a400233aa43bf949b9663fbd8e635bf9d89e8658aaaeb6b height=2567786 version=0x20000202 algo=0 (sha256d) log2_work=50.962201 tx=2860813 date='2024-01-29T10:38:30Z' progress=1.000000 cache=0.6MiB(4616txo)
2024-01-29T10:38:44Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T10:38:44Z [test] AddToWallet 20b519a38aef46b62540400053a6bdb992e0a06fcc5078a9b7a40b09f6da2b6e  new
2024-01-29T10:38:44Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:44Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:44Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:44Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:38:50Z UpdateTip: new best=0000000188c99dad1439cd63c6ef9c621c309d97256431fa098f5f2e2ba7c666 height=2567787 version=0x20000202 algo=0 (sha256d) log2_work=50.962202 tx=2860814 date='2024-01-29T10:38:46Z' progress=1.000000 cache=0.6MiB(4617txo)
2024-01-29T10:38:50Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-29T10:38:50Z [test] AddToWallet 3dbc5374e9dfd95e90cad1f8b927f565f1ab26c716f7cead71a4f403dfadc58a  new
2024-01-29T10:38:50Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:50Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:50Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-29T10:38:50Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:00Z GUI: flush: GetDC failed (The operation completed successfully.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: qt_imageToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-29T10:39:06Z GUI: createDIB: CreateDIBSection failed (182x1, format: 6)

My conclusion is a core wallet that is open/running and receiving lots of transactions will eventually crash. If this core wallet is being mined against, mining will obviously stop when it crashes. The crashing from receiving lots of transactions does not seem to be impacted at all by mining against that core node or not.

The only test I have not yet completed is to direct all coinbase txs to the 7.17.3 node to see if it will also crash. I am currently doing this test and update with the result.

Jongjan88 commented 5 months ago

CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain. Chain state database corruption likely.

forked testnet chain: 2754930 Testnet chain: 2570156

After 185,000 blocks we need to update the seeder GetRequireHeight to 2,760,000 https://github.com/DigiByte-Core/digibyte-seeder/blob/d75ea2c5796b823098a34d48af605177693d5047/db.h#L21

JaredTate commented 5 months ago

Thanks for discovering this, and testing like this. Definitely worth checking out. My initial hunch is this might be an issue specific to testnet if all the nodes on our current testnet have not been updated with many of the recent fixes we made. Could be competing forks causing issues here and DB corruption.

CheckForkWarningConditions is a big clue here. We should not be getting "Found invalid chain"... this is leading to "Chain state database corruption likely." Looks like that's how its crashing 2024-01-29T10:38:29Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain. Chain state database corruption likely.

2024-01-29T10:39:06Z GUI: createDIB: CreateDIBSection failed (182x1, format: 6)

CheckForkWarningConditions is defined here: https://github.com/DigiByte-Core/digibyte/blob/e8247b0d596a443eb75f7bd6a9760534970eb25d/src/validation.cpp#L1366-L1383

Did you compile the node you are getting these logs from with the debug flag? For more verbose logs?

./configure --enable-debug

Also have you tried something like LLDB (macOS debugger) to debug this? Or GDB on linux

beggsdl commented 5 months ago

Let me clarify what "large number of transactions" means. I am talking about 3000 or more. On the one node, I think I counted just over 3000 coinbase txs that had gone to that node when it crashed. My other node was probably similar.

@JaredTate As for the debug flag, no. The version that I am running with the maturity fixes was given to me by @Jongjan88. The other nodes are just running RC2.

I do see there are still at least a few testnet nodes running on the forked chain.

To be honest, I don't even know what LLDB and GDB are, so no, I have not tried those.

I imagine in the next 12 hours or so, I should know if this same thing happens in 7.17.3.

beggsdl commented 5 months ago

Thanks to some help from @Jongjan88, we were able to flood my 7.17.3 core wallet with transactions. It did crash, just like the v8 wallet.

2024-01-30T00:47:30Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:47:30Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:47:30Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:47:30Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:47:36Z [default wallet] AddToWallet d0e499372ca353308e9c4cf58f760972f58cb22ec8225f4a7af70d6f4c3dde5e  new
2024-01-30T00:47:36Z [default wallet] AddToWallet d0e499372ca353308e9c4cf58f760972f58cb22ec8225f4a7af70d6f4c3dde5e  
2024-01-30T00:47:36Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:47:36Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:47:36Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:47:36Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:48:01Z block height for reward is 2570592
2024-01-30T00:48:01Z UpdateTip: new best=cfa0831532ddd549b30c3c10ca4851a5313c67138d92e5fff2e3e5e99fc7244a height=2570592 version=0x20000e02 algo=7 (odo) log2_work=50.965048 tx=2866303 date='2024-01-30T00:47:59Z' progress=0.022260 cache=1.8MiB(12765txo)
2024-01-30T00:48:01Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-30T00:48:01Z [default wallet] AddToWallet f3a8ddbcab6c1e1ba4762617e912e0dc41c3d7474ece2474c300626714843d00  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 02628935105b07e701f4f0397aa08c003232c7d37a2cad98ca09ab65fd68d003  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 921578f38dab9b9bd6fa433d38441c940b40a03f65d3f32f39398d9e2f8fa005  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 11b2d6566ed4f8d36a94ad8e03e346f7bf8fa5d857f05c8230cf74ea9e64f708  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 36dfc5fb2eed05c419f1dd6cc4b34d42580814d8b4b91075fffe8427f6d39b0d  update
2024-01-30T00:48:01Z [default wallet] AddToWallet b88a464f27865760de3769e6c9b0baef18db7655398b0f10eaf37106ee32450e  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 64158ab26875b46b897df14c9bb150aa7787a363ca6e4c77f84c83a4e7f12a0f  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 0076bd1b64b6d79e554d3e6f7e4fff0b89e833eaf2ddf7eafd42a4c125107d13  update
2024-01-30T00:48:01Z [default wallet] AddToWallet b098bf976d3b1065aeff20c3d7c14fdd52846deaa9aa37f0ddc527861b28071f  update
2024-01-30T00:48:01Z [default wallet] AddToWallet ca6d4145cb638e9d8ae1e1668c99b2d066209f18fd1484b5f39df38e8c3dbb23  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 88f229fb43ed712ea569901976308b140b0409f66cc686fa804338b4c5a81324  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 5a99902f0fee8d1bedb2850522925980bbd33938f407a2be95af7d8b40d49831  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 0af79451bc427412cc967128a5bd8759bd7465c60712e2619ba83dc99e90dc58  update
2024-01-30T00:48:01Z [default wallet] AddToWallet d0e499372ca353308e9c4cf58f760972f58cb22ec8225f4a7af70d6f4c3dde5e  update
2024-01-30T00:48:01Z [default wallet] AddToWallet a39449143b068f5cd62e809636952ec88c121cbf0942ab59e94c3ca273fcb869  update
2024-01-30T00:48:01Z [default wallet] AddToWallet a4d938ebfbdc3f20e9a1eece875d1ec270200b3693f1974aef2254b8f4c0aa79  update
2024-01-30T00:48:01Z [default wallet] AddToWallet fb4d52da08c9de5441d12c82de91fbd330bfd2562989bc30fa341c637c248682  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 12730ad87ef437efcaec70ccb2e2267a5f3a1af98e831e6a759f7eaa8e19ed8e  update
2024-01-30T00:48:01Z [default wallet] AddToWallet ed1e852622c029a8299775b49534a8b03a33cf08572274988a56db85f1461fa3  update
2024-01-30T00:48:01Z [default wallet] AddToWallet e5cd52c192601daf16b37a456c8deef86f5da55b4f328f92d59412473f74fca5  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 76e158fa942894b8117b347a39f543993c8a2102563aebe8ec22ca9de19282b2  update
2024-01-30T00:48:01Z [default wallet] AddToWallet d1e476a672a4188289b22b922caa8c2c412357b6418fc00ea92f6fe54dcfceb3  update
2024-01-30T00:48:01Z [default wallet] AddToWallet edb94379f66d94bb3e9f9a84fb3ab8b67d625df88a8615082213e5f9b1d4b6bf  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 977c19e7d3e3ba9aac453e19650ac2fdeb805666eab916a1c5f3b7dc4f49f4c2  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 3f07a824339bb583f2ea52098be5c3665f7c9888039ef2c81f8e71dc998fbac6  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 2aa2d41329add10c1d7522c73b64643b88a380eecd76f3fd591e64ec03be70c9  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 3ca536880db9d480b5d552591734f1510891e36582d97a25d0d89bf934f9aacc  update
2024-01-30T00:48:01Z [default wallet] AddToWallet ae73f7a2640511aced76139c13de4b802a516b674f70f18faddf5794578ef8cf  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 5318706b27a1f327c83314c61d124c4d2942e878f12e28418f2fe126323763d5  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 0ee0fe18c61fa832d9e31144e2c5fe7e4687c1eec59c4987d71aa5a22fb9abd9  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 6b560c8d1fec2365b10b50d71efa0de29ea16b73d623ba74fd68993144e0d4ef  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 354c7a073d3ee884016b4d060c8b0390eda4491ca3b80d13caa4d07ec71bccf8  update
2024-01-30T00:48:01Z [default wallet] AddToWallet ca99b1d6a1447c6ed284ac873c9819101be927d6c232fe92d47821c23fab4afd  update
2024-01-30T00:48:01Z [default wallet] AddToWallet 0fe2f04fbe879d5236c1a67bae06c42e0238416cd3c40e21787d226580d641ff  update
2024-01-30T00:48:06Z [default wallet] AddToWallet 7b04bb1b3bb8c855b3c69a22cd9000cc886d55cb33e03af368b31f761d38e879  new
2024-01-30T00:48:06Z [default wallet] AddToWallet 7b04bb1b3bb8c855b3c69a22cd9000cc886d55cb33e03af368b31f761d38e879  
2024-01-30T00:48:06Z [default wallet] AddToWallet 23a99caad85563debf23f88fcf7fafa7904744b87038f047d39d17f4bc3bcc00  new
2024-01-30T00:48:06Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:06Z [default wallet] AddToWallet 23a99caad85563debf23f88fcf7fafa7904744b87038f047d39d17f4bc3bcc00  
2024-01-30T00:48:06Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:06Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:06Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:48:06Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:06Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:06Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:06Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:48:08Z block height for reward is 2570593
2024-01-30T00:48:08Z UpdateTip: new best=e8d2784f15081cd4f24fd49d928036f25a724ec32654837652448be6264ef6a3 height=2570593 version=0x20000802 algo=4 (qubit) log2_work=50.96505 tx=2866304 date='2024-01-30T00:48:04Z' progress=0.022260 cache=1.8MiB(12766txo)
2024-01-30T00:48:08Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-30T00:48:08Z [default wallet] AddToWallet cbd13f8116cc8f29728e565963ff9f39609397187a4a0839ec90d297018c086f  new
2024-01-30T00:48:08Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:08Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:08Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:48:08Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:48:28Z block height for reward is 2570594
2024-01-30T00:48:28Z UpdateTip: new best=aded5a7a021fae53e8433241fa5ca9460c6dfa5355dd6d51979837020803eeb2 height=2570594 version=0x20000e02 algo=7 (odo) log2_work=50.965051 tx=2866307 date='2024-01-30T00:48:26Z' progress=0.022260 cache=1.8MiB(12769txo)
2024-01-30T00:48:28Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-30T00:48:28Z [default wallet] AddToWallet 23a99caad85563debf23f88fcf7fafa7904744b87038f047d39d17f4bc3bcc00  update
2024-01-30T00:48:28Z [default wallet] AddToWallet 7b04bb1b3bb8c855b3c69a22cd9000cc886d55cb33e03af368b31f761d38e879  update
2024-01-30T00:49:07Z block height for reward is 2570595
2024-01-30T00:49:07Z UpdateTip: new best=fb02a794360455f215bbb59fe5162e3ccfcbad26cc455f0009115b2aaf27b6d6 height=2570595 version=0x20000002 algo=1 (scrypt) log2_work=50.965052 tx=2866308 date='2024-01-30T00:48:30Z' progress=0.022260 cache=1.8MiB(12770txo)
2024-01-30T00:49:07Z CheckForkWarningConditions: Warning: Found invalid chain at least ~6 blocks longer than our best chain.
Chain state database corruption likely.
2024-01-30T00:49:07Z [default wallet] AddToWallet 6ee6b25566da4d9756228e0fd5c40e8d3138b68744526bc16f53393a43a65d68  new
2024-01-30T00:49:07Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:49:07Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:49:07Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:49:07Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:49:09Z [default wallet] AddToWallet 804c5cb1b2847df47acae51651d679e1227b963f04993289d4f3408b9f9d047a  new
2024-01-30T00:49:09Z [default wallet] AddToWallet 804c5cb1b2847df47acae51651d679e1227b963f04993289d4f3408b9f9d047a  
2024-01-30T00:49:09Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:49:09Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:49:09Z GUI: QPixmap::fromWinHICON(), failed to GetIconInfo() (The parameter is incorrect.)
2024-01-30T00:49:09Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:49:10Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:49:10Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:49:10Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:49:10Z GUI: qt_pixmapToWinHBITMAP, failed to create dibsection (The parameter is incorrect.)
2024-01-30T00:49:11Z GUI: createDIB: CreateDIBSection failed.
Jongjan88 commented 5 months ago

Screenshot from 2024-01-30 01-51-51

2 transactions per second. Crash after 1869 transactions.

beggsdl commented 5 months ago

Screenshot from 2024-01-30 01-51-51

2 transactions per second. Crash after 1869 transactions.

Mining rewards from mining 3 algos were also going to it for approximately 12 hours before we flooded it with more txs.

JaredTate commented 5 months ago

We are talking about the QT desktop core client crashing here correct? aka the GUI? I have seen the client crash in the past while flooding a desktop GUI client with 1000s of tx's. In both cases, I switched to digibyte-cli on a server via the command line and it handled any use case I threw at it. In those two cases, it was an exchange and a mining pool.

Actually I had the same wallet.dat on a desktop GUI and a server so I could watch it. The desktop crashed but digibyte-cli kept up just fine. Also similar problem when de-dusting 1000s of artifact UTXOs on a mining pool. It memory crashed the desktop GUI but cli was fine.

So my question is how often will a normal end user send 1000s of txs in a few seconds to a desktop GUI? And at what point is it appropriate to use the command line digibyte-cli on a server. Now if this same bug is persistent on a digibyte-cli is definitely something to look much deeper at.

beggsdl commented 5 months ago

You are correct @JaredTate, it is the GUI. I had the same thought that this might not be a practical real-world scenario.

It’s not just 1000’s in a few seconds though. In most of my cases, it was over 1 to 3 days. But again, maybe not a scenario that people would really run into.

JaredTate commented 5 months ago

You are correct @JaredTate, it is the GUI. I had the same thought that this might not be a practical real-world scenario.

It’s not just 1000’s in a few seconds though. In most of my cases, it was over 1 to 3 days. But again, maybe not a scenario that people would really run into.

I would be very curious to see if the same problem persists with digibyte-cli on a server. I doubt it will. My hunch is this is a memory leak error in the QT GUI related to some other crashes we have seen in the past. I have spent some time trying to isolate memory leaks in the QT, which we have a few of them for sure, but its not an easy task to isolate. I think we have some pointers in a few places not properly being closed.

Jongjan88 commented 5 months ago

This time i tested 4000 transactions. 2 per second. Digibyte QT remained stable. During the transactions I also put the GUI to the test. constantly minimized and open. Switch to Information, Console, Network traffic and Peerlist. trying to crash it! DigiByte QT was already running when i start the test for 6 days and receiving transactions from a miner.

I am mining now for more then a month on Testnet. Sometimes with 5 miners at the same time. And send all the coins to one QT wallet. I never had a crash.

System 1: DigiByte QT Dev branch 2024-01-31 ( Sender ) System 2: DigiByte QT Dev branch with pr160 ( Receiver 16gb ram / Debian 12 )

Screenshot from 2024-01-31 21-36-58

Small memory leaks could be the cause. But don't forget the rc2 nodes without the coinbase maturity fix.

gitty https://github.com/DigiByte-Core/digibyte/issues/164#issue-2106570920

beggsdl commented 5 months ago

Now that I look at my NodeB and NodeC again, they are running a version with PR157, so the coin maturity fix was in there. I am going to put the newest version in place and will see if I get the same crash after a day or so.

Jongjan88 commented 5 months ago

corrupt

Our testnet chain is corrupt atm. So this crash will probably not stop till 2024-03-01. I think the best thing we can do with this pr is to leave it open. After 2024-03-01 we can ban/block nodes lower than block 2,754,931 on the testnet chain.

beggsdl commented 5 months ago

I updated the node versions being used in the issue description. None of my nodes were RC2, they all had at least PR157.

167 has not affected this issue at all. I still get the same errors and crash. We are going to wait until next month when the testnet chain is longer than the forked chain to look at this more.

Jongjan88 commented 3 months ago

@beggsdl are you using Descriptor Wallet or Legacy Wallet?

Screenshot from 2024-03-22 12-03-18

https://github.com/DigiByte-Core/digibyte/issues/199#issuecomment-2014853317

beggsdl commented 3 months ago

@beggsdl are you using Descriptor Wallet or Legacy Wallet?

#199 (comment)

It would be legacy because I have never checked the Descriptor checkbox when creating a new wallet.

JaredTate commented 1 month ago

Was this fixed with RC4? Thanks for your feedback