diff options
author | Nick Mathewson <nickm@torproject.org> | 2015-11-26 12:44:12 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-11-26 12:44:12 -0500 |
commit | 0c7bfb206ea14ea3115c1b8b214ec79f5e6694e1 (patch) | |
tree | 3a3aadd316499262107db493a88ef63d8c6a7970 | |
parent | fc264975b15b7e6b731441a4363da53b3b28f415 (diff) | |
download | tor-0c7bfb206ea14ea3115c1b8b214ec79f5e6694e1.tar.gz tor-0c7bfb206ea14ea3115c1b8b214ec79f5e6694e1.zip |
improve log messages to try to track down #17659
-rw-r--r-- | src/or/connection_edge.c | 14 | ||||
-rw-r--r-- | src/or/connection_edge.h | 5 |
2 files changed, 13 insertions, 6 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index aad1ea40f6..496fe21b11 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -800,8 +800,10 @@ connection_ap_attach_pending(int retry) continue; } if (conn->state != AP_CONN_STATE_CIRCUIT_WAIT) { - log_warn(LD_BUG, "%p is no longer in circuit_wait. Why is it on " - "pending_entry_connections?", entry_conn); + log_warn(LD_BUG, "%p is no longer in circuit_wait. Its current state " + "is %s. Why is it on pending_entry_connections?", + entry_conn, + conn_state_to_string(conn->type, conn->state)); SMARTLIST_DEL_CURRENT(pending_entry_connections, entry_conn); continue; } @@ -831,7 +833,8 @@ connection_ap_attach_pending(int retry) * call connection_ap_attach_pending(). */ void -connection_ap_mark_as_pending_circuit(entry_connection_t *entry_conn) +connection_ap_mark_as_pending_circuit_(entry_connection_t *entry_conn, + const char *fname, int lineno) { connection_t *conn = ENTRY_TO_CONN(entry_conn); tor_assert(conn->state == AP_CONN_STATE_CIRCUIT_WAIT); @@ -843,8 +846,9 @@ connection_ap_mark_as_pending_circuit(entry_connection_t *entry_conn) if (PREDICT_UNLIKELY(smartlist_contains(pending_entry_connections, entry_conn))) { - log_warn(LD_BUG, "What?? pending_entry_connections already contains %p!", - entry_conn); + log_warn(LD_BUG, "What?? pending_entry_connections already contains %p! " + "(called from %s:%d)", + entry_conn, fname, lineno); return; } diff --git a/src/or/connection_edge.h b/src/or/connection_edge.h index 521e759aed..90cf2a350f 100644 --- a/src/or/connection_edge.h +++ b/src/or/connection_edge.h @@ -66,7 +66,10 @@ int connection_ap_can_use_exit(const entry_connection_t *conn, void connection_ap_expire_beginning(void); void connection_ap_rescan_and_attach_pending(void); void connection_ap_attach_pending(int retry); -void connection_ap_mark_as_pending_circuit(entry_connection_t *entry_conn); +void connection_ap_mark_as_pending_circuit_(entry_connection_t *entry_conn, + const char *file, int line); +#define connection_ap_mark_as_pending_circuit(c) \ + connection_ap_mark_as_pending_circuit_((c), __FILE__, __LINE__) void connection_ap_fail_onehop(const char *failed_digest, cpath_build_state_t *build_state); void circuit_discard_optional_exit_enclaves(extend_info_t *info); |