From 0e94b9ff7738fc9c86995eee1fcf368b4e570df7 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sat, 17 Apr 2004 05:17:40 +0000 Subject: [PATCH] more useful logs to track weasel's bug svn:r1649 --- src/or/connection_edge.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 2b8ab08ea2..28ce5a2ccf 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -866,15 +866,17 @@ void link_apconn_to_circ(connection_t *apconn, circuit_t *circ) { */ int connection_ap_handshake_attach_circuit(connection_t *conn) { int retval; + int conn_age; assert(conn); assert(conn->type == CONN_TYPE_AP); assert(conn->state == AP_CONN_STATE_CIRCUIT_WAIT); assert(conn->socks_request); - if(conn->timestamp_created < time(NULL)-60) { + conn_age = time(NULL) - conn->timestamp_created; + if(conn_age > 60) { /* XXX make this cleaner than '60' */ - log_fn(LOG_WARN,"Giving up on attached circ (60s late)."); + log_fn(LOG_WARN,"Giving up on attached circ (%d sec old).", conn_age); connection_mark_for_close(conn, 0); } @@ -888,6 +890,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) { /* We have found a suitable circuit for our conn. Hurray. */ + log_fn(LOG_DEBUG,"Attaching apconn to general circ (%d sec old).", conn_age); /* here, print the circ's path. so people can figure out which circs are sucking. */ circuit_log_path(LOG_INFO,circ); @@ -912,7 +915,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) { if(retval > 0) { /* one is already established, attach */ - log_fn(LOG_INFO,"rend joined circ already here. attaching."); + log_fn(LOG_INFO,"rend joined circ already here. attaching. (%d sec old)", conn_age); link_apconn_to_circ(conn, rendcirc); if(connection_ap_handshake_send_begin(conn, rendcirc) < 0) return 0; /* already marked, let them fade away */ @@ -920,7 +923,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) { } if(rendcirc->purpose == CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED) { - log_fn(LOG_INFO,"pending-join circ already here, with intro ack. Stalling."); + log_fn(LOG_INFO,"pending-join circ already here, with intro ack. Stalling. (%d sec old)", conn_age); return 0; } @@ -931,19 +934,19 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) { if(retval > 0) { /* one has already sent the intro. keep waiting. */ - log_fn(LOG_INFO,"Intro circ present and awaiting ack. Stalling."); + log_fn(LOG_INFO,"Intro circ present and awaiting ack. Stalling. (%d sec old)", conn_age); return 0; } /* now both rendcirc and introcirc are defined, and neither is finished */ if(rendcirc->purpose == CIRCUIT_PURPOSE_C_REND_READY) { - log_fn(LOG_INFO,"ready rend circ already here (no intro-ack yet)."); + log_fn(LOG_INFO,"ready rend circ already here (no intro-ack yet). (%d sec old)", conn_age); /* look around for any new intro circs that should introduce */ assert(introcirc->purpose == CIRCUIT_PURPOSE_C_INTRODUCING); if(introcirc->state == CIRCUIT_STATE_OPEN) { - log_fn(LOG_INFO,"found open intro circ; sending introduction."); + log_fn(LOG_INFO,"found open intro circ; sending introduction. (%d sec old)", conn_age); /* XXX here we should cannibalize the rend circ if it's a zero service id */ if(rend_client_send_introduction(introcirc, rendcirc) < 0) { return -1; @@ -956,7 +959,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) { } } - log_fn(LOG_INFO,"Intro and rend circs are not both ready. Stalling conn."); + log_fn(LOG_INFO,"Intro and rend circs are not both ready. Stalling conn. (%d sec old)", conn_age); return 0; } }