Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New crash in v26.0 #785

Open
1 task done
hebasto opened this issue Jan 9, 2024 · 7 comments
Open
1 task done

New crash in v26.0 #785

hebasto opened this issue Jan 9, 2024 · 7 comments

Comments

@hebasto
Copy link
Member

hebasto commented Jan 9, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Current behaviour

bitcoin-qt crashed while loading wallets at startup.

I used to see occasional crashes on startup a few years ago, but it hasn't been happening at all in the last couple of major releases.

I've been running v26.0 for a week or two and haven't had any problem with it crashing until today.

Here's a backtrace. I run it in gdb habitually because I used to see a lot of crashes and never got around to changing that when it became more stable.

[Thread 0x7fffe8ff86c0 (LWP 2482766) exited]

Thread 1 "bitcoin-qt-v26." received signal SIGSEGV, Segmentation fault.
0x00007ffff7a7c52d in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) where
#0  0x00007ffff7a7c52d in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff7a82b57 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x000055555576a6ca in OverviewPage::setWalletModel(WalletModel*) ()
#3  0x000055555572b9de in WalletView::WalletView(WalletModel*, PlatformStyle const*, QWidget*) ()
#4  0x00005555555ea8ef in BitcoinGUI::addWallet(WalletModel*) ()
#5  0x00005555556090ff in _ZZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS1_FvP11WalletModelEP10BitcoinGUIMS7_FvS4_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEENKUlDpOT_E_clIJRS4_EEEDaSJ_ ()
#6  0x000055555560996d in _ZN9QtPrivate11FunctorCallINS_11IndexesListIJLi0EEEENS_4ListIJP11WalletModelEEEvZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS9_FvS5_EP10BitcoinGUIMSD_FvS5_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_E4callERSQ_PPv ()
#7  0x000055555560713b in _ZN9QtPrivate7FunctorIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1EE4callINS_4ListIJS6_EEEvEEvRSM_PvPSS_ ()
#8  0x0000555555604d8c in _ZN9QtPrivate18QFunctorSlotObjectIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1ENS_4ListIJS6_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb ()
#9  0x00007ffff7add6f0 in QObject::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff7162fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff7ab16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff7ab4681 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff7b0a153 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff591e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff591ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff591eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff7b09836 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff7ab017b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff7ab82d6 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00005555555ccd4a in GuiMain(int, char**) ()
#21 0x00005555555c489c in main ()
(gdb) 

I configured with:

./configure CXXFLAGS=-fno-omit-frame-pointer --with-incompatible-bdb --with-miniupnpc=no --disable-debug

Expected behaviour

I expect it not to crash on startup...

Steps to reproduce

unknown

Relevant log output

2023-12-29T14:43:16Z Saw new header hash=0000000000000000000087ce4be45642ce81d2db3618e7e3e776c6ac4cefd7fe height=823428
2023-12-29T14:43:16Z Saw new header hash=000000000000000000017d31138550098a7af1d89c1f08b424b496af7657f068 height=823429
2023-12-29T14:43:16Z Saw new header hash=00000000000000000002170138a0ca50ea13333fb26563d7624254d80f655155 height=823430
2023-12-29T14:43:22Z UpdateTip: new best=0000000000000000000397759a23b3454cfb92c39368625ef2a3ff57199c814e height=823286 version=0x33856000 log2_work=94.630168 tx=943880620 date='2023-12-28T16:29:46Z' progress=0.999532 cache=2.0MiB(16572txo)
2023-12-29T14:43:26Z UpdateTip: new best=0000000000000000000382dd93aba8bd6ef45839ae5417f5d7c53885fc89200b height=823287 version=0x20088000 log2_work=94.630183 tx=943883634 date='2023-12-28T16:30:35Z' progress=0.999532 cache=4.4MiB(35892txo)
2023-12-29T14:43:29Z UpdateTip: new best=00000000000000000003cb20fc43bf96aca61fe62cf84af74b6f4ea863975beb height=823288 version=0x2757c000 log2_work=94.630198 tx=943887045 date='2023-12-28T16:42:28Z' progress=0.999537 cache=6.5MiB(52635txo)
2023-12-29T14:43:31Z UpdateTip: new best=00000000000000000003527d1234eaf8f68c7a20f6828f4e2f181d71ca0e5cfd height=823289 version=0x2000e000 log2_work=94.630212 tx=943890468 date='2023-12-28T16:52:29Z' progress=0.999540 cache=8.4MiB(68875txo)
2023-12-29T14:43:35Z UpdateTip: new best=000000000000000000011b6b288d5b61b4b0036f040e37aa41300a20b0db39fb height=823290 version=0x24000004 log2_work=94.630227 tx=943893464 date='2023-12-28T17:07:26Z' progress=0.999545 cache=11.0MiB(86319txo)
2023-12-29T14:43:38Z UpdateTip: new best=0000000000000000000236c0c37e795a8ce2ccc785197a2b272acb4f03f428ab height=823291 version=0x27c48000 log2_work=94.630241 tx=943897695 date='2023-12-28T17:09:25Z' progress=0.999546 cache=12.9MiB(101026txo)
2023-12-29T14:43:40Z UpdateTip: new best=00000000000000000001d2ec4340f0246650c7f383293de24203d5d53e105b0e height=823292 version=0x20014000 log2_work=94.630256 tx=943901049 date='2023-12-28T17:30:28Z' progress=0.999553 cache=14.9MiB(118884txo)





2023-12-29T16:02:44Z Bitcoin Core version v26.0.0 (release build)

How did you obtain Bitcoin Core

Compiled from source

What version of Bitcoin Core are you using?

v26.0

Operating system and version

Debian 12

Machine specifications

Linux, Intel, ssd, plenty of RAM


It happened again.

This node only connects to one other node. I run two nodes on the same machine. One connects to lots of peers, and this one that keeps crashing hosts my wallets, and only connects to the other node.

Thread 1 "bitcoin-qt-v26." received signal SIGSEGV, Segmentation fault.
0x00007ffff7a7c52d in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) where
#0  0x00007ffff7a7c52d in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff7a82b57 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x000055555576a6ca in OverviewPage::setWalletModel(WalletModel*) ()
#3  0x000055555572b9de in WalletView::WalletView(WalletModel*, PlatformStyle const*, QWidget*) ()
#4  0x00005555555ea8ef in BitcoinGUI::addWallet(WalletModel*) ()
#5  0x00005555556090ff in _ZZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS1_FvP11WalletModelEP10BitcoinGUIMS7_FvS4_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEENKUlDpOT_E_clIJRS4_EEEDaSJ_ ()
#6  0x000055555560996d in _ZN9QtPrivate11FunctorCallINS_11IndexesListIJLi0EEEENS_4ListIJP11WalletModelEEEvZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS9_FvS5_EP10BitcoinGUIMSD_FvS5_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_E4callERSQ_PPv ()
#7  0x000055555560713b in _ZN9QtPrivate7FunctorIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1EE4callINS_4ListIJS6_EEEvEEvRSM_PvPSS_ ()
#8  0x0000555555604d8c in _ZN9QtPrivate18QFunctorSlotObjectIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1ENS_4ListIJS6_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb ()
#9  0x00007ffff7add6f0 in QObject::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff7162fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff7ab16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff7ab4681 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff7b0a153 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff591e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff591ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff591eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff7b09836 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff7ab017b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff7ab82d6 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00005555555ccd4a in GuiMain(int, char**) ()
#21 0x00005555555c489c in main ()
(gdb) 

2024-01-06T19:36:23Z init message: Pruning blockstore…
2024-01-06T19:36:23Z block tree size = 824300
2024-01-06T19:36:23Z initload thread start
2024-01-06T19:36:23Z nBestHeight = 824258
2024-01-06T19:36:23Z init message: Starting network threads…
2024-01-06T19:36:23Z net thread start
2024-01-06T19:36:23Z DNS seeding disabled
2024-01-06T19:36:23Z addcon thread start
2024-01-06T19:36:23Z opencon thread start
2024-01-06T19:36:23Z msghand thread start
2024-01-06T19:36:23Z connect() to [::1]:8333 failed after wait: Connection refused (111)
2024-01-06T19:36:23Z init message: Done loading
2024-01-06T19:36:23Z GUI: Platform customization: "other"
2024-01-06T19:36:24Z connect() to [::1]:8333 failed after wait: Connection refused (111)
2024-01-06T19:36:26Z New manual v1 peer connected: version: 70016, blocks=824655, peer=0, peeraddr=127.0.0.1:8333
2024-01-06T19:36:26Z Synchronizing blockheaders, height: 824655 (~100.00%)
2024-01-06T19:36:34Z UpdateTip: new best=000000000000000000034d7d932193d3fcb04fcc114aab2402affc7131935fed height=824259 version=0x30ce4000 log2_work=94.644261 tx=947506906 date='2024-01-04T04:03:41Z' progress=0.998669 cache=2.3MiB(17725txo)
2024-01-06T19:36:41Z UpdateTip: new best=0000000000000000000132dd04997dd75ed67388dbffd6b9f1b219d3947b0a50 height=824260 version=0x318f8000 log2_work=94.644275 tx=947509277 date='2024-01-04T04:26:45Z' progress=0.998677 cache=4.4MiB(37157txo)
2024-01-06T19:36:51Z UpdateTip: new best=00000000000000000003d8912161a4805a8283e9db796b5b21e74c3b5c09759c height=824261 version=0x29fc6000 log2_work=94.644290 tx=947512458 date='2024-01-04T04:36:35Z' progress=0.998680 cache=7.1MiB(58543txo)
2024-01-06T19:37:33Z UpdateTip: new best=00000000000000000002c7b5a7f2800d46ae4ff71939ca3591d87bfb1b361a32 height=824262 version=0x31dde000 log2_work=94.644304 tx=947514979 date='2024-01-04T04:47:21Z' progress=0.998683 cache=13.2MiB(111475txo)
2024-01-06T19:37:51Z UpdateTip: new best=000000000000000000000d3955e2948b9288709a9ac69752a62811efc967160a height=824263 version=0x20a00000 log2_work=94.644318 tx=947517627 date='2024-01-04T04:48:02Z' progress=0.998684 cache=16.6MiB(141457txo)
2024-01-06T19:38:33Z UpdateTip: new best=0000000000000000000141e4f30a840e6f646c523d72e483815a41ef8fbfa01c height=824264 version=0x2c682000 log2_work=94.644333 tx=947520506 date='2024-01-04T04:49:23Z' progress=0.998684 cache=25.9MiB(218996txo)

Moved from:

@dooglus
Copy link
Contributor

dooglus commented Jan 27, 2024

@mzumsande wrote:

Looks like the crash happens within libQt5Core.so.5, for which there are no debug symbols available.

OK. I will install Qt5 packages with debug symbols and wait for it to crash again.

I tried for a while to reproduce the crash but didn't manage. Is there something special or "unusual" about your setup, for example are you loading a large number of wallets, or are some of the wallets very large?

No, I don't think so. I only load 3 or 4 wallets on startup. Yesterday I tried loading around 100 old wallets that hadn't been loaded for a while. It took over 12 hours to load them all, but didn't crash. So it's not easy to trigger. I've only seen the crash twice, and both times it happened during the initial 'loading wallets' stage of startup.

@furszy
Copy link
Member

furszy commented Jan 27, 2024

It seems you are running a prune node. Please with the logs, provide your bitcoin.conf values (hiding the sensitive information).

@dooglus
Copy link
Contributor

dooglus commented Jan 28, 2024

It seems you are running a prune node. Please with the logs, provide your bitcoin.conf values (hiding the sensitive information).

This is what's in the pruned node's bitcoin.conf:

connect=localhost
prune=555
addresstype=bech32
keypool=10
upnp=0
spendzeroconfchange=1
avoidpartialspends=1
server=1
daemon=0
checkblocks=1
checklevel=0
logips=1
rpcport=8550
port=8551
wallet=a
wallet=b
wallet=c
wallet=d
deprecatedrpc=accounts
rpcuser=user
rpcpassword=pass
rpcauth=u1:p1
rpcauth=u2:p2

there's also a settings.json file that I didn't create I don't think. It says this:

{
    "wallet": [
    ]
}

@dooglus
Copy link
Contributor

dooglus commented Jan 29, 2024

That didn't take too long:

[New Thread 0x7ffe7abff6c0 (LWP 419888)]
[New Thread 0x7ffe7a3fe6c0 (LWP 419889)]

Thread 1 "bitcoin-qt-v26." received signal SIGSEGV, Segmentation fault.
QSortFilterProxyModelPrivate::build_source_to_proxy_mapping (
    proxy_to_source=..., source_to_proxy=..., this=this@entry=0x555557a8f3c0)
    at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:61
61      ../../include/QtCore/../../src/corelib/tools/qarraydata.h: No such file or directory.
(gdb) where
#0  QSortFilterProxyModelPrivate::build_source_to_proxy_mapping (proxy_to_source=..., source_to_proxy=..., this=this@entry=0x555557a8f3c0)
    at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:61
#1  0x00007ffff7a82b57 in QSortFilterProxyModelPrivate::sort (this=0x555557a93ec0) at itemmodels/qsortfilterproxymodel.cpp:634
#2  0x000055555576a6ca in OverviewPage::setWalletModel(WalletModel*) ()
#3  0x000055555572b9de in WalletView::WalletView(WalletModel*, PlatformStyle const*, QWidget*) ()
#4  0x00005555555ea8ef in BitcoinGUI::addWallet(WalletModel*) ()
#5  0x00005555556090ff in _ZZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS1_FvP11WalletModelEP10BitcoinGUIMS7_FvS4_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEENKUlDpOT_E_clIJRS4_EEEDaSJ_ ()
#6  0x000055555560996d in _ZN9QtPrivate11FunctorCallINS_11IndexesListIJLi0EEEENS_4ListIJP11WalletModelEEEvZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS9_FvS5_EP10BitcoinGUIMSD_FvS5_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_E4callERSQ_PPv ()
#7  0x000055555560713b in _ZN9QtPrivate7FunctorIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1EE4callINS_4ListIJS6_EEEvEEvRSM_PvPSS_ ()
#8  0x0000555555604d8c in _ZN9QtPrivate18QFunctorSlotObjectIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1ENS_4ListIJS6_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb ()
#9  0x00007ffff7add6f0 in QObject::event (this=0x5555577c87d0, e=0x7ffe6c055270) at kernel/qobject.cpp:1347
#10 0x00007ffff7162fae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555577c87d0, e=0x7ffe6c055270) at kernel/qapplication.cpp:3640
#11 0x00007ffff7ab16f8 in QCoreApplication::notifyInternal2 (receiver=0x5555577c87d0, event=0x7ffe6c055270) at kernel/qcoreapplication.cpp:1064
#12 0x00007ffff7ab18be in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#13 0x00007ffff7ab4681 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555727f5d0) at kernel/qcoreapplication.cpp:1821
#14 0x00007ffff7ab4b08 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680
#15 0x00007ffff7b0a153 in postEventSourceDispatch (s=0x55555738b500) at kernel/qeventdispatcher_glib.cpp:277
#16 0x00007ffff591e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff591ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff591eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff7b09836 in QEventDispatcherGlib::processEvents (this=0x55555735dce0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#20 0x00007ffff7ab017b in QEventLoop::exec (this=this@entry=0x7fffffffd430, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#21 0x00007ffff7ab82d6 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#22 0x00005555555ccd4a in GuiMain(int, char**) ()
#23 0x00005555555c489c in main ()
(gdb) 

@dooglus
Copy link
Contributor

dooglus commented Jan 29, 2024

I'll leave the gdb session running for a few days in case there's anything helpful I can type at it. Let me know.

@dooglus
Copy link
Contributor

dooglus commented Feb 2, 2024

It crashed again. This crash looks the same as the last one:

[Thread 0x7fffea7fb6c0 (LWP 2748) exited]
[Thread 0x7fffeaffc6c0 (LWP 2747) exited]

Thread 1 "bitcoin-qt-v26." received signal SIGSEGV, Segmentation fault.
QSortFilterProxyModelPrivate::build_source_to_proxy_mapping (
    proxy_to_source=..., source_to_proxy=..., this=this@entry=0x555557a7d520)
    at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:61
61      ../../include/QtCore/../../src/corelib/tools/qarraydata.h: No such file or directory.
(gdb) where
#0  QSortFilterProxyModelPrivate::build_source_to_proxy_mapping (proxy_to_source=..., source_to_proxy=..., this=this@entry=0x555557a7d520)
    at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:61
#1  0x00007ffff7a82b57 in QSortFilterProxyModelPrivate::sort (this=0x555557a82020) at itemmodels/qsortfilterproxymodel.cpp:634
#2  0x000055555576a6ca in OverviewPage::setWalletModel(WalletModel*) ()
#3  0x000055555572b9de in WalletView::WalletView(WalletModel*, PlatformStyle const*, QWidget*) ()
#4  0x00005555555ea8ef in BitcoinGUI::addWallet(WalletModel*) ()
#5  0x00005555556090ff in _ZZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS1_FvP11WalletModelEP10BitcoinGUIMS7_FvS4_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEENKUlDpOT_E_clIJRS4_EEEDaSJ_ ()
#6  0x000055555560996d in _ZN9QtPrivate11FunctorCallINS_11IndexesListIJLi0EEEENS_4ListIJP11WalletModelEEEvZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS9_FvS5_EP10BitcoinGUIMSD_FvS5_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_E4callERSQ_PPv ()
#7  0x000055555560713b in _ZN9QtPrivate7FunctorIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1EE4callINS_4ListIJS6_EEEvEEvRSM_PvPSS_ ()
#8  0x0000555555604d8c in _ZN9QtPrivate18QFunctorSlotObjectIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1ENS_4ListIJS6_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb ()
#9  0x00007ffff7add6f0 in QObject::event (this=0x5555577cb050, e=0x7ffe802085c0) at kernel/qobject.cpp:1347
#10 0x00007ffff7162fae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555577cb050, e=0x7ffe802085c0) at kernel/qapplication.cpp:3640
#11 0x00007ffff7ab16f8 in QCoreApplication::notifyInternal2 (receiver=0x5555577cb050, event=0x7ffe802085c0) at kernel/qcoreapplication.cpp:1064
#12 0x00007ffff7ab18be in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#13 0x00007ffff7ab4681 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555727f5d0) at kernel/qcoreapplication.cpp:1821
#14 0x00007ffff7ab4b08 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680
#15 0x00007ffff7b0a153 in postEventSourceDispatch (s=0x5555573876f0) at kernel/qeventdispatcher_glib.cpp:277
#16 0x00007ffff591e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff591ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff591eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff7b09836 in QEventDispatcherGlib::processEvents (this=0x555557315c40, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#20 0x00007ffff7ab017b in QEventLoop::exec (this=this@entry=0x7fffffffd470, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#21 0x00007ffff7ab82d6 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#22 0x00005555555ccd4a in GuiMain(int, char**) ()
#23 0x00005555555c489c in main ()
(gdb) 

@dooglus
Copy link
Contributor

dooglus commented Mar 17, 2024

I just had this crash twice in a row.

I was doing something specific both times. Maybe that's relevant:

I had been using one of my wallets on a remote machine, and had a gap of about 30,000 unused addresses in the wallet, so some utxos weren't being shown up on the local wallet because my keypool was set to only 2500 or so.

I shut down bitcoin-qt, thinking that I would edit keypool= in my bitcoin.conf and restart, but then I remembered there's an RPC call to refill the keypool to any size on demand, so I restarted bitcoin-qt without editing the bitcoin.conf and immediately ran "bitcoin-cli -rpcwallet=wallet keypoolrefill 30000" and that's when it crashed.

I tried again, and it crashed ago. So I switched to using bitcoind instead of bitcoin-cli and it hasn't crashed since.

Here are the 2 backtraces. They are very similar to each other, and to the ones I've posted before:

(gdb) where
#0  QSortFilterProxyModelPrivate::build_source_to_proxy_mapping (proxy_to_source=..., source_to_proxy=..., this=this@entry=0x5555575c8600)
    at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:61
#1  0x00007ffff7a82b57 in QSortFilterProxyModelPrivate::sort (this=0x5555575ca990) at itemmodels/qsortfilterproxymodel.cpp:634
#2  0x000055555576a6ca in OverviewPage::setWalletModel(WalletModel*) ()
#3  0x000055555572b9de in WalletView::WalletView(WalletModel*, PlatformStyle const*, QWidget*) ()
#4  0x00005555555ea8ef in BitcoinGUI::addWallet(WalletModel*) ()
#5  0x00005555556090ff in _ZZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS1_FvP11WalletModelEP10BitcoinGUIMS7_FvS4_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEENKUlDpOT_E_clIJRS4_EEEDaSJ_ ()
#6  0x000055555560996d in _ZN9QtPrivate11FunctorCallINS_11IndexesListIJLi0EEEENS_4ListIJP11WalletModelEEEvZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS9_FvS5_EP10BitcoinGUIMSD_FvS5_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_E4callERSQ_PPv ()
#7  0x000055555560713b in _ZN9QtPrivate7FunctorIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1EE4callINS_4ListIJS6_EEEvEEvRSM_PvPSS_ ()
#8  0x0000555555604d8c in _ZN9QtPrivate18QFunctorSlotObjectIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1ENS_4ListIJS6_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb ()
#9  0x00007ffff7add6f0 in QObject::event (this=0x5555577c6980, e=0x7ffe6ca8b270) at kernel/qobject.cpp:1347
#10 0x00007ffff7162fae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555577c6980, e=0x7ffe6ca8b270) at kernel/qapplication.cpp:3640
#11 0x00007ffff7ab16f8 in QCoreApplication::notifyInternal2 (receiver=0x5555577c6980, event=0x7ffe6ca8b270) at kernel/qcoreapplication.cpp:1064
#12 0x00007ffff7ab18be in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#13 0x00007ffff7ab4681 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555727f2b0) at kernel/qcoreapplication.cpp:1821
#14 0x00007ffff7ab4b08 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680
#15 0x00007ffff7b0a153 in postEventSourceDispatch (s=0x555557382670) at kernel/qeventdispatcher_glib.cpp:277
#16 0x00007ffff591e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff591ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff591eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff7b09836 in QEventDispatcherGlib::processEvents (this=0x555557315b40, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#20 0x00007ffff7ab017b in QEventLoop::exec (this=this@entry=0x7fffffffd460, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#21 0x00007ffff7ab82d6 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#22 0x00005555555ccd4a in GuiMain(int, char**) ()
#23 0x00005555555c489c in main ()
(gdb) 

and

(gdb) where
#0  QSortFilterProxyModelPrivate::build_source_to_proxy_mapping (proxy_to_source=..., source_to_proxy=..., this=this@entry=0x555557508c70)
    at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:61
#1  0x00007ffff7a82b57 in QSortFilterProxyModelPrivate::sort (this=0x5555575b2e00) at itemmodels/qsortfilterproxymodel.cpp:634
#2  0x000055555576a6ca in OverviewPage::setWalletModel(WalletModel*) ()
#3  0x000055555572b9de in WalletView::WalletView(WalletModel*, PlatformStyle const*, QWidget*) ()
#4  0x00005555555ea8ef in BitcoinGUI::addWallet(WalletModel*) ()
#5  0x00005555556090ff in _ZZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS1_FvP11WalletModelEP10BitcoinGUIMS7_FvS4_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEENKUlDpOT_E_clIJRS4_EEEDaSJ_ ()
#6  0x000055555560996d in _ZN9QtPrivate11FunctorCallINS_11IndexesListIJLi0EEEENS_4ListIJP11WalletModelEEEvZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS9_FvS5_EP10BitcoinGUIMSD_FvS5_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_E4callERSQ_PPv ()
#7  0x000055555560713b in _ZN9QtPrivate7FunctorIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1EE4callINS_4ListIJS6_EEEvEEvRSM_PvPSS_ ()
#8  0x0000555555604d8c in _ZN9QtPrivate18QFunctorSlotObjectIZN7GUIUtil20ExceptionSafeConnectIP16WalletControllerMS3_FvP11WalletModelEP10BitcoinGUIMS9_FvS6_EEEDaT_T0_T1_T2_N2Qt14ConnectionTypeEEUlDpOT_E_Li1ENS_4ListIJS6_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb ()
#9  0x00007ffff7add6f0 in QObject::event (this=0x5555577cb1b0, e=0x7ffe8d67a710) at kernel/qobject.cpp:1347
#10 0x00007ffff7162fae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555577cb1b0, e=0x7ffe8d67a710) at kernel/qapplication.cpp:3640
#11 0x00007ffff7ab16f8 in QCoreApplication::notifyInternal2 (receiver=0x5555577cb1b0, event=0x7ffe8d67a710) at kernel/qcoreapplication.cpp:1064
#12 0x00007ffff7ab18be in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#13 0x00007ffff7ab4681 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555727f2b0) at kernel/qcoreapplication.cpp:1821
#14 0x00007ffff7ab4b08 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680
#15 0x00007ffff7b0a153 in postEventSourceDispatch (s=0x5555573863e0) at kernel/qeventdispatcher_glib.cpp:277
#16 0x00007ffff591e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff591ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff591eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff7b09836 in QEventDispatcherGlib::processEvents (this=0x5555572f0990, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#20 0x00007ffff7ab017b in QEventLoop::exec (this=this@entry=0x7fffffffd460, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#21 0x00007ffff7ab82d6 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#22 0x00005555555ccd4a in GuiMain(int, char**) ()
#23 0x00005555555c489c in main ()
(gdb) 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants