Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-2951

FreeableMemory can be accessed after it is invalid

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 0.8.3
    • 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).

      Attachments

        1. 2951.txt
          3 kB
          Jonathan Ellis

        Activity

          People

            jbellis Jonathan Ellis
            jbellis Jonathan Ellis
            Jonathan Ellis
            Sylvain Lebresne
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: