You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ravencoin asset layer was unusable at activation due to a bug in src/policy/policy.cpp
Can you reliably reproduce the issue?
Try to issue an asset on November 5th using 2.1.1
Expected behaviour
The transaction to issue an asset should be accepted by the node.
Actual behaviour
The transaction was rejected with: "Invalid: Error: The transaction was rejected! Reason given: dust"
What version of Raven core are you using?
2.1.1
Any extra information that might be useful in the debugging process.
At 14:08:10 UTC on November 5th, 2018 block 435456 was mined and the asset layer activated. Users immediately began issuing transactions to create assets, and all the issuances were rejected by the coin daemon with the error: "Invalid: Error: The transaction was rejected! Reason given: dust"
At 14:11 UTC I discovered and then posted to the Ravencoin discord channel #development that the problem is in the src/policy/policy.cpp code snippet: txout.nValue < GetDustThreshold(txout, dustRelayFeeIn)
I added the fix to my own nodes and confirmed that it resolved the issue (at least, for my node). I could now issue assets and those transactions were accepted into my own memory pool, but the other nodes on the network were rejecting the transaction because, of course, the bug was still present in their system.
Since I run the MinerMore mining pool which at the time had about 3% of the net hash, I applied my fix to the pool's node and submitted a transaction on the pool node to issue the asset VOTE. As expected, the node accepted the transaction into its memory pool, and it sent the work to the miners of my pool.
At 15:18 UTC a miner of my pool successfully found the solution that allowed our block to be generated, and it was successfully submitted into the network and the VOTE asset became the first successfully registered asset on the network.
At 15:26 UTC blondfrogs contacted me via direct message on discord, and we began a back and forth as we went through all the details of what happened. He applied the fix to a branch and released it at 15:44 UTC. That fix worked but took us a long time to confirm because everyone's wallet.dat was poisoned with these failed transactions. This began the long process of zapping everyone's transactions and reindexing their chain. Once people got a clean mempool locally, and were running blondfrogs' new release, they were then able to finally issue assets. The flood gates opened shortly thereafter and assets were flowing as expected.
As an addendum, please take special note that blondfrogs acted quickly and skillfully at getting this fix put together and published to github for the Ravencoin users, at a time that was very early in the morning for him. He demonstrated that he is a particularly valuable asset (pardon the pun) to the Ravencoin community.
Any bounty reward for finding, publishing and assisting with fixing this fatal bug can be sent to my Ravencoin address: RTraysiSLhXq6QSWHwHMh4E4BEpqEJLbce
The text was updated successfully, but these errors were encountered:
Describe the issue
Ravencoin asset layer was unusable at activation due to a bug in src/policy/policy.cpp
Can you reliably reproduce the issue?
Try to issue an asset on November 5th using 2.1.1
Expected behaviour
The transaction to issue an asset should be accepted by the node.
Actual behaviour
The transaction was rejected with: "Invalid: Error: The transaction was rejected! Reason given: dust"
What version of Raven core are you using?
2.1.1
Any extra information that might be useful in the debugging process.
At 14:08:10 UTC on November 5th, 2018 block 435456 was mined and the asset layer activated. Users immediately began issuing transactions to create assets, and all the issuances were rejected by the coin daemon with the error: "Invalid: Error: The transaction was rejected! Reason given: dust"
At 14:11 UTC I discovered and then posted to the Ravencoin discord channel #development that the problem is in the src/policy/policy.cpp code snippet:
txout.nValue < GetDustThreshold(txout, dustRelayFeeIn)
I added the fix to my own nodes and confirmed that it resolved the issue (at least, for my node). I could now issue assets and those transactions were accepted into my own memory pool, but the other nodes on the network were rejecting the transaction because, of course, the bug was still present in their system.
Since I run the MinerMore mining pool which at the time had about 3% of the net hash, I applied my fix to the pool's node and submitted a transaction on the pool node to issue the asset VOTE. As expected, the node accepted the transaction into its memory pool, and it sent the work to the miners of my pool.
At 15:18 UTC a miner of my pool successfully found the solution that allowed our block to be generated, and it was successfully submitted into the network and the VOTE asset became the first successfully registered asset on the network.
At 15:26 UTC blondfrogs contacted me via direct message on discord, and we began a back and forth as we went through all the details of what happened. He applied the fix to a branch and released it at 15:44 UTC. That fix worked but took us a long time to confirm because everyone's wallet.dat was poisoned with these failed transactions. This began the long process of zapping everyone's transactions and reindexing their chain. Once people got a clean mempool locally, and were running blondfrogs' new release, they were then able to finally issue assets. The flood gates opened shortly thereafter and assets were flowing as expected.
As an addendum, please take special note that blondfrogs acted quickly and skillfully at getting this fix put together and published to github for the Ravencoin users, at a time that was very early in the morning for him. He demonstrated that he is a particularly valuable asset (pardon the pun) to the Ravencoin community.
Any bounty reward for finding, publishing and assisting with fixing this fatal bug can be sent to my Ravencoin address: RTraysiSLhXq6QSWHwHMh4E4BEpqEJLbce
The text was updated successfully, but these errors were encountered: