[tor-bugs] #11156 [Tor]: "can't find a pluggable transport proxy" errors when obfsproxy started up

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Mar 7 14:14:20 UTC 2014


#11156: "can't find a pluggable transport proxy" errors when obfsproxy started up
------------------------+--------------------------------
     Reporter:  asn     |      Owner:
         Type:  defect  |     Status:  new
     Priority:  normal  |  Milestone:  Tor: 0.2.5.x-final
    Component:  Tor     |    Version:
   Resolution:          |   Keywords:  tor-pt tor-client
Actual Points:          |  Parent ID:
       Points:          |
------------------------+--------------------------------

Comment (by asn):

 After a little bit of debugging, I found out that the errors were thrown
 because we tried to create an OR connection before the managed proxy was
 finished configuring (managed proxies are configured with a configuration
 protocol, that takes a bit of time).

 ATM, we are blocking bridge descriptor fetches when PTs haven't finished
 configuring, by doing:
 {{{
   if (pt_proxies_configuration_pending())
     return;
 }}}
 in `fetch_bridge_descriptors()`. But apparently, blocking that function is
 not sufficient to postpone all OR connections.

 For example, the errors in brade's bug were caused because of the:
 {{{
 ...
 #12 0x0000555555633c43 in directory_initiate_command (if_modified_since=0,
 payload_len=0, payload=0x0, resource=0x55555568a2c7 "microdesc",
 indirection=DIRIND_ONEHOP, router_purpose=0 '\000', dir_purpose=14 '\016',
     digest=0x555555c5f27c
 "\240\235Sm\321u-T.\037\273<\234\344D\235Q)\202\071\020\313\031S",
 dir_port=0, or_port=<optimized out>, _addr=0x7fffffffdfa0,
 address=<optimized out>) at src/or/directory.c:878
 #13 directory_get_from_dirserver (dir_purpose=dir_purpose at entry=14 '\016',
 router_purpose=router_purpose at entry=0 '\000', resource=<optimized out>,
 resource at entry=0x55555568a2c7 "microdesc", pds_flags=pds_flags at entry=2)
     at src/or/directory.c:467
 #14 0x000055555558c354 in update_consensus_networkstatus_downloads
 (now=now at entry=1394201439) at src/or/networkstatus.c:767
 #15 0x000055555558dd40 in update_networkstatus_downloads (now=1394201439)
 at src/or/networkstatus.c:906
 #16 0x0000555555586c0d in run_scheduled_events (now=1394201439) at
 src/or/main.c:1468
 ....
 }}}
 codepath. This means that maybe we should also block entry to
 `update_consensus_networkstatus_downloads()` if
 `pt_proxies_configuration_pending()`. I made a small patch that did that,
 and it seems to solve the error messages in this case.

 But how can we be sure that we have blocked all the relevant codepaths
 that might launch an OR connection before PTs have been configured?

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


More information about the tor-bugs mailing list