Project

General

Profile

Actions

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.

Status:
Closed
Priority:
Normal
Category:
Tables
Target version:
Start date:
01/05/2015
Due date:
% Done:

100%

Estimated time:

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.

Actions #1

Updated by Alex Afanasyev almost 10 years ago

  • Status changed from Resolved to Code review
Actions #2

Updated by Junxiao Shi almost 10 years ago

Please describe what the problem is, not just "the problem on my machine".

Actions #3

Updated by Alex Afanasyev almost 10 years ago

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.

Actions #4

Updated by Junxiao Shi almost 10 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF