Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
When I start bitcoin-qt, it says I have a legacy wallet and tells me to migrate it. When I do, a message says that the migration is starting and after a time bitcoin-qt abruptly ends. When I start bitcoin-qt again it says that it cannot find the wallet. On investigating, I see that not only is bitcoin/wallet/wallet.dat gone, but so is the directory bitcoin/wallet.
Looking at the log, it appears that the migration is successful, then … something happens.
Expected behaviour
complete the migration and don’t destroy the wallet.
Steps to reproduce
With my legacy wallet.dat, use bitcoin-qt to migrate the legacy wallet.
Relevant log output
2025-12-20T16:59:02Z [default wallet] Last client version = 80500 2025-12-20T16:59:02Z [default wallet] Legacy Wallet Keys: 104 plaintext, 0 encrypted, 0 w/ metadata, 104 total. 2025-12-20T16:59:02Z [default wallet] Descriptors: 0, Descriptor Keys: 0 plaintext, 0 encrypted, 0 total. 2025-12-20T16:59:02Z [default wallet] Wallet completed loading in 17ms 2025-12-20T16:59:02Z [default wallet] setKeyPool.size() = 0 2025-12-20T16:59:02Z [default wallet] mapWallet.size() = 14 2025-12-20T16:59:02Z [default wallet] m_address_book.size() = 4 2025-12-20T16:59:02Z copied /mnt/bitcoin/wallets/wallet.dat to /mnt/bitcoin/wallets/default_wallet_1766249942.legacy.bak 2025-12-20T16:59:02Z [default wallet] Migrating wallet storage database from BerkeleyDB to SQLite. 2025-12-20T16:59:02Z Using SQLite Version 3.50.2 2025-12-20T16:59:02Z Using wallet /mnt/bitcoin/wallets 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = 374182aed2e22c1ef37dd8e5b9fd631242f647ae57f05d8b9556d18db013ee47, type = legacy, internal = false 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = ceff5344334331f96f356b6e01c5271441aef08d6e4ee1581cc21c652f42bc86, type = p2sh-segwit, internal = false 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = 155bbeb7f9c67d2d69329fb2a3762c295de656cb81ecda752985e51e8c3c6c79, type = bech32, internal = false 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = 1bd0bae9fcd655a7eefabfa486a4aac06d378caaea4fb18fd3ff82e267f33a5c, type = bech32m, internal = false 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = 7ecccb708fa526705eae8095ab93eb2818c2046f7bc0f16991ce7290ea359751, type = legacy, internal = true 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = 504be46550019ff607ead9e999e4fd08f4c302f7c64275eecadd31189a08d53d, type = p2sh-segwit, internal = true 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = ee394eb8b5666dc08b1ba7d763045043101fead2bf3d2f374a8dceb15efc676c, type = bech32, internal = true 2025-12-20T16:59:02Z [default wallet] Setting spkMan to active: id = 295830f0bdf428f220030af634792d5c40ded7d2b129fc2d185d31d21992bf77, type = bech32m, internal = true 2025-12-20T16:59:02Z [default wallet] Wallet migration complete. 2025-12-20T16:59:02Z [default wallet] Releasing wallet .. 2025-12-20T16:59:02Z Using SQLite Version 3.50.2 2025-12-20T16:59:02Z Using wallet /mnt/bitcoin/wallets 2025-12-20T16:59:02Z init message: Loading wallet… 2025-12-20T16:59:02Z [default wallet] Last client version = 80500 2025-12-20T16:59:03Z [default wallet] Descriptors: 112, Descriptor Keys: 1 plaintext, 0 encrypted, 1 total. 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = 374182aed2e22c1ef37dd8e5b9fd631242f647ae57f05d8b9556d18db013ee47, type = legacy, internal = false 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = ceff5344334331f96f356b6e01c5271441aef08d6e4ee1581cc21c652f42bc86, type = p2sh-segwit, internal = false 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = 155bbeb7f9c67d2d69329fb2a3762c295de656cb81ecda752985e51e8c3c6c79, type = bech32, internal = false 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = 1bd0bae9fcd655a7eefabfa486a4aac06d378caaea4fb18fd3ff82e267f33a5c, type = bech32m, internal = false 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = 7ecccb708fa526705eae8095ab93eb2818c2046f7bc0f16991ce7290ea359751, type = legacy, internal = true 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = 504be46550019ff607ead9e999e4fd08f4c302f7c64275eecadd31189a08d53d, type = p2sh-segwit, internal = true 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = ee394eb8b5666dc08b1ba7d763045043101fead2bf3d2f374a8dceb15efc676c, type = bech32, internal = true 2025-12-20T16:59:03Z [default wallet] Setting spkMan to active: id = 295830f0bdf428f220030af634792d5c40ded7d2b129fc2d185d31d21992bf77, type = bech32m, internal = true 2025-12-20T16:59:03Z [default wallet] Wallet completed loading in 509ms 2025-12-20T16:59:03Z [default wallet] Releasing wallet ..
2025-12-20T17:07:16Z Bitcoin Core version v30.0.0 (release build) 2025-12-20T17:07:16Z Qt 6.10.1 (dynamic), plugin=xcb 2025-12-20T17:07:16Z No static plugins. 2025-12-20T17:07:16Z Style: fusion / QFusionStyle 2025-12-20T17:07:16Z System: Fedora Linux 43 (Workstation Edition), x86_64-little_endian-lp64 2025-12-20T17:07:16Z Screen: HDMI-0 1920x1080, pixel ratio=1.0 2025-12-20T17:07:16Z GUI: QFSFileEngine::open: No file name specified 2025-12-20T17:07:16Z GUI: QFSFileEngine::open: No file name specified 2025-12-20T17:07:16Z GUI: QFSFileEngine::open: No file name specified 2025-12-20T17:07:16Z GUI: QFSFileEngine::open: No file name specified 2025-12-20T17:07:16Z GUI: QFSFileEngine::open: No file name specified 2025-12-20T17:07:16Z Using the ‘sse4(1way);sse41(4way);avx2(8way)’ SHA256 implementation 2025-12-20T17:07:16Z Using RdSeed as an additional entropy source 2025-12-20T17:07:16Z Using RdRand as an additional entropy source 2025-12-20T17:07:16Z Default data directory /home/jonathans/.bitcoin 2025-12-20T17:07:16Z Using data directory /mnt/bitcoin 2025-12-20T17:07:16Z Config file: /home/jonathans/.bitcoin/bitcoin.conf 2025-12-20T17:07:16Z Config file arg: datadir="/mnt/bitcoin" 2025-12-20T17:07:16Z Config file arg: dbcache=“1024” 2025-12-20T17:07:16Z Config file arg: listen=“1” 2025-12-20T17:07:16Z Config file arg: maxconnections=“40” 2025-12-20T17:07:16Z Config file arg: maxmempool=“300” 2025-12-20T17:07:16Z Config file arg: prune=“550” 2025-12-20T17:07:16Z Config file arg: walletdir="/mnt/bitcoin/wallets" 2025-12-20T17:07:16Z Setting file arg: prune = “3814” 2025-12-20T17:07:16Z Setting file arg: wallet = [""] 2025-12-20T17:07:16Z Using at most 40 automatic connections (1024 file descriptors available) 2025-12-20T17:07:16Z scheduler thread start 2025-12-20T17:07:16Z [error] Specified -walletdir “/mnt/bitcoin/wallets” does not exist 2025-12-20T17:07:29Z Shutdown in progress… 2025-12-20T17:07:29Z scheduler thread exit 2025-12-20T17:07:29Z Shutdown done 2025-12-20T17:07:29Z GUI: QFontDatabase: Must construct a QGuiApplication before accessing QFontDatabase
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
Bitcoin Core version v30.0.0 (release build)
Operating system and version
Fedora Linux 43
Machine specifications
Kernel: 6.17.12-300.fc43.x86_64 Windowing system: X11 CPU: Intel i5-10400F CPU @ 2.90 GHz Memory: 62.7 GiB broadband Internet