wizardsardine / liana

The missing safety net for your coins
https://wizardsardine.com/liana
BSD 3-Clause "New" or "Revised" License
318 stars 56 forks source link

Reog issue w/ electrs backend #1259

Open pythcoiner opened 1 month ago

pythcoiner commented 1 month ago

hitting this after reorgs , while trying to spend a coin : image

edit: here the tx: image

restarted Liana and electrs, the tx looks spent but not updated in liana:

pyth@bitcoin:~$ bitcoin-cli -regtest getrawtransaction fa237c4f53fcd2761f53235596b00b60babb54522e44471a565a6d4370e7da27
02000000000101af6d8720052e98f1ae0dc4299b445198a5ebce8ebb06a5f6ac4968edd4c69a170100000000fdffffff02c517260500000000225120ede721604cdf95735a5b2c6d839f2daef20f73802508e4832a067361182acbc000c2eb0b000000002200208d4910185e9a0b7d7fb7be92d1ad8750f847531e18a9f034c74eeb695a55556f014071086612430beac7f4e2c608b0d2dee7604972654c208bf6a9f0ca2d60a301e60d7e3ab3c2d751d84abfaf4115a3e5bcf1754a2e7867ee9076c068544f96841cd20b0000
pyth@bitcoin:~$ bitcoin-cli -regtest gettxout fa237c4f53fcd2761f53235596b00b60babb54522e44471a565a6d4370e7da27 0
pyth@bitcoin:~$ bitcoin-cli gettxout --help

the psbt:

cHNidP8BAFICAAAAASfa53BDbVpWGkdELlJUu7pgC7CWVSNTH3bS/FNPfCP6AQAAAAD9////AYnB6wsAAAAAFgAU6bh3YV9tGAMroO3Ch4mrBMgd9e7bCwAAAAEAzQIAAAAAAQGvbYcgBS6Y8a4NxCmbRFGYpevOjrsGpfasSWjt1MaaFwEAAAAA/f///wLFFyYFAAAAACJRIO3nIWBM35VzWlssbYOfLa7yD3OAJQjkgyoGc2EYKsvAAMLrCwAAAAAiACCNSRAYXpoLfX+3vpLRrYdQ+EdTHhip8DTHTutpWlVVbwFAcQhmEkML6sf04sYIsNLe52BJcmVMIIv2qfDKLWCjAeYNfjqzwtdR2Eq/r0EVo+W88XVKLnhn7pB2wGhUT5aEHNILAAABASsAwusLAAAAACIAII1JEBhemgt9f7e+ktGth1D4R1MeGKnwNMdO62laVVVvIgICHfCJ+mbUNH0Wka9aMPY5aEJIfUCVAkoEkagXKRKbcF9HMEQCIAizlCXgBcHwPWrXhGKDGLetH78j2vlD4U8kA3nkwVK9AiBAXNQ2n8hr5p0VZeW3ovVGkfkt50M1MOBzs+vjlI+g5AEiAgM9N9LAByJGNpdfQ7jCA/uEhWmxt5RbG9x7VVmCvYeFp0cwRAIgRzd4InThhMmKtoep9kF83cdoaAQyrbumhJZad/M2g2kCIFrtroJmUXHjbjIYzi7eXDDlRgB7zEHOSn3jfbzIE/1NAQEFRCECHfCJ+mbUNH0Wka9aMPY5aEJIfUCVAkoEkagXKRKbcF+sc2R2qRQ/Mxt+rbzsmVOzbQumL23W6H+BXoitA///ALJoIgYCHfCJ+mbUNH0Wka9aMPY5aEJIfUCVAkoEkagXKRKbcF8cDlvr8zAAAIABAACAAAAAgAIAAIAAAAAAAQAAACIGAz030sAHIkY2l19DuMID+4SFabG3lFsb3HtVWYK9h4WnHA5b6/MwAACAAQAAgAAAAIACAACAAgAAAAEAAAAAAA==

edit 2:

descriptor:

wsh(or_d(pk([0e5bebf3/48'/1'/0'/2']tpubDFXjb7GPaCQz6aT6WzZ8AJ5RdcZ8DXzD64mCAC6PpTQHvn2haA4vwLHdjoTC154CRjJ5w2iUokzLNnSX3fdjPjXTvEciaYrcheZnkVhwv5u/<0;1>/*),and_v(v:pkh([0e5bebf3/48'/1'/0'/2']tpubDFXjb7GPaCQz6aT6WzZ8AJ5RdcZ8DXzD64mCAC6PpTQHvn2haA4vwLHdjoTC154CRjJ5w2iUokzLNnSX3fdjPjXTvEciaYrcheZnkVhwv5u/<2;3>/*),older(65535))))#0eepjd3c

step to reproduct a variant of this bug:

darosior commented 1 month ago

The freeze sounds relevant to the Electrum backend implementation PR.

-------- Original Message -------- On 9/4/24 1:12 PM, pythcoiner wrote:

hitting this after reorgs , while trying to spend a coin : image.png (view on web)

edit: here the tx: image.png (view on web)

restarted Liana and electrs, the tx looks spent but not updated in liana:

@.:~$ bitcoin-cli -regtest getrawtransaction fa237c4f53fcd2761f53235596b00b60babb54522e44471a565a6d4370e7da27 02000000000101af6d8720052e98f1ae0dc4299b445198a5ebce8ebb06a5f6ac4968edd4c69a170100000000fdffffff02c517260500000000225120ede721604cdf95735a5b2c6d839f2daef20f73802508e4832a067361182acbc000c2eb0b000000002200208d4910185e9a0b7d7fb7be92d1ad8750f847531e18a9f034c74eeb695a55556f014071086612430beac7f4e2c608b0d2dee7604972654c208bf6a9f0ca2d60a301e60d7e3ab3c2d751d84abfaf4115a3e5bcf1754a2e7867ee9076c068544f96841cd20b0000 @.:~$ bitcoin-cli -regtest gettxout fa237c4f53fcd2761f53235596b00b60babb54522e44471a565a6d4370e7da27 0 @.***:~$ bitcoin-cli gettxout --help

the psbt:

cHNidP8BAFICAAAAASfa53BDbVpWGkdELlJUu7pgC7CWVSNTH3bS/FNPfCP6AQAAAAD9////AYnB6wsAAAAAFgAU6bh3YV9tGAMroO3Ch4mrBMgd9e7bCwAAAAEAzQIAAAAAAQGvbYcgBS6Y8a4NxCmbRFGYpevOjrsGpfasSWjt1MaaFwEAAAAA/f///wLFFyYFAAAAACJRIO3nIWBM35VzWlssbYOfLa7yD3OAJQjkgyoGc2EYKsvAAMLrCwAAAAAiACCNSRAYXpoLfX+3vpLRrYdQ+EdTHhip8DTHTutpWlVVbwFAcQhmEkML6sf04sYIsNLe52BJcmVMIIv2qfDKLWCjAeYNfjqzwtdR2Eq/r0EVo+W88XVKLnhn7pB2wGhUT5aEHNILAAABASsAwusLAAAAACIAII1JEBhemgt9f7e+ktGth1D4R1MeGKnwNMdO62laVVVvIgICHfCJ+mbUNH0Wka9aMPY5aEJIfUCVAkoEkagXKRKbcF9HMEQCIAizlCXgBcHwPWrXhGKDGLetH78j2vlD4U8kA3nkwVK9AiBAXNQ2n8hr5p0VZeW3ovVGkfkt50M1MOBzs+vjlI+g5AEiAgM9N9LAByJGNpdfQ7jCA/uEhWmxt5RbG9x7VVmCvYeFp0cwRAIgRzd4InThhMmKtoep9kF83cdoaAQyrbumhJZad/M2g2kCIFrtroJmUXHjbjIYzi7eXDDlRgB7zEHOSn3jfbzIE/1NAQEFRCECHfCJ+mbUNH0Wka9aMPY5aEJIfUCVAkoEkagXKRKbcF+sc2R2qRQ/Mxt+rbzsmVOzbQumL23W6H+BXoitA///ALJoIgYCHfCJ+mbUNH0Wka9aMPY5aEJIfUCVAkoEkagXKRKbcF8cDlvr8zAAAIABAACAAAAAgAIAAIAAAAAAAQAAACIGAz030sAHIkY2l19DuMID+4SFabG3lFsb3HtVWYK9h4WnHA5b6/MwAACAAQAAgAAAAIACAACAAgAAAAEAAAAAAA==

edit 2:

  • i try erased my electrs db + restart (electrs + liana): the coins still there

descriptor:

wsh(or_d(pk([0e5bebf3/48'/1'/0'/2']tpubDFXjb7GPaCQz6aT6WzZ8AJ5RdcZ8DXzD64mCAC6PpTQHvn2haA4vwLHdjoTC154CRjJ5w2iUokzLNnSX3fdjPjXTvEciaYrcheZnkVhwv5u/<0;1>/),and_v(v:pkh([0e5bebf3/48'/1'/0'/2']tpubDFXjb7GPaCQz6aT6WzZ8AJ5RdcZ8DXzD64mCAC6PpTQHvn2haA4vwLHdjoTC154CRjJ5w2iUokzLNnSX3fdjPjXTvEciaYrcheZnkVhwv5u/<2;3>/),older(65535))))#0eepjd3c

  • delete the wallet + reimport: the coin does not appear anymore => it looks to me in some case a coin that does not exist after reorg is not removed from the DB

step to reproduct a variant of this bug:

  • regtest on electrs
  • New liana wallet
  • send 1 coin
  • generate 1 block
  • invalidate 2 blocks
  • electrs will hang on next sync
  • kill liana
  • restart electrs
  • restart liana, try to spend the reorg coin that does not exist anymore on bitcoind => Liana freeze on coin selection ( i guess we should spawn a thread for the coin selection)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

pythcoiner commented 1 month ago

well the sync requests trigger the freeze, but i think there is also an issue on electrs side (does not happen on esplora)