#28780: circpadding: Add machine flag for not closing circuit if machine is active -------------------------------------------------+------------------------- Reporter: asn | Owner: (none) Type: defect | Status: | needs_information Priority: Very High | Milestone: Tor: | 0.4.1.x-final Component: Core Tor/Tor | Version: Severity: Normal | Resolution: Keywords: wtf-pad, tor-relay, tor-cell, | Actual Points: 6 padding, 041-proposed, network-team- | roadmap-2019-Q1Q2 | Parent ID: #28634 | Points: 5 Reviewer: asn | Sponsor: | Sponsor2 -------------------------------------------------+-------------------------
Comment (by mikeperry): Replying to [comment:33 asn]: > I'm also getting this Bug on my #28634 branch with hte latest #28780 revision: > {{{ > May 08 13:34:07.858 [info] circpad_circuit_should_be_marked_for_close(): Circuit 4 is not marked for close because of a pending padding machine. > May 08 13:21:01.602 [info] pathbias_should_count(): Bug: Circuit 4 is now being counted despite being ignored in the past. Purpose is Circuit kept open for padding, path > state is already counted (on Tor 0.4.1.0-alpha-dev 4b09a5063381fc1c) > }}} Aha, I tracked this down. This log message is because we changed the purpose on the onion service circuit that was being ignored by pathbias in the past. The fix is simple; we should still ignore it in this case: https://github.com/torproject/tor/pull/966/commits/b3a93fc26b6c8e50d009ee3d5ac49ebdd23320d8 > {{{ > May 08 17:41:12.611 [notice] pathbias_mark_use_success(): Bug: Used circuit 18 is in strange path state new. Circuit is a Circuit kept open for padding currently open. (on Tor 0.4.1.0-alpha-dev 4b09a5063381fc1c) > May 08 17:41:12.611 [notice] pathbias_count_use_attempt(): Bug: Used circuit is in strange path state new. Circuit is a Circuit kept open for padding currently open. (on Tor 0.4.1.0-alpha-dev 4b09a5063381fc1c) > }}} Are these two log messages preceded by a similar pathbias_should_count() message as the one above? This looks like another consequence of the first issue. Just in case it is not, I committed pathbias log message improvements https://github.com/torproject/tor/pull/966/commits/a8cea4260166bd77fa6fc1f29c0d2705d0c6e0c0 to help chase this down otherwise. Control port CIRC and CIRC_MINOR event logs might help more. I'm still thinking about overall approach here. I am leaning towards using approx_time() to cheaply assert that PADDING circuits don't ever sit around unused for more than their 1.25 hour delay period, and about how to refactor circuit_expire_old_circuits_clientside() and/or circuit_mark_for_close without risking more pathbias or other issues. -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28780#comment:34> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs