Prevent Opening Wallets Simultaneously in Two Instances #11888

issue TheBlueMatt openend this issue on December 13, 2017
  1. TheBlueMatt commented at 8:13 pm on December 13, 2017: member
    As of #11466 we no longer have any logic to prevent a user from opening a wallet twice in two instances simultaneously. Not only could this break BDB (without the -privdb=false option, which I have really no idea why we even have a tuneable option for that), but we certainly don’t have logic to handle such a case gracefully. It was noted in the original PR’s description, but somehow was never followed up on before merge.
  2. jonasschnelli added this to the milestone 0.16.0 on Dec 13, 2017
  3. ryanofsky commented at 8:34 pm on December 13, 2017: member

    -privdb=false option, which I have really no idea why we even have a tuneable option for that

    Presumably, option provides more safety at the cost of some performance. With default privdb setting, wallet could be totally corrupted if opened in more than one process. But with privdb=false, maybe you will reuse an address or see duplicate transactions, but you probably won’t lose your private keys. According to https://docs.oracle.com/cd/E17276_01/html/api_reference/C/envopen.html, privdb=false would also let you run BDB utilities like db_dump, db_archive, db_checkpoint, db_stat on the wallet while bitcoin is running.

  4. TheBlueMatt commented at 8:37 pm on December 13, 2017: member

    Presumably, option provides more safety at the cost of some performance. With default privdb setting, wallet could be totally corrupted if opened in more than one process. But with privdb=false, maybe you will reuse an address or see duplicate transactions, but you probably won’t lose your private keys.

    Either way its unsupported, and prior to 0.15.0, without adding symlinks/hardlinks, we would not have allowed it anyway.

    According to https://docs.oracle.com/cd/E17276_01/html/api_reference/C/envopen.html, privdb=false would also let you run BDB utilities like db_dump, db_archive, db_checkpoint, db_stat on the wallet while bitcoin is running.

    I’d be surprised if any users using those utilities were aware of the -privdb option. We dont need to have an option for all kinds of random internal minutia.

  5. laanwj added the label Wallet on Dec 19, 2017
  6. laanwj closed this on Jan 16, 2018

  7. laanwj referenced this in commit 66e3af709d on Jan 16, 2018
  8. virtload referenced this in commit 52d07c54b0 on Apr 4, 2018
  9. schancel referenced this in commit 797636646c on Apr 19, 2019
  10. PastaPastaPasta referenced this in commit 5c27c14f91 on Mar 23, 2020
  11. PastaPastaPasta referenced this in commit 3fbe3612b8 on Mar 28, 2020
  12. PastaPastaPasta referenced this in commit 9a6a558709 on Mar 29, 2020
  13. PastaPastaPasta referenced this in commit 58209be717 on Mar 31, 2020
  14. UdjinM6 referenced this in commit cec34a25d6 on Mar 31, 2020
  15. PastaPastaPasta referenced this in commit 9bedb900a9 on Apr 1, 2020
  16. ckti referenced this in commit d1570a7efb on Mar 28, 2021
  17. gades referenced this in commit 4c10e86e9b on Jun 30, 2021
  18. MarcoFalke locked this on Sep 8, 2021
  19. malbit referenced this in commit 0f6a33b5c1 on Nov 5, 2021
  20. gades referenced this in commit 7221fd3f6d on Feb 20, 2022


TheBlueMatt ryanofsky

Labels
Wallet

Milestone
0.16.0


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-07-05 19:13 UTC

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