[tor-bugs] #5828 [Tor Directory Authority]: Something is super-inefficient in router_get_extrainfo_hash()

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Thu May 10 21:12:44 UTC 2012


#5828: Something is super-inefficient in router_get_extrainfo_hash()
-------------------------------------+--------------------------------------
 Reporter:  arma                     |          Owner:                    
     Type:  defect                   |         Status:  new               
 Priority:  normal                   |      Milestone:  Tor: 0.2.4.x-final
Component:  Tor Directory Authority  |        Version:                    
 Keywords:                           |         Parent:                    
   Points:                           |   Actualpoints:                    
-------------------------------------+--------------------------------------
 Directory authorities take many many seconds on startup. Here's a sample
 "caught in action" backtrace:
 {{{
 #0  __strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:42
 #1  0x000000000044c559 in router_get_extrainfo_hash (
     s=0x7f6b1d7f85d0
 "91636480,181809152,232414208,266457088,206202880,157964288,194236416,99298304,117380096,129568768,180029440,295925760,168070144,218587136,144269312,166875136,209831936,219027456,345060352,452635648,24"...,
     digest=0xfffffff8 <Address 0xfffffff8 out of bounds>) at
 routerparse.c:690
 #2  0x000000000044c5e7 in extrainfo_parse_entry_from_string (
     s=0x7f6b1c191433 "extra-info Acinonyx
 00753CF56F75042D24F6E89281E8DDF283F3EFAA\npublished 2012-05-05 02:42:00
 \nwrite-history 2012-05-05 02:36:01 (900 s)
 3520512,933888,854016,495616,362496,1203200,1422336,17627136,105410"...,
     end=0x7f6b1c191cb0 "\nextra-info otherland
 ECFAA6900D5EDFEAD6E31236D9656BBC94E9DF57\npublished 2012-05-05 02:44:28
 \nwrite-history 2012-05-05 02:35:55 (900 s)
 797696,72704,24576,43008,21504,21504,41984,16384,29696,29696,2150"...,
     cache_copy=<value optimized out>, routermap=0x3) at routerparse.c:1646
 #3  0x000000000044e23d in router_parse_list_from_string (s=0x7fffcc85ce98,
     eos=0x7f6b1e3fe7e1 "", dest=<value optimized out>,
     saved_location=SAVED_IN_CACHE, want_extrainfo=<value optimized out>,
     allow_annotations=<value optimized out>, prepend_annotations=0x0)
     at routerparse.c:1199
 #4  0x0000000000445afd in router_load_extrainfo_from_string (
     s=0x7f6b1c191433 "extra-info Acinonyx
 00753CF56F75042D24F6E89281E8DDF283F3EFAA\npublished 2012-05-05 02:42:00
 \nwrite-history 2012-05-05 02:36:01 (900 s)
 3520512,933888,854016,495616,362496,1203200,1422336,17627136,105410"...,
     eos=0x7f6b1e3fe7e1 "", saved_location=SAVED_IN_CACHE,
     requested_fingerprints=<value optimized out>,
     descriptor_digests=<value optimized out>) at routerlist.c:3948
 #5  0x0000000000445fb9 in router_reload_router_list_impl (store=0x22f9110)
     at routerlist.c:847
 #6  0x0000000000446229 in router_reload_router_list () at routerlist.c:903
 #7  0x0000000000409f25 in do_main_loop () at main.c:1864
 #8  0x000000000040a34d in tor_main (argc=<value optimized out>,
     argv=0x7fffcc85d158) at main.c:2619
 #9  0x00007f6b1f75ac8d 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=0x7fffcc85d148)
     at libc-start.c:228
 #10 0x0000000000408839 in _start ()
 }}}

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/5828>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list