Wladimir J. van der Laan 9ae468a6d5
Merge #17192: util: Add CHECK_NONFATAL and use it in src/rpc
faeb6665362e35f573ad715ade0ef2db62d71839 util: Add CHECK_NONFATAL and use it in src/rpc (MarcoFalke)

Pull request description:

  Fixes #17181

  Currently, we use `assert` in RPC code to document logic and code assumptions. However, it seems a bit extreme to abort all of Bitcoin Core on an assert failure in one of the RPC threads. I suggest to replace all `assert`s with a macro `CHECK_NONFATAL(condition)` that throws a runtime error when the condition evaluates to `false`. That runtime error will then be returned to the rpc caller and will include instructions to report the error to our issue tracker.

ACKs for top commit:
  practicalswift:
    ACK faeb6665362e35f573ad715ade0ef2db62d71839
  laanwj:
    ACK faeb6665362e35f573ad715ade0ef2db62d71839
  ryanofsky:
    Code review ACK faeb6665362e35f573ad715ade0ef2db62d71839

Tree-SHA512: 9b748715a5e0767ac11f1324a95a3a6ec672a0e0658013492219223bda83ce4b1b447fd8183bbb235f7df5ef7dddda7666ad569544b4d61cc65f232ca7a800ec
2019-10-28 12:00:36 +01:00
..
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-01-26 12:45:48 -05:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2018-09-07 08:21:14 -04:00
2019-10-15 22:56:43 +00:00
2018-12-29 10:15:01 +01:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2018-07-27 07:15:02 -04:00
2019-09-25 20:56:38 +02:00
2019-10-15 22:56:43 +00:00
2018-07-27 07:15:02 -04:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-02-22 17:38:45 -08:00
2019-02-22 17:38:45 -08:00
2019-04-10 12:16:52 +01:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-24 16:01:43 -04:00
2019-10-15 22:56:43 +00:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-06-20 12:12:24 -04:00
2019-10-24 16:01:43 -04:00
2019-10-24 16:01:43 -04:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-10-15 22:56:43 +00:00
2019-10-02 10:39:14 -04:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2018-07-27 07:15:02 -04:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2018-07-27 11:52:18 -07:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-09-25 10:56:00 -04:00
2019-10-15 22:56:43 +00:00
2018-07-27 07:15:02 -04:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2019-10-15 22:56:43 +00:00
2018-07-27 07:15:02 -04:00
2019-10-15 22:56:43 +00:00