Description
Originally posted by @jimhashhq in bitcoin/bitcoin#19461 (comment)
As promised in #10102 comments, I tried out -ipcconnect
using rebased pr-19641 (thank you); everything seemed to work consistent with my new understanding of multiprocess interactions (thanks again). I did notice one issue:
- If
bitcoin-node
is run with -disablewallet
subsequent start of abitcoin-gui
with-ipcconnect=auto
, but without-disablewallet
will crashbitcoin-node
. This is obviously an operator error, but may be worth handling w/o node crash. Error is:
23329 Segmentation fault (core dumped) bitcoin-gui -conf=regtest-guisolo.conf -ipcconnect=auto -debuglogfile=bitcoin-gui-
date +"%Y-%m-%d"
.log 2>&1
Note: bitcoin-gui
and bitcoin-node
work just fine if bitcoin-gui
correctly started with -disablewallet
.
Of interest, bitcoin-cli
wallet-related RPC commands run against a bitcoin-node
with -disablewallet
(again, an operator error) correctly just return a Method not found
RPC error and do not cause node crash.
Please reference -disablewallet
notes at docs/developer-notes.md#wallet
Interestingly, a prior revision to docs/developer-notes.md#wallet expands on this and references an obsolete/superceded test:
- *Rationale*: In RPC code that conditionally use the wallet (such as
`validateaddress`) it is easy to forget that global pointer `pwalletMain`
can be NULL. See `qa/rpc-tests/disablewallet.py` for functional tests
exercising the API with `-disablewallet`
I did not yet try and debug the crash as I'm not totally sure I built from the correct integration branch for this?
Hopefully some of this is useful, thank you.
See also: #19460