[tor-bugs] #7164 [Tor]: microdesc.c:378: Bug: microdesc_free() called, but md was still referenced 1 node(s); held_by_nodes == 1
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Mar 27 02:08:04 UTC 2014
#7164: microdesc.c:378: Bug: microdesc_free() called, but md was still referenced
1 node(s); held_by_nodes == 1
------------------------+-------------------------------------
Reporter: jaj123 | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: Tor: 0.2.5.x-final
Component: Tor | Version: Tor: 0.2.4.19
Resolution: | Keywords: tor-client 024-backport
Actual Points: | Parent ID:
Points: |
------------------------+-------------------------------------
Comment (by nickm):
>The test that would match the old behavior would be just if (is_old),
surely?
The old behavior was to call "microdesc_free()" if the microdescriptor was
old... and then the warning would be produced because held_by_nodes was
nonzero, and we wouldn't free the thing. The change here has the old
behavior in the non-warning case, and the new behavior in the case where
we would have given a warning.
> Also, the wording of the log messages ("Microdescriptor seemed very old
(last listed %d hours ago vs %d hour cutoff), but is still marked as being
held by %d node(s). I found %d node(s) holding it.") suggests you only
want to emit for old microdescriptors, but the enclosing test is just if
(held_by_nodes) rather than if (is_old && held_by_nodes). Am I missing
something here?
Oops. Yeah, adding a fixup commit. Better now?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7164#comment:36>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list