Automatic prune on Tails OS #25052

issue NotwhatIwanttotell openend this issue on May 2, 2022
  1. NotwhatIwanttotell commented at 8:34 am on May 2, 2022: none

    Running Bitcoin Core full node on Tails OS

    New version 23.0 automatically prunes when started. I don’t want to prune and have therefore set prune=0 in bitcoin.conf. But that won’t stop 23.0 from pruning. Have to manually un-tick the tick box at startup. This was never the case in 22.0 so wondering if prune=0 is disabled even though its stated in options:

    image

  2. NotwhatIwanttotell added the label Bug on May 2, 2022
  3. NotwhatIwanttotell commented at 8:50 am on May 2, 2022: none

    Here is what its looking like when starting 23.0. Notice the tick box lower left corner. It should automatically be un-ticked after bitcoin.conf is loaded.

    image

    So every time starting 23.0 it must look like this:

    image

  4. NotwhatIwanttotell commented at 8:56 am on May 2, 2022: none
    Please also note that the red text is not correct, as 100% is already downloaded. The USB has 1000 GB capacity. Of that 466 GB has been used for Bitcoin Core download. 450 GB available is the space that is left with a full download already in place.
  5. hebasto commented at 9:07 am on May 2, 2022: member

    -prune=0 from the command line or from a configuration fie takes precedence over GUI settings. Therefore, your blockchain should be unpruned.

    But that won’t stop 23.0 from pruning.

    It is easy to verify with the getblockchaininfo RPC command. See the pruned field value.

  6. hebasto added the label GUI on May 2, 2022
  7. ryanofsky commented at 8:41 pm on May 2, 2022: contributor

    I think there’s a legitimate UI issue here. Even if the prune=0 setting from bitcoin.conf take precedences over the GUI pruning setting, the pruning checkbox is still checked by default and that is misleading. I think Ideally when the “Use a custom data directory” option is changed, the bitcoin.conf file from that path would be reloaded and the settings shown will actually reflect the settings that will be applied. #15936 addresses this issue somewhat, because it at least ensures that the setting displayed will be the setting applied. But it doesn’t take the additional step of loading the bitcoin.conf and displaying the disabled value.

    re: #25052#issue-1222628734

    I don’t want to prune and have therefore set prune=0 in bitcoin.conf. But that won’t stop 23.0 from pruning. Have to manually un-tick the tick box at startup.

    Just to reinforce what hebasto wrote, setting prune=0 in bitcoin.conf will stop 23.0 from pruning, and you do not have to un-tick the box. The box is just overridden and ignored so ticking or unticking it has no effect.

  8. NotwhatIwanttotell commented at 8:33 am on May 4, 2022: none

    Thanks both of you, Okay I see what you say and do understand it all. However it doesn’t explain why the client is pruning in 23.0 when prune=0 is set in the bitcoin.conf.

    So this is my bitcoin.conf: image

    This is what happens when starting Bitcoin Core 23.0 (never was an issue with 22.0 or versions before it): image

    image

    Please note that the Limit block chain storage tick box is still ticked at this stage: image

    When clicking okay! image

    At this point the pruning has started and I can not stop it by any means except shutting down Tails. So will do that now and come back in the next post.

  9. NotwhatIwanttotell commented at 9:03 am on May 4, 2022: none

    So back after restarting Tails OS 5.0 (updated from 4.19 yesterday).

    Doing it all the same way again as per above but this time un-ticking the Limit block chain storage: image

    Bitcoin Core 23.0 is started in normal fashion and pruning doesn’t happen: image

    This is getblockchaininfo while the syncing is 14 hours to go: image

    And this is when the syncing is complete: image

    There is a bug and its not a GUI problem. Its deeper than that. Basically prune=0 is not picked up from bitcoin.conf even if stated in options: image

    Please note that I cannot get to the options menu or do anything when pruning is under way.

    I have not re-scanned or anything since “pruning” did occur and I shut down Tails OS. Not even sure pruning has been carried out even though the screen said it was doing it.

    Have the block chain been pruning? If not, why did it say it was doing it? Why can I not stop the pruning with q or clicking on the x in upper right corner and must shut down Tails OS to stop the pruning? Why is it necessary to un-tick the Limit block chain… when prune=0 is set in bitcoin.conf?

    Finally what command should I use to make sure the full block chain is downloaded and that no blocks are missing due to pruning?

    This might interest you as well. This is a screen shot from the Terminal while Bitcoin Core is running: image

    On 21.1 it was not like this. It started with 22.0.

    Thanks

  10. NotwhatIwanttotell commented at 9:14 am on May 4, 2022: none

    On more thing. My bitcoin.conf has stayed the same since 21.1. Only added prune=0 when encountered the issues with unwanted pruning in 23.0.

    Thanks

  11. jadijadi commented at 11:57 am on June 8, 2022: contributor

    I see two issues here:

    1. the Prune checkbox is checked, even if you have disabled it via the command line args. This is legit, I can reproduce and will submit a PR to fix. I think this should be addressed in bitcoin-core/gui
    2. based on your tests, the claim is “prune happens if I pass the prune=0 in my configs but keep the checkbox ticked on the Intro GUI page”. I was not able to reproduce this yet. The point is when I have the config file there, the Intro does not show up anymore. Or I’m missing something here?
  12. hebasto referenced this in commit 09a76e43fd on Jun 20, 2022
  13. sidhujag referenced this in commit 5963576ed5 on Jun 21, 2022
  14. verdy-p commented at 0:54 am on July 28, 2022: none

    I thnik that this is related to the fact that pruning is REQUIRED now if you have only 450MiB or storage. Today, you need about 512 “GiB” of dedicated store for the main storage (blocks/blk*.dat, blocks/rev*.dat, blocks/index/.ldb) and for chainstate/.ldb (indexes stored when shutting down, e.g. before a reboot needed for system updates and maintenance).

    And anyway we lack an option to segregate those files by type, and an offline tool to check/resync them correctly. The current BitCoin Qt client shuold also flush to disk much more often than waiting for many hours (or days) to flush its structures computed in the memory pool (which should be working as a writeback cache and should never need to be so large, except on very few servers with very high capacities and very fast and large storage, hundreds of GiB of RAM, many more cores and ultra high internet bandwidths: even a server on a shared hosting platform will not comply if you don’t pay a lot for it to Amazon, or Azure: Bitcoin core is also crashing there on basic offers or on any free trial offers, due to low count or cores, low memory, low amount of storage, even if it’s very fast, and capped bandwidths ven if it can reach gigabit for a reduced time before being billed or capped!)

    As long as this will not be resolved, Bitcoin Core will not really be “peer-to-peer” and the Bitcoin will remain easily attackable by some malicious large third parties (not using too much costly means, even if most users cannot pay for it): there’s NOT enough peers in the network to protect it, too many limited peers, not enough full peers. As well, the network “degree” is also too low (we should increase it to sustain more than 10 “block peers” and more than just 2 “full peers”. May be add an extra layer of “medium peers” that can dedicate about 100Gb of store with FTTH or fast VDSL at home: instead of verifying at most the 6 most recent blocks, it would be increased to verify about ten times more, without depending to very few critical “full peers”!

  15. janus referenced this in commit 5296882406 on Aug 4, 2022
  16. fanquake commented at 1:39 pm on August 8, 2022: member
    Going to close this based on changes in https://github.com/bitcoin-core/gui/pull/615.
  17. fanquake closed this on Aug 8, 2022

  18. NotwhatIwanttotell commented at 8:27 am on October 11, 2022: none

    Dear Ryan, Thanks for explaining, however its incorrect. Even with prune=0 it starts to prune. Its not a GUI issue its something deeper.

    Have updated my original post with additional screenshots and information. If not un-ticking the Limit chain block storage, it will prune.

    Thank you very much

    ——- Original Message ——- On Monday, May 2nd, 2022 at 8:42 PM, Ryan Ofsky @.***> wrote:

    I think there’s a legitimate UI issue here. Even if the prune=0 setting from bitcoin.conf take precedences over the GUI pruning setting, the pruning checkbox is still checked by default and that is misleading. I think Ideally when the “Use a custom data directory” option is changed, the bitcoin.conf file from that path would be reloaded and the settings shown will actually reflect the settings that will be applied. #15936 addresses this issue somewhat, because it at least ensures that the setting displayed will be the setting applied. But it doesn’t take the additional step of loading the bitcoin.conf and displaying the disabled value.

    re: #25052 (comment)

    I don’t want to prune and have therefore set prune=0 in bitcoin.conf. But that won’t stop 23.0 from pruning. Have to manually un-tick the tick box at startup.

    Just to reinforce what hebasto wrote, setting prune=0 in bitcoin.conf will stop 23.0 from pruning, and you do not have to un-tick the box. The box is just overridden and ignored so ticking or unticking it has no effect.

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

  19. bitcoin locked this on Oct 11, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-06-29 07:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me