[tor-bugs] #17724 [Tor]: Unreliable rend_cache_purge test

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Nov 30 16:46:40 UTC 2015


#17724: Unreliable rend_cache_purge test
-----------------------------+------------------------------
     Reporter:  cypherpunks  |      Owner:
         Type:  defect       |     Status:  new
     Priority:  Medium       |  Milestone:
    Component:  Tor          |    Version:  Tor: unspecified
     Severity:  Minor        |   Keywords:
Actual Points:               |  Parent ID:
       Points:               |    Sponsor:
-----------------------------+------------------------------
 The `test_rend_cache_purge` function contains an assertion which verifies
 that the internal strmap does not change after a purge
 (`src/test/test_rendcache.c:1044` on
 0a701e537778ac9da31049f4efebf7cb2bf9c285).

 However, the `rend_cache_purge` function frees the internal strmap and
 allocates a new one. This turns the assertion in a check whether memory
 allocation returns the same address as was just freed. The C11 standard
 mentions that a previous call to `free` is synchronized with a call to
 `malloc` [0].

 I found the issue during a Valgrind run which probably changed the
 behavior of `free` and `malloc` to track them and caused the assertion to
 fail.

 I am suggesting to remove the assertion because it verifies behavior that
 does not affect normal operation and (in my case) interferes with testing.

 [0] [http://en.cppreference.com/w/c/memory/malloc]

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/17724>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list