diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-09-07 08:49:11 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-09-07 08:49:11 -0400 |
commit | 9c404602a0a5dd0b916957f4c456c59defecea13 (patch) | |
tree | 229bcc40f5d2f13428ef22cca3484ecdecf0faea | |
parent | fd0a894d2878613fd4d5856401a2bdf5b92173af (diff) | |
download | tor-9c404602a0a5dd0b916957f4c456c59defecea13.tar.gz tor-9c404602a0a5dd0b916957f4c456c59defecea13.zip |
Add a stack trace to the warning at issue with 23105.
With luck, this will help us diagnose 23105 and fix it.
I also added a stack trace to the warning right before it, since why
not.
-rw-r--r-- | changes/bug23105-diagnostic | 4 | ||||
-rw-r--r-- | src/or/relay.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/changes/bug23105-diagnostic b/changes/bug23105-diagnostic new file mode 100644 index 0000000000..8ba4931e36 --- /dev/null +++ b/changes/bug23105-diagnostic @@ -0,0 +1,4 @@ + o Minor features (diagnostic): + - Add a stack trace to the bug warnings that can be logged when + trying to send an outgoing relay cell with n_chan == 0. + Diagnostic attempt for bug 23105. diff --git a/src/or/relay.c b/src/or/relay.c index 0ff53ed5e9..cb1a0692b6 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -48,6 +48,7 @@ #define RELAY_PRIVATE #include "or.h" #include "addressmap.h" +#include "backtrace.h" #include "buffers.h" #include "channel.h" #include "circpathbias.h" @@ -511,11 +512,13 @@ circuit_package_relay_cell(cell_t *cell, circuit_t *circ, if (!chan) { log_warn(LD_BUG,"outgoing relay cell sent from %s:%d has n_chan==NULL." " Dropping.", filename, lineno); + log_backtrace(LOG_WARN,LD_BUG,""); return 0; /* just drop it */ } if (!CIRCUIT_IS_ORIGIN(circ)) { log_warn(LD_BUG,"outgoing relay cell sent from %s:%d on non-origin " "circ. Dropping.", filename, lineno); + log_backtrace(LOG_WARN,LD_BUG,""); return 0; /* just drop it */ } |