diff options
-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 d8f09d320d..ba9c09b843 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" @@ -500,11 +501,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 */ } |