Bitcoin Forum

Bitcoin => Armory => Topic started by: tardy on April 30, 2020, 12:41:29 PM



Title: Replace by fee feature loads a mostly blank screen
Post by: tardy on April 30, 2020, 12:41:29 PM
Hi,

The issue I am having is when I right click on select replace by fee the pop up menus looks like this.
https://thankyousatoshi.s3.amazonaws.com/replace+by+fee+bug.png (https://thankyousatoshi.s3.amazonaws.com/replace+by+fee+bug.png)
Its just text with the wallet name.

Below is the latest log.
https://thankyousatoshi.s3.amazonaws.com/armorylog.txt (https://thankyousatoshi.s3.amazonaws.com/armorylog.txt)

Below are the errors that appear to be related to the bug.

Could you please suggest a solution for this issue.

Thanks for your help
 :)

2020-04-30 22:16:14 (ERROR) -- Traceback (most recent call last):
  File "ArmoryQt.py", line 3408, in showContextMenuLedger
  File "ArmoryQt.py", line 5954, in bumpFee
  File "ui\TxFrames.pyc", line 1522, in prefillFromBatch
  File "ui\TxFrames.pyc", line 1631, in prefill
  File "ui\WalletFrames.pyc", line 395, in updateOnRBF
  File "ui\WalletFrames.pyc", line 308, in updateRBFLabel
AttributeError: 'SelectWalletFrame' object has no attribute 'lblCoinCtrl'

2020-04-30 22:16:45 (ERROR) -- Traceback (most recent call last):
  File "ArmoryQt.py", line 3408, in showContextMenuLedger
  File "ArmoryQt.py", line 5954, in bumpFee
  File "ui\TxFrames.pyc", line 1522, in prefillFromBatch
  File "ui\TxFrames.pyc", line 1631, in prefill
  File "ui\WalletFrames.pyc", line 395, in updateOnRBF
  File "ui\WalletFrames.pyc", line 308, in updateRBFLabel
AttributeError: 'SelectWalletFrame' object has no attribute 'lblCoinCtrl'

2020-04-30 22:18:00 (ERROR) -- Traceback (most recent call last):
  File "ArmoryQt.py", line 3408, in showContextMenuLedger
  File "ArmoryQt.py", line 5954, in bumpFee
  File "ui\TxFrames.pyc", line 1522, in prefillFromBatch
  File "ui\TxFrames.pyc", line 1631, in prefill
  File "ui\WalletFrames.pyc", line 395, in updateOnRBF
  File "ui\WalletFrames.pyc", line 308, in updateRBFLabel
AttributeError: 'SelectWalletFrame' object has no attribute 'lblCoinCtrl'


Title: Re: Replace by fee feature loads a mostly blank screen
Post by: goatpig on May 01, 2020, 09:52:35 AM
Some misnamed label, you'd have to modify the python code to get this working from the lobby. You can recreate the transaction manually using coin control from the "Send" dialog for the time being.


Title: Re: Replace by fee feature loads a mostly blank screen
Post by: tardy on May 02, 2020, 07:32:51 AM
Some misnamed label, you'd have to modify the python code to get this working from the lobby. You can recreate the transaction manually using coin control from the "Send" dialog for the time being.

Thanks for the response.
 :)
The transaction eventually went through, so no need to use the RBF feature this time.
If it happens again I'll learn how to apply the solutions you mentioned above and also hopefully I can help track down what's causing the issue.


Title: Re: Replace by fee feature loads a mostly blank screen
Post by: HCP on May 04, 2020, 09:42:49 PM
I don't think it is an incorrect label. I suspect it is because 'lblCoinCtrl' is only attached to the SelectWalletFrame object if 'coinControlCallback' is set...

Code: (https://github.com/goatpig/BitcoinArmory/blob/master/ui/WalletFrames.py#L201-L216)
      if coinControlCallback:
         
         self.lblCoinCtrl = QRichLabel(self.tr('Source: All addresses'), doWrap=False)
         frmLayout.addWidget(self.lblCoinCtrl, 4, 2, 1, 1)
         
         self.lblRBF = QRichLabel(self.tr('Source: N/A'))
         frmLayout.addWidget(self.lblRBF, 5, 2, 1, 1)
                 
         self.btnCoinCtrl = QPushButton(self.tr('Coin Control'))
         self.connect(self.btnCoinCtrl, SIGNAL(CLICKED), self.doCoinCtrl)         
         
         self.btnRBF = QPushButton(self.tr('RBF Control'))
         self.connect(self.btnRBF, SIGNAL(CLICKED), self.doRBF)
         
         frmLayout.addWidget(self.btnCoinCtrl, 4, 0, 1, 2)
         frmLayout.addWidget(self.btnRBF, 5, 0, 1, 2)

Otherwise, it simply doesn't exist...

So, when the RBF code here tries to update it... it's failing:
Code: (https://github.com/goatpig/BitcoinArmory/blob/master/ui/WalletFrames.py#L308)
   def updateRBFLabel(self):
      #reset coin control label to signify RBF and coin control are mutually exclusive
      self.lblCoinCtrl.setText(self.tr('Source: N/A'))
     
...

Perhaps this setText call simply needs a check to see if 'self.coinControlCallback' is true? ???


Title: Re: Replace by fee feature loads a mostly blank screen
Post by: goatpig on May 05, 2020, 07:51:07 AM
Quote
Otherwise, it simply doesn't exist...

Ahh, is the user mode set to something other than "Expert" then?