r18463@catbus: nickm | 2008-02-27 14:19:21 -0500

Backport: Add better warnings for the error that produced bug 614, and downgrade from a tor_assert() to a tor_fragile_assert().


svn:r13753
This commit is contained in:
Nick Mathewson 2008-02-27 19:19:38 +00:00
parent 28f353a684
commit b229154fa8
2 changed files with 14 additions and 3 deletions

View File

@ -1,5 +1,8 @@
Changes in version 0.2.0.21-rc - 2008-0?-??
o Minor bugfixes:
- Downgrade assert in connection_buckets_decrement() to a log message.
This may help us solve bug 614, and in any case will make its symptoms
less severe. Bugfix on 0.2.0.20-rc.
Changes in version 0.2.0.20-rc - 2008-02-24
Tor 0.2.0.20-rc is the first release candidate for the 0.2.0 series. It

View File

@ -1576,8 +1576,16 @@ connection_buckets_decrement(connection_t *conn, time_t now,
{
if (!connection_is_rate_limited(conn))
return; /* local IPs are free */
tor_assert(num_read < INT_MAX);
tor_assert(num_written < INT_MAX);
if (num_written >= INT_MAX || num_read >= INT_MAX) {
log_err(LD_BUG, "Value out of range. num_read=%lu, num_written=%lu, "
"connection type=%s, state=%s",
(unsigned long)num_read, (unsigned long)num_written,
conn_type_to_string(conn->type),
conn_state_to_string(conn->type, conn->state));
if (num_written >= INT_MAX) num_written = 1;
if (num_read >= INT_MAX) num_read = 1;
tor_fragile_assert();
}
if (num_read > 0)
rep_hist_note_bytes_read(num_read, now);