[tor-commits] [tor/maint-0.2.8] When tor can't find a directory, log less

nickm at torproject.org nickm at torproject.org
Fri Jul 1 13:54:17 UTC 2016


commit 744077dd155c347092002d2fa642ebdaca651608
Author: teor (Tim Wilson-Brown) <teor2345 at gmail.com>
Date:   Fri Jul 1 14:26:00 2016 +1000

    When tor can't find a directory, log less
---
 changes/bug18849    |  4 ++++
 src/or/routerlist.c | 18 ++++++++----------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/changes/bug18849 b/changes/bug18849
new file mode 100644
index 0000000..b12a8da
--- /dev/null
+++ b/changes/bug18849
@@ -0,0 +1,4 @@
+  o Minor bugfix (logging):
+    - Reduce excessive logging when directories can't be found.
+      Fixes bug 18849; bugfix on 0.2.8.3-alpha and 0.2.8.1-alpha.
+      Patch by teor.
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 49d7680..620c32d 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1579,20 +1579,18 @@ router_picked_poor_directory_log(const routerstatus_t *rs)
 #endif
 
   /* We couldn't find a node, or the one we have doesn't fit our preferences.
-   * This might be a bug. */
+   * Sometimes this is normal, sometimes it can be a reachability issue. */
   if (!rs) {
-    static int logged_backtrace = 0;
-    log_info(LD_BUG, "Wanted to make an outgoing directory connection, but "
-             "all OR and Dir addresses for all relays were not reachable. "
-             "Check ReachableAddresses, ClientUseIPv4, and similar options.");
-    if (!logged_backtrace) {
-      log_backtrace(LOG_INFO, LD_BUG, "Node search initiated by");
-      logged_backtrace = 1;
-    }
+    /* This happens a lot, so it's at debug level */
+    log_debug(LD_DIR, "Wanted to make an outgoing directory connection, but "
+              "we couldn't find a directory that fit our criteria. "
+              "Perhaps we will succeed next time with less strict criteria.");
   } else if (!fascist_firewall_allows_rs(rs, FIREWALL_OR_CONNECTION, 1)
              && !fascist_firewall_allows_rs(rs, FIREWALL_DIR_CONNECTION, 1)
              ) {
-    log_info(LD_BUG, "Selected a directory %s with non-preferred OR and Dir "
+    /* This is rare, and might be interesting to users trying to diagnose
+     * connection issues on dual-stack machines. */
+    log_info(LD_DIR, "Selected a directory %s with non-preferred OR and Dir "
              "addresses for launching an outgoing connection: "
              "IPv4 %s OR %d Dir %d IPv6 %s OR %d Dir %d",
              routerstatus_describe(rs),



More information about the tor-commits mailing list