#24502: scheduler_release_channel: Non-fatal assertion -----------------------------------+------------------------------------ Reporter: toralf | Owner: (none) Type: defect | Status: needs_review Priority: Low | Milestone: Tor: 0.3.2.x-final Component: Core Tor/Tor | Version: Tor: 0.3.2.6-alpha Severity: Normal | Resolution: Keywords: tor-sched, regression | Actual Points: Parent ID: | Points: Reviewer: | Sponsor: -----------------------------------+------------------------------------ Changes (by dgoulet):
* keywords: tor-sched => tor-sched, regression * status: needs_information => needs_review * priority: High => Low Comment: Thanks toralf! Bottom line here is that a release on a channel has been done by `connection_or_about_to_close()` meaning the channel's connection was closed in error state. This seems to be coming from the libevent main loop, most likely the `write_event` of the connection. I think what happened is that the channel was in pending state in the scheduler, it got into the first condition `if (socket_can_write(&socket_table, chan)) {` but then because the channel wasn't opened, we moved to the next channel. This had two consequences. First, the channel scheduler state is kept at `PENDING` but it is not put back in the channel pending list. Second, because it is still in that state, `scheduler_release_channel()` triggered that bug but at least clean it up properly. A `PENDING` state for a channel implies that it *has* to be in the pending list. The KIST scheduler has 4 conditions and each of them should end with setting the channel scheduler state to reflect what has been done with it. The condition I outlined above is really the only place I can find where we fail to update the state properly. It has been introduced with `dcabf801e52` (0.3.2.4-alpha). Fortunately, this is harmless but annoying. Branch: `bug24502_032_01` -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/24502#comment:5> 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