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.
This commit is contained in:
Nick Mathewson 2017-09-07 08:49:11 -04:00
parent fd0a894d28
commit 9c404602a0
2 changed files with 7 additions and 0 deletions

View File

@ -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.

View File

@ -48,6 +48,7 @@
#define RELAY_PRIVATE #define RELAY_PRIVATE
#include "or.h" #include "or.h"
#include "addressmap.h" #include "addressmap.h"
#include "backtrace.h"
#include "buffers.h" #include "buffers.h"
#include "channel.h" #include "channel.h"
#include "circpathbias.h" #include "circpathbias.h"
@ -511,11 +512,13 @@ circuit_package_relay_cell(cell_t *cell, circuit_t *circ,
if (!chan) { if (!chan) {
log_warn(LD_BUG,"outgoing relay cell sent from %s:%d has n_chan==NULL." log_warn(LD_BUG,"outgoing relay cell sent from %s:%d has n_chan==NULL."
" Dropping.", filename, lineno); " Dropping.", filename, lineno);
log_backtrace(LOG_WARN,LD_BUG,"");
return 0; /* just drop it */ return 0; /* just drop it */
} }
if (!CIRCUIT_IS_ORIGIN(circ)) { if (!CIRCUIT_IS_ORIGIN(circ)) {
log_warn(LD_BUG,"outgoing relay cell sent from %s:%d on non-origin " log_warn(LD_BUG,"outgoing relay cell sent from %s:%d on non-origin "
"circ. Dropping.", filename, lineno); "circ. Dropping.", filename, lineno);
log_backtrace(LOG_WARN,LD_BUG,"");
return 0; /* just drop it */ return 0; /* just drop it */
} }