https://bugs.openldap.org/show_bug.cgi?id=9619
--- Comment #7 from Srinarasi bhargavabhat@gmail.com --- I still get an assert `mdb_cassert(mc, mp->mp_pgno != pgno);` in `mdb_page_touch()` on `mdb_put()` after compaction in some of my tests. My guess is that it's because `mp_pgno` is not set to the new compact `pgno` in `mdb_env_cwalk()`. I have attached a patch which seems to solve the problem in my tests. But I don't understand the code well enough to know if I'm missing something.