LRUCache assert was triggered during disagg tests
Open
Nobody has claimed this yet.
component/storage
type/bug
- Dominant language
- C++
- Stars
- 1k
- Forks
- 423
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 24
Description
Bug Report
[2025/05/21 05:24:13.169 +08:00] [FATAL] [LRUCache.h:376] ["Assert current_weight < (1ull << 63) fail! LRUCache became inconsistent. There must be a bug in it."] [source=Fatal] [thread_id=16]
[2025/05/21 05:24:13.192 +08:00] [ERROR] [BaseDaemon.cpp:355] ["(from thread 16) Terminate called after throwing an instance of DB::Exception
Code: 0, e.displayText() = DB::Exception: Assert current_weight < (1ull << 63) fail! LRUCache became inconsistent. There must be a bug in it., e.what() = DB::Exception
Stack trace:
0x56085a6a3b06 terminate_handler() [tiflash+133139206]
dbms/src/Common/StackTrace.cpp:23
0x7fb7ad60b473 std::__terminate(void (*)()) [libc++abi.so.1+226419]
0x7fb7ad60b428 std::terminate() [libc++abi.so.1+226344]
0x560855ca1e21 void DB::exception_details::logAndTerminate<char const*&>(char const*, int, char const*, std::__1::shared_ptr<DB::Logger> const&, char const*&) [tiflash+55537185]
0x560855ca187b void DB::exception_details::logAndTerminate<>(char const*, int, char const*, char const*) [tiflash+55535739]
0x56085a63c0aa DB::LRUCache<DB::DM::Remote::RNMVCCIndexCache::CacheKey, DB::DM::Remote::RNMVCCIndexCache::CacheValue, DB::DM::Remote::RNMVCCIndexCache::CacheKeyHasher, DB::DM::Remote::RNMVCCIndexCache::CacheValueWeight>:"] [source=BaseDaemon] [thread_id=1066]
[2025/05/21 05:24:13.192 +08:00] [ERROR] [BaseDaemon.cpp:364] [########################################] [source=BaseDaemon] [thread_id=1066]
[2025/05/21 05:24:13.192 +08:00] [ERROR] [BaseDaemon.cpp:365] ["(from thread 16) Received signal Aborted(6)."] [source=BaseDaemon] [thread_id=1066]
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the disagg tests and inspect LRUCache.h at line 376, where the assertion is reported. Trace the RNMVCCIndexCache entry in the stack trace to identify the cause; done means the assertion no longer aborts the disagg tests and the failure has regression coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100