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); ```
issue