<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
<br>> This is the "clock jump" problem that I reported here a number of times<br>> last year. It can be triggered by an interruption in transmission of data<br>> over your Internet connection for a period exceeding<br>> NUM_JUMPED_SECONDS_BEFORE_WARN seconds (see src/or/main.c). Currently, that<br>> is 100 seconds. tor interprets this situation as meaning that it is running<br>> on a system that has just awakened from suspension/hibernation, so it marks<br>> all OR connections (and circuits over them) as having expired. It has been<br>> quite a few months since my relay last suffered from this situation, so I<br>> don't remember now whether it also results in publication of a new descriptor<br>> as if the relay had just been reinitialized.<br>> In the short run, you can work around the problem with the patch below,<br>> which will reduce broken connections but will not stop the holdups nor their<br>> effect upon the tor network. The better, longer-term solution is most likely<br>> to fire your ISP and hire a better one, which is what I did at the earliest<br>> opportunity.<br>> <br>> ---------->8 start of clockjump patch to 0.2.1.12-alpha 8<------------------<br>> *** main.c        2009/02/10 16:35:05        0.1<br>> --- main.c        2009/02/10 16:40:15<br>> ***************<br>> *** 1200,1206 ****<br>> <br>> /** If more than this many seconds have elapsed, probably the clock<br>> * jumped: doesn't count. */<br>> ! #define NUM_JUMPED_SECONDS_BEFORE_WARN 100<br>> if (seconds_elapsed < -NUM_JUMPED_SECONDS_BEFORE_WARN ||<br>> seconds_elapsed >= NUM_JUMPED_SECONDS_BEFORE_WARN) {<br>> circuit_note_clock_jumped(seconds_elapsed);<br>> --- 1200,1206 ----<br>> <br>> /** If more than this many seconds have elapsed, probably the clock<br>> * jumped: doesn't count. */<br>> ! #define NUM_JUMPED_SECONDS_BEFORE_WARN 300<br>> if (seconds_elapsed < -NUM_JUMPED_SECONDS_BEFORE_WARN ||<br>> seconds_elapsed >= NUM_JUMPED_SECONDS_BEFORE_WARN) {<br>> circuit_note_clock_jumped(seconds_elapsed);<br>> ---------->8 end of clockjump patch to 0.2.1.12-alpha 8<--------------------<br>> <br>> I haven't tried this on 0.2.0.34, but this area of the code seems to change<br>> fairly infrequently, so patch(1) can usually deal with changes in the line<br>> numbers from release to release. Or you can change "100" to "300" by hand,<br>> or course. :-)<br>> <br>> <br>> Scott Bennett, Comm. ASMELG, CFIAG<br>> <br><br>Thank you, that makes sense.<br>I don't compile, so I can't apply the patch, but perhaps the developers could add that constant to the torrc options?<br><br>GD<br><br /><hr />Windows Live™: Keep your life in sync. <a href='http://windowslive.com/explore?ocid=TXT_TAGLM_WL_allup_1b_explore_032009' target='_new'>Check it out.</a></body>
</html>