I don’t know how reproducible this is, e.g. it doesn’t happen when I run the same test on macOS.
One of the Travis builds for backwards compatibility testing #12134 failed (log). And failed again.
This happens in w3 in v0.18.1 in the following test.
0# w3: blank wallet, created on master: update this
1# test when default blank wallets can no longer be opened by older versions.
2node_master.createwallet(wallet_name="w3", blank=True)
3...
4node_v18.loadwallet("w3")
node_master
refers to commit 1124be6111d6ef0f0324bccd0642b17b86bcd213, node_v18 is a binary v0.18.1.
It fails as follows:
0node2 2019-08-17T13:16:11.352727Z Using wallet /tmp/test_runner_₿_🏃_20190817_130647/feature_backwards_compatibility_53/node2/regtest/wallets/w3
17406 node2 2019-08-17T13:16:11.352777Z BerkeleyEnvironment::Open: LogDir=/tmp/test_runner_₿_🏃_20190817_130647/feature_backwards_compatibility_53/node2/regtest/wallets/w3/database ErrorFile=/tmp/test_runner_₿_🏃_20190817_130647/feature_backwards_compatibility_53/node2/regtest/wallets/w3/db.log
27914 node2 2019-08-17T13:16:11.356992Z BerkeleyEnvironment::Open: Error -30974 opening database environment: DB_RUNRECOVERY: Fatal error, run database recovery
37915 node2 2019-08-17T13:16:11.357051Z Moved old /tmp/test_runner_₿_🏃_20190817_130647/feature_backwards_compatibility_53/node2/regtest/wallets/w3/database to /tmp/test_runner_₿_🏃_20190817_130647/feature_backwards_compatibility_53/node2/regtest/wallets/w3/database.1566047771.bak. Retrying.
47916 node2 2019-08-17T13:16:11.357124Z BerkeleyEnvironment::Open: LogDir=/tmp/test_runner_₿_🏃_20190817_130647/feature_backwards_compatibility_53/node2/regtest/wallets/w3/database ErrorFile=/tmp/test_runner_₿_🏃_20190817_130647/feature_backwards_compatibility_53/node2/regtest/wallets/w3/db.log
57917 node2 2019-08-17T13:16:11.438198Z Renamed wallet.dat to wallet.dat.1566047771.bak
67918 node2 2019-08-17T13:16:11.438366Z BerkeleyEnvironment::Salvage: Database salvage found errors, all data may not be recoverable.
77919 node2 2019-08-17T13:16:11.438376Z BerkeleyEnvironment::Salvage: WARNING: Unexpected end of file while reading salvage output.
87920 node2 2019-08-17T13:16:11.438384Z Salvage(aggressive) found no records in wallet.dat.1566047771.bak.
97921 test 2019-08-17T13:16:11.460000Z TestFramework (ERROR): JSONRPC error
10...
117657 test_framework.authproxy.JSONRPCException: Wallet file verification failed: wallet.dat corrupt, salvage failed (-4)