improve log messages to try to track down #17659

This commit is contained in:
Nick Mathewson 2015-11-26 12:44:12 -05:00
parent fc264975b1
commit 0c7bfb206e
2 changed files with 13 additions and 6 deletions

View File

@ -800,8 +800,10 @@ connection_ap_attach_pending(int retry)
continue; continue;
} }
if (conn->state != AP_CONN_STATE_CIRCUIT_WAIT) { if (conn->state != AP_CONN_STATE_CIRCUIT_WAIT) {
log_warn(LD_BUG, "%p is no longer in circuit_wait. Why is it on " log_warn(LD_BUG, "%p is no longer in circuit_wait. Its current state "
"pending_entry_connections?", entry_conn); "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); SMARTLIST_DEL_CURRENT(pending_entry_connections, entry_conn);
continue; continue;
} }
@ -831,7 +833,8 @@ connection_ap_attach_pending(int retry)
* call connection_ap_attach_pending(). * call connection_ap_attach_pending().
*/ */
void 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); connection_t *conn = ENTRY_TO_CONN(entry_conn);
tor_assert(conn->state == AP_CONN_STATE_CIRCUIT_WAIT); 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, if (PREDICT_UNLIKELY(smartlist_contains(pending_entry_connections,
entry_conn))) { entry_conn))) {
log_warn(LD_BUG, "What?? pending_entry_connections already contains %p!", log_warn(LD_BUG, "What?? pending_entry_connections already contains %p! "
entry_conn); "(called from %s:%d)",
entry_conn, fname, lineno);
return; return;
} }

View File

@ -66,7 +66,10 @@ int connection_ap_can_use_exit(const entry_connection_t *conn,
void connection_ap_expire_beginning(void); void connection_ap_expire_beginning(void);
void connection_ap_rescan_and_attach_pending(void); void connection_ap_rescan_and_attach_pending(void);
void connection_ap_attach_pending(int retry); 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, void connection_ap_fail_onehop(const char *failed_digest,
cpath_build_state_t *build_state); cpath_build_state_t *build_state);
void circuit_discard_optional_exit_enclaves(extend_info_t *info); void circuit_discard_optional_exit_enclaves(extend_info_t *info);