Cs::erase doesn't remove item from cleanup index
The problem on my machine got exposed with TableCs/InsertAndEraseByName test case. I check an old commit, which fails on my machine but doesn't fail on jenkins. I don't understand why.
Updated by Alex Afanasyev almost 7 years ago
Cs::erase was called, cs::Entry was removed from SkipList and emptied out (cs::Entry::m_data == nullptr), but it wasn't removed from CleanupQueue. When CS destructor is called, it was trying to remove evict all items using cleanup queue. A reference to an emptied out CS entry causes segfault inside NS_LOG_TRACE method.
I guess I just happened to run test cases with TRACE mode. On jenkins I have disabled logging for unit tests... I guess they should be enabled with along the change to publishing test case results in jUNIT format.