View in context in the libbitcoin Slack #general mirror.
wtxid and txid. I had to tweak the offsets txid initially (for a tx count value I missed), and this required me to tweak the offsets on the wtxid (for a similar issue). These hashes really only affect the witness commitment, so that was failing. Second, there was a simple inversion in the witness commitment extraction from the coinbase. I ended up patching this twice.
Another issue was a script number bug. This only came into play in the case of segwit ("clean stack" requirement). The bool value was inverted.
Also, segwit adds the constraint that the null dummy stack value in op_checkmultisig must be "false" (empty vector). The bool value was inverted.
These last two were a result of the variant stack rewrite. The transaction hash optimization is new optimization code. The bip9 thing was just disabled to simplify porting and I forgot to reenable.
I also ran into a disk full error, which was handled cleanly as expected by the database/node, but confused me due to the error text. This killed some time.
Presently it's off and running again. I think that it's through enough segwit blocks that there isn't likely to be much more. Currently at 485422 and completing the run sequentially will take a few days.