Bitcoin Forum
November 15, 2024, 11:49:39 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: "reconsiderblock" in Core multi-wallet  (Read 163 times)
jnano (OP)
Member
**
Offline Offline

Activity: 301
Merit: 74


View Profile
October 08, 2022, 09:29:55 PM
 #1

In a multi-wallet file configuration, I executed "reconsiderblock".
The console said "Executing command using ... wallet", making it appear only one is affected.
I chose another wallet file and executed the same command again.

Despite of what it says, does it only affect the single selected wallet or all of them?

If just one, what are the implications?


Background:

This is on v0.18.

Core crashed during catching up due to being out of space for the UTXO db. I fixed it and restarted.
It recovered and continued syncing blocks for about a minute, then stalled doing nothing.
The log revealed repeated "ERROR: AcceptBlockHeader: block ... is marked invalid" for the same block.
I restarted, the same situation continued, so I executed "reconsiderblock".
It seemed to resume okay.



n0nce
Hero Member
*****
Offline Offline

Activity: 896
Merit: 5918


not your keys, not your coins!


View Profile WWW
October 08, 2022, 11:48:06 PM
 #2

In a multi-wallet file configuration, I executed "reconsiderblock".
The console said "Executing command using ... wallet", making it appear only one is affected.
I chose another wallet file and executed the same command again.

Despite of what it says, does it only affect the single selected wallet or all of them?
The block status (valid or not) shouldn't be tied to a specific wallet, no. I don't see why it should.

If just one, what are the implications?
The implication of the command is that it marks a block as 'to be reconsidered', e.g. if it was marked invalid through violating a consensus rule. It will thus be checked again.

Core crashed during catching up due to being out of space for the UTXO db. I fixed it and restarted.
It recovered and continued syncing blocks for about a minute, then stalled doing nothing.
The log revealed repeated "ERROR: AcceptBlockHeader: block ... is marked invalid" for the same block.
I restarted, the same situation continued, so I executed "reconsiderblock".
It seemed to resume okay.
It's possible that a block was corrupted due to unexpected exit of Bitcoin Core. Does it run normally now? Or does the issue persist?

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
nc50lc
Legendary
*
Offline Offline

Activity: 2604
Merit: 6407


Self-proclaimed Genius


View Profile
October 09, 2022, 03:37:56 AM
Merited by ABCbits (2), n0nce (2)
 #3

The console said "Executing command using ... wallet", making it appear only one is affected.
I chose another wallet file and executed the same command again.

Despite of what it says, does it only affect the single selected wallet or all of them?
The message will appear regardless if the command used is a wallet rpc or not, if you're using the GUI.
That's just a note to mention which wallet is selected in the drop-down menu above it.
But will only appear once until another wallet is selected.

If "(none)" is selected, it will say "Executing command without any wallet" instead.

Reference code: github.com/bitcoin/bitcoin/blob/master/src/qt/rpcconsole.cpp#L1031-L1038

To see if a command is actually wallet-specific, enter help in the console;
Those under == Wallet == are the commands that affects only the selected wallet.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
jnano (OP)
Member
**
Offline Offline

Activity: 301
Merit: 74


View Profile
October 09, 2022, 02:32:06 PM
Last edit: October 18, 2022, 12:01:16 AM by jnano
 #4

Thanks.

It's possible that a block was corrupted due to unexpected exit of Bitcoin Core.
While it quit automatically due to the abnormal condition, it's still a graceful exit as evident by having everything logged until the end. Yet it always happens when out of space, so evidently the cleanup isn't good.

But it was on an older version. Maybe fixed in newer ones.

Quote
Does it run normally now? Or does the issue persist?
After "reconsiderblock" it's fine as far as I can tell, but not without it.


That's just a note to mention which wallet is selected in the drop-down menu above it.
So it's sort of a bug or anti-feature in the case of non-wallet commands.

After a cursory look, it seems it may be possible to decide whether to show that "current wallet" console message based on CRPCCommand.category.
nc50lc
Legendary
*
Offline Offline

Activity: 2604
Merit: 6407


Self-proclaimed Genius


View Profile
October 10, 2022, 02:26:40 AM
Merited by ABCbits (1)
 #5

That's just a note to mention which wallet is selected in the drop-down menu above it.
So it's sort of a bug or anti-feature in the case of non-wallet commands.
I think it's a way to show that the command executed in the console is equivalent to bitcoin-cli with --rpc-wallet arg.
Because in bitcoin-cli, you can also add rpc-wallet regardless if the command is a wallet rpc or not.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
ABCbits
Legendary
*
Offline Offline

Activity: 3066
Merit: 8090


Crypto Swap Exchange


View Profile
October 10, 2022, 12:09:49 PM
Merited by jnano (1)
 #6

Thanks.

It's possible that a block was corrupted due to unexpected exit of Bitcoin Core.
While it quit automatically due to the abnormal condition, it's still a graceful exit as evident by having everything logged until the end. Yet it always happens when out of space, so evidently the cleanup isn't good.

But it was on an older version. Maybe fixed in newer ones.

I did quick search and few possible error/corruption due to out of storage space isn't fixed yet, https://github.com/bitcoin/bitcoin/issues/26112.

That's just a note to mention which wallet is selected in the drop-down menu above it.
So it's sort of a bug or anti-feature in the case of non-wallet commands.

I'd guess it's easier/faster to code function which show such message on all command.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
jnano (OP)
Member
**
Offline Offline

Activity: 301
Merit: 74


View Profile
October 18, 2022, 12:01:36 AM
 #7

I'd guess it's easier/faster to code function which show such message on all command.
Easier, but misleading.

I did quick search and few possible error/corruption due to out of storage space isn't fixed yet, https://github.com/bitcoin/bitcoin/issues/26112.
Interesting that the reported out of space condition there is also on writing to the chainset.
And also there reconsiderblock is reported as being good enough.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!