Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #5828

Closed (moved)
Open
Opened May 10, 2012 by Roger Dingledine@arma

Something is super-inefficient in router_get_extrainfo_hash()

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 ()
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
Tor: 0.2.3.x-final
Milestone
Tor: 0.2.3.x-final
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#5828