Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
-
Low
Description
SerializingCache.get looks like this:
public V get(Object key) { FreeableMemory mem = map.get(key); if (mem == null) return null; return deserialize(mem); }
If a cache object is evicted or replaced after the get happens, but before deserialize completes, we will trigger an assertion failure (if asserts are enabled) or segfault (if they are not).