Since the point release containing the EvoDB crash fix was promised on Sep 22 and has yet to materialize:
The problem
Run Dash Core v23.1.8 (the version still wearing the "Latest" badge on GitHub, which is a bold choice) for about 24 hours of continuous uptime and, at any 576-block disk-snapshot boundary, it aborts:
Assertion failed! evo/evodb.cpp line 59: Expression: curDBTransaction.IsClean()
This is issue #7549 (https://github.com/dashpay/dash/issues/7549) — a credit-pool snapshot written outside the block-scoped EvoDB transaction, corrupting the database at a boundary you hit roughly once a day. Not from a bad shutdown, not from a power cut, not from anything you did. Just for running the software.
The crash loop
The fun part: after it aborts, Dash Core won't start again. Startup verification finds the inconsistency and refuses:
*** Found EvoDB inconsistency, you must reindex to continue
Welcome to the loop. Fix → crash 24h later → loop.
The fix (Windows)
Your wallet is fine — this only rebuilds chain databases. Close Dash Core, then in PowerShell:
& "C:\Program Files\DashCore\dash-qt.exe" -datadir=D:\path\to\your\datadir -reindex-chainstate -txindex=0
If you use the default datadir, drop the -datadir part. If you don't run txindex, drop -txindex=0. Then wait: on a decent SSD, roughly two days. Yes, really. Enjoy the progress-per-hour readout.
Linux equivalent
dashd -reindex-chainstate -txindex=0
# or for the GUI:
dash-qt -reindex-chainstate -txindex=0
The speedrun (2 minutes instead of 2 days)
If you have access to another healthy v23.1.8 node, you can copy its chainstate and evodb folders over yours (node stopped, obviously) and skip the reindex. Make sure the donor node is actually healthy and has recently passed a 576-boundary cleanly — copying a corrupted snapshot just gives you the same crash with extra steps.
Prevention options
Restart Dash Core before each ~24h boundary. Luddite, but effective.
Run the v24 rc.4 pre-release (published Oct 19, contains the fix). It's an RC — that's on you.
Wait for the promised v23.1.x backport, which as of today is still a sentence in a September issue comment rather than a release.
Bug reference for the curious: #7549 (https://github.com/dashpay/dash/issues/7549), closed Sep 22 as "fixed for v24," with the maintainer's own note that v23.1.8 "will keep hitting this at height % 576 == 0 boundaries" and the backport "will go in a v23.1.x point release." It has. Not. Yet.