I run a test on current warm patchset, i used pgbench with a scale of 20 and a fillfactor of 90 and then start the pgbench run with 6 clients in parallel i also run sqlsmith on it.
And i got a core dump after sometime of those things running.
Thanks for doing the tests and reporting the problem. Per our chat, the assertion failure occurs only after a crash recovery. I traced i down to the point where we were failing to set the root line pointer correctly during crash recovery. In fact, we were setting it, but after the local changes are copied to the on-disk image, thus failing to make to the storage.
Can you please test with the attached patch and confirm it works? I was able to reproduce the exact same assertion on my end and the patch seems to fix it. But an additional check won't harm.