Task #2348
closed
Cs::erase doesn't remove item from cleanup index
Added by Alex Afanasyev almost 10 years ago.
Updated almost 10 years ago.
Description
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.
- Status changed from Resolved to Code review
Please describe what the problem is, not just "the problem on my machine".
When 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.
- Status changed from Code review to Closed
Also available in: Atom
PDF