Skip to content

wallet: wallet_migration.py fails on sqlite-only build #31447

Closed
@maflcko

Description

Steps to reproduce:

  • sqlite-only build (the default)
  • ./bld-cmake/test/functional/wallet_migration.py
2024-12-07T04:56:18.691000Z TestFramework (INFO): PRNG seed is: 7532643259753153678
2024-12-07T04:56:18.691000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241207_042808/wallet_migration_2
2024-12-07T04:56:20.630000Z TestFramework (INFO): Test migration of a basic keys only wallet without balance
2024-12-07T04:56:20.915000Z TestFramework (INFO): Test migration of a basic keys only wallet with a balance
2024-12-07T04:56:26.448000Z TestFramework (INFO): Test backup file can be successfully restored
2024-12-07T04:56:27.024000Z TestFramework (INFO): Test migration of a wallet with balance received on the seed
2024-12-07T04:56:28.270000Z TestFramework (INFO): Test "nothing to migrate" when the user tries to migrate a loaded wallet with no legacy data
2024-12-07T04:56:28.271000Z TestFramework (INFO): Test "nothing to migrate" when the user tries to migrate an unloaded wallet with no legacy data
2024-12-07T04:56:28.273000Z TestFramework (INFO): Test migration of a wallet with all keys for a multisig
2024-12-07T04:56:28.473000Z TestFramework (INFO): Test migration of a wallet that has some keys in a multisig
2024-12-07T04:56:28.798000Z TestFramework (INFO): Test migration of a wallet with watchonly imports
2024-12-07T04:56:29.107000Z TestFramework (INFO): Test migration of a pure watchonly wallet
2024-12-07T04:56:29.217000Z TestFramework (INFO): Test migration of a pure watchonly wallet with pubkeys in keypool
2024-12-07T04:56:29.326000Z TestFramework (INFO): Test migration of a wallet using old pk() coinbases
2024-12-07T04:56:29.529000Z TestFramework (INFO): Test migration of an encrypted wallet
2024-12-07T04:56:31.123000Z TestFramework (INFO): Check migratewallet errors for nonexistent wallets
2024-12-07T04:56:31.124000Z TestFramework (INFO): Test migration of a wallet that isn't loaded, specified by path
2024-12-07T04:56:31.300000Z TestFramework (INFO): Test migration of the wallet named as the empty string
2024-12-07T04:56:31.450000Z TestFramework (INFO): Test migration of a wallet that is not in a wallet directory
2024-12-07T04:56:31.584000Z TestFramework (INFO): Test migration of address book data
2024-12-07T04:56:35.062000Z TestFramework (INFO): Test migration of watch-only raw p2sh script
2024-12-07T04:56:35.346000Z TestFramework (INFO): Test migration when wallet contains conflicting transactions
2024-12-07T04:56:35.609000Z TestFramework (INFO): Test migration when wallet contains a hybrid pubkey
2024-12-07T04:56:35.829000Z TestFramework (INFO): Test that a failed migration is cleaned up
2024-12-07T04:56:35.968000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/util.py", line 160, in try_rpc
    fun(*args, **kwds)
  File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/coverage.py", line 50, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/authproxy.py", line 146, in __call__
    raise JSONRPCException(response['error'], status)
test_framework.authproxy.JSONRPCException: Wallet file verification failed. Failed to open database path '/tmp/test_runner_₿_🏃_20241207_042808/wallet_migration_2/node0/regtest/wallets/failed'. Build does not support Berkeley DB database format.
Unable to restore backup of wallet. (-4)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/tmp/cirrus-ci-build/bitcoin-core/bld-cov/test/functional/wallet_migration.py", line 1031, in run_test
    self.test_failed_migration_cleanup()
  File "/tmp/cirrus-ci-build/bitcoin-core/bld-cov/test/functional/wallet_migration.py", line 895, in test_failed_migration_cleanup
    assert_raises_rpc_error(-4, "Failed to create database", self.master_node.migratewallet, "failed")
  File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/util.py", line 151, in assert_raises_rpc_error
    assert try_rpc(code, message, fun, *args, **kwds), "No exception raised"
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/util.py", line 166, in try_rpc
    raise AssertionError(
AssertionError: Expected substring not found in error message:
substring: 'Failed to create database'
error message: 'Wallet file verification failed. Failed to open database path '/tmp/test_runner_₿_🏃_20241207_042808/wallet_migration_2/node0/regtest/wallets/failed'. Build does not support Berkeley DB database format.
Unable to restore backup of wallet.'.

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions