[tor-commits] [tor/release-0.4.0] Lower log level of unlink() errors in networkstatus_set_current_consensus().

asn at torproject.org asn at torproject.org
Tue Apr 30 16:27:00 UTC 2019


commit 04290724957e14710646a5c28bd3230710466c92
Author: Alexander Færøy <ahf at torproject.org>
Date:   Thu Apr 25 01:50:13 2019 +0200

    Lower log level of unlink() errors in networkstatus_set_current_consensus().
    
    In this patch we lower the log level of the failures for the three calls
    to unlink() in networkstatus_set_current_consensus(). These errors might
    trigger on Windows because the memory mapped consensus file keeps the
    file in open state even after we have close()'d it. Windows will then
    error on the unlink() call with a "Permission denied" error.
    
    The consequences of ignoring these errors is that we leave an unused
    file around on the file-system, which is an easier way to fix this
    problem right now than refactoring networkstatus_set_current_consensus().
    
    See: https://bugs.torproject.org/29930
---
 changes/bug29930                     |  4 ++++
 src/feature/nodelist/networkstatus.c | 18 +++++++++---------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/changes/bug29930 b/changes/bug29930
new file mode 100644
index 000000000..a99b11430
--- /dev/null
+++ b/changes/bug29930
@@ -0,0 +1,4 @@
+  o Minor bugfixes (UI):
+    - Lower log level of unlink() errors during bootstrap. Fixes bug 29930;
+      bugfix on 0.4.0.1-alpha.
+
diff --git a/src/feature/nodelist/networkstatus.c b/src/feature/nodelist/networkstatus.c
index a988f700f..24e3b212f 100644
--- a/src/feature/nodelist/networkstatus.c
+++ b/src/feature/nodelist/networkstatus.c
@@ -2033,9 +2033,9 @@ networkstatus_set_current_consensus(const char *consensus,
          * latest consensus. */
         if (was_waiting_for_certs && from_cache)
           if (unlink(unverified_fname) != 0) {
-            log_warn(LD_FS,
-                     "Failed to unlink %s: %s",
-                     unverified_fname, strerror(errno));
+            log_debug(LD_FS,
+                      "Failed to unlink %s: %s",
+                      unverified_fname, strerror(errno));
           }
       }
       goto done;
@@ -2048,9 +2048,9 @@ networkstatus_set_current_consensus(const char *consensus,
       }
       if (was_waiting_for_certs && (r < -1) && from_cache) {
         if (unlink(unverified_fname) != 0) {
-            log_warn(LD_FS,
-                     "Failed to unlink %s: %s",
-                     unverified_fname, strerror(errno));
+            log_debug(LD_FS,
+                      "Failed to unlink %s: %s",
+                      unverified_fname, strerror(errno));
         }
       }
       goto done;
@@ -2115,9 +2115,9 @@ networkstatus_set_current_consensus(const char *consensus,
     waiting->set_at = 0;
     waiting->dl_failed = 0;
     if (unlink(unverified_fname) != 0) {
-      log_warn(LD_FS,
-               "Failed to unlink %s: %s",
-               unverified_fname, strerror(errno));
+      log_debug(LD_FS,
+                "Failed to unlink %s: %s",
+                unverified_fname, strerror(errno));
     }
   }
 





More information about the tor-commits mailing list