diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-09-29 09:24:01 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-09-29 09:24:01 -0400 |
commit | 1b6ccb52eab139cd836e01316c46252e8c143288 (patch) | |
tree | f3ef0f483a726d795da1a44227488521dec651c5 /src/or/relay.c | |
parent | 4e6374c26b909027bd90ad722902205e5eaa13f4 (diff) | |
download | tor-1b6ccb52eab139cd836e01316c46252e8c143288.tar.gz tor-1b6ccb52eab139cd836e01316c46252e8c143288.zip |
Log more information when bug8185 is about to trigger.
My current theory is that this is just a marked circuit that hasn't
closed yet, but let's gather more information in case that theory is
wrong.
Diagnostic for 8185.
Diffstat (limited to 'src/or/relay.c')
-rw-r--r-- | src/or/relay.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/or/relay.c b/src/or/relay.c index 2bfec342d3..ef4b1f423f 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -500,7 +500,15 @@ circuit_package_relay_cell(cell_t *cell, circuit_t *circ, chan = circ->n_chan; if (!chan) { log_warn(LD_BUG,"outgoing relay cell sent from %s:%d has n_chan==NULL." - " Dropping.", filename, lineno); + " Dropping. Circuit is in state %s (%d), and is " + "%smarked for close. (%s:%d, %d)", filename, lineno, + circuit_state_to_string(circ->state), circ->state, + circ->marked_for_close ? "" : "not ", + circ->marked_for_close_file?circ->marked_for_close_file:"", + circ->marked_for_close, circ->marked_for_close_reason); + if (CIRCUIT_IS_ORIGIN(circ)) { + circuit_log_path(LOG_WARN, LD_BUG, TO_ORIGIN_CIRCUIT(circ)); + } log_backtrace(LOG_WARN,LD_BUG,""); return 0; /* just drop it */ } |