-
Notifications
You must be signed in to change notification settings - Fork 37
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-nodeis run with -disablewalletsubsequent start of abitcoin-guiwith-ipcconnect=auto, but without-disablewalletwill 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-guiand 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