Crash on directory authority in dirserv_query_measured_bw_cache_kb
Roger reports:
#0 digestmap_get (map=0x1467b60, key=0x2c <Address 0x2c out of bounds>)
at src/common/container.c:1155
1155 memcpy(&search.key, key, DIGEST_LEN);
Happens when moria1 tried to vote after being off for a few days.
--Roger
#0 digestmap_get (map=0x1467b60, key=0x2c <Address 0x2c out of bounds>)
at src/common/container.c:1155
#1 0x00000000004c50e8 in dirserv_query_measured_bw_cache_kb (
node_id=<value optimized out>, bw_kb_out=0x0, as_of_out=0x0)
at src/or/dirserv.c:2166
#2 0x00000000004c6406 in router_counts_toward_thresholds (node=0x2920a40,
now=44, omit_as_sybil=0x0, require_mbw=1) at src/or/dirserv.c:1892
#3 0x00000000004c6730 in dirserv_compute_performance_thresholds (
rl=<value optimized out>, omit_as_sybil=0x2013610) at src/or/dirserv.c:1959
#4 0x00000000004cbdf1 in dirserv_generate_networkstatus_vote_obj (
private_key=<value optimized out>, cert=<value optimized out>)
at src/or/dirserv.c:3022
#5 0x00000000004d603b in dirvote_perform_vote (options=0x14659e0,
now=1367744169) at src/or/dirvote.c:2741
#6 dirvote_act (options=0x14659e0, now=1367744169) at src/or/dirvote.c:2658
#7 0x000000000040cf3b in run_scheduled_events (timer=<value optimized out>,
arg=<value optimized out>) at src/or/main.c:1454
#8 second_elapsed_callback (timer=<value optimized out>,
arg=<value optimized out>) at src/or/main.c:1684
#9 0x00007f9a47435344 in event_base_loop () from /usr/lib/libevent-1.4.so.2
#10 0x0000000000409fc1 in do_main_loop () at src/or/main.c:1980
#11 0x000000000040a2fd in tor_main (argc=<value optimized out>,
argv=0x7fff0d4ccbd8) at src/or/main.c:2696
#12 0x00007f9a466e6c8d in __libc_start_main (main=<value optimized out>,
argc=<value optimized out>, ubp_av=<value optimized out>,
init=<value optimized out>, fini=<value optimized out>,
rtld_fini=<value optimized out>, stack_end=0x7fff0d4ccbc8)
at libc-start.c:228
#13 0x0000000000408789 in _start ()
(gdb) print search
$1 = {node = {hte_next = 0x145a3e0, hte_hash = 1436908804}, val = 0x1,
key = "E^\025òx\214\211\206ÿSÂ\214q#\201A·ßzì"}
(gdb) up
#1 0x00000000004c50e8 in dirserv_query_measured_bw_cache_kb (
node_id=<value optimized out>, bw_kb_out=0x0, as_of_out=0x0)
at src/or/dirserv.c:2166
2166 v = digestmap_get(mbw_cache, node_id);