wallet_descriptor intermittent error "Please enter the wallet passphrase with walletpassphrase first. (-13)" #18811

issue MarcoFalke opened this issue on April 29, 2020
  1. MarcoFalke added the label Bug on Apr 29, 2020
  2. promag commented at 2:07 AM on April 29, 2020: member

    In that run it took more than 10 seconds which is the unlock timeout.

    2020-04-28T17:12:01.196000Z TestFramework (INFO): Test that unlock is needed when deriving only hardened keys in an encrypted wallet
    2020-04-28T17:12:01.345000Z TestFramework (ERROR): JSONRPC error
    

    And on my system it took around 3 seconds.

    So maybe just increase the timeout (if this happens often) in https://github.com/bitcoin/bitcoin/blob/ba348dbc518b8e082a5dc3a225432fdacf859a13/test/functional/wallet_descriptor.py#L114

  3. MarcoFalke commented at 2:16 AM on April 29, 2020: member

    No? It took 0.149000 seconds?

  4. promag commented at 2:21 AM on April 29, 2020: member

    Oh right!

  5. promag commented at 2:55 AM on April 29, 2020: member

    The issue is a race between the 2nd walletpassphrase and the 1st lock callback. This was introduced in #18481.

    From the logs

    2020-04-28T17:11:50.607000Z TestFramework (INFO): Test encryption
    2020-04-28T17:11:51.349000Z TestFramework (INFO): Test that getnewaddress still works after keypool is exhausted in an encrypted wallet
    2020-04-28T17:12:01.196000Z TestFramework (INFO): Test that unlock is needed when deriving only hardened keys in an encrypted wallet
    2020-04-28T17:12:01.345000Z TestFramework (ERROR): JSONRPC error
    

    Little more than 10 seconds passed between the 1st walletpassphrase and the error, so in practice, the 2nd walletpassphrase was canceled by the 1st timeout.

    I'll submit a possible fix.

  6. promag cross-referenced this on Apr 29, 2020 from issue rpc: Fix rpcRunLater race in walletpassphrase by promag
  7. promag cross-referenced this on Apr 29, 2020 from issue rpc: Relock wallet only if most recent callback by promag
  8. fanquake closed this on May 13, 2020

  9. sidhujag referenced this in commit c7204ec263 on May 14, 2020
  10. bitcoin locked this on Feb 15, 2022

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: 2026-05-20 06:54 UTC