Skip to content

GUI crashes on startup after creating a wallet previously #918

@rkrux

Description

@rkrux

Is there an existing issue for this?

  • I have searched the existing issues

Current behaviour

Note: The issue is present in testnet too, not only regtest.

The GUI crashes in regtest immediately on start. It did work once initially but has been crashing since, tried quite a few times.

Expected behaviour

The GUI should not crash in regtest, just like it doesn't in main or test environments.

Steps to reproduce

Regtest conf file to use:

➜  Bitcoin cat $BITCOIN_DATA_DIR/bitcoin-reg.conf
regtest=1
[regtest]
port=28333
rpcport=28332
rpcuser=test
rpcpassword=test
bind=127.0.0.1:28334
bind=127.0.0.1:28335=onion

New data directory setup:

~ mkdir /tmp/gui-node-1
➜  ~ cp $BITCOIN_DATA_DIR/bitcoin-reg.conf /tmp/gui-node-1
➜  ~ cd /tmp/gui-node-1
➜  gui-node-1 l
total 8
drwxr-xr-x   3 rkrux  wheel    96B Dec 19 15:48 .
drwxrwxrwt  10 root    wheel   320B Dec 19 15:46 ..
-rw-r--r--   1 rkrux  wheel   123B Dec 19 15:48 bitcoin-reg.conf

Run GUI (bitcoin-qt): Works first time, no wallet right now.

~ $BITCOIN_BUILD_BIN_DIR/bitcoin-qt -datadir=/tmp/gui-node-1 -conf=/tmp/gui-node-1/bitcoin-reg.conf

Create a wallet within the GUI (wallet name eg: gui-node-wallet) and close the GUI.

Run GUI (bitcoin-qt) again - fails now with the below error:

~ $BITCOIN_BUILD_BIN_DIR/bitcoin-qt -datadir=/tmp/gui-node-1 -conf=/tmp/gui-node-1/bitcoin-reg.conf
Error: SQLiteDatabase: Failed to configure serialized threading mode: bad parameter or other API misuse

Data directory state now:

➜  gui-node-1 l /tmp/gui-node-1
total 8
drwxr-xr-x   4 rkrux  wheel   128B Dec 19 16:08 .
drwxrwxrwt  10 root    wheel   320B Dec 19 16:07 ..
-rw-r--r--   1 rkrux  wheel   123B Dec 19 16:07 bitcoin-reg.conf
drwx------  13 rkrux  wheel   416B Dec 19 16:11 regtest
➜  gui-node-1 l /tmp/gui-node-1/regtest/
total 600
drwx------  13 rkrux  wheel   416B Dec 19 16:11 .
drwxr-xr-x   4 rkrux  wheel   128B Dec 19 16:08 ..
-rw-------   1 rkrux  wheel     0B Dec 19 16:08 .lock
-rw-------   1 rkrux  wheel    37B Dec 19 16:11 anchors.dat
-rw-------   1 rkrux  wheel   221B Dec 19 16:08 banlist.json
drwx------   7 rkrux  wheel   224B Dec 19 16:08 blocks
drwx------   7 rkrux  wheel   224B Dec 19 16:10 chainstate
-rw-------   1 rkrux  wheel    18K Dec 19 16:11 debug.log
-rw-------   1 rkrux  wheel   242K Dec 19 16:11 fee_estimates.dat
-rw-------   1 rkrux  wheel    27B Dec 19 16:11 mempool.dat
-rw-------   1 rkrux  wheel   4.1K Dec 19 16:11 peers.dat
-rw-------   1 rkrux  wheel   242B Dec 19 16:11 settings.json
drwx------   3 rkrux  wheel    96B Dec 19 16:11 wallets
➜  gui-node-1 l /tmp/gui-node-1/regtest/wallets
total 0
drwx------   3 rkrux  wheel    96B Dec 19 16:11 .
drwx------  13 rkrux  wheel   416B Dec 19 16:11 ..
drwx------   3 rkrux  wheel    96B Dec 19 16:11 gui-node-wallet
➜  gui-node-1 l /tmp/gui-node-1/regtest/wallets/gui-node-wallet
total 48
drwx------  3 rkrux  wheel    96B Dec 19 16:11 .
drwx------  3 rkrux  wheel    96B Dec 19 16:11 ..
-rw-------  1 rkrux  wheel    24K Dec 19 16:11 wallet.dat

Relevant log output

2025-12-19T10:48:12Z Using data directory /tmp/gui-node-1/regtest
2025-12-19T10:48:12Z Config file: /tmp/gui-node-1/bitcoin-reg.conf
2025-12-19T10:48:12Z Config file arg: regtest="1"
2025-12-19T10:48:12Z Config file arg: [regtest] bind="127.0.0.1:28334"
2025-12-19T10:48:12Z Config file arg: [regtest] bind="127.0.0.1:28335=onion"
2025-12-19T10:48:12Z Config file arg: [regtest] port="28333"
2025-12-19T10:48:12Z Config file arg: [regtest] rpcpassword=****
2025-12-19T10:48:12Z Config file arg: [regtest] rpcport="28332"
2025-12-19T10:48:12Z Config file arg: [regtest] rpcuser=****
2025-12-19T10:48:12Z Setting file arg: wallet = ["gui-node-wallet"]
2025-12-19T10:48:12Z Command-line arg: conf="/tmp/gui-node-1/bitcoin-reg.conf"
2025-12-19T10:48:12Z Command-line arg: datadir="/tmp/gui-node-1"
2025-12-19T10:48:12Z Using at most 125 automatic connections (1024 file descriptors available)
2025-12-19T10:48:12Z scheduler thread start
2025-12-19T10:48:12Z Using wallet directory /tmp/gui-node-1/regtest/wallets
2025-12-19T10:48:12Z Using SQLite Version 3.43.2
2025-12-19T10:48:12Z init message: Verifying wallet(s)…
2025-12-19T10:48:12Z [warning] SQLite Error. Code: 21. Message: misuse at line 185687 of [1b37c146ee]
2025-12-19T10:48:12Z [error] SQLiteDatabase: Failed to configure serialized threading mode: bad parameter or other API misuse

2025-12-19T10:48:14Z Shutdown in progress...
2025-12-19T10:48:14Z scheduler thread exit
2025-12-19T10:48:14Z Shutdown done

How did you obtain Bitcoin Core

Compiled from source

What version of Bitcoin Core are you using?

master@13891a8a685d255cb13dd5018e3d5ccc18b07c34

Operating system and version

MacOS Sequoia (15.4)

Machine specifications

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions