[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #11156 [Tor]: "can't find a pluggable transport proxy" errors when obfsproxy started up
#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@entry=14 '\016',
router_purpose=router_purpose@entry=0 '\000', resource=<optimized out>,
resource@entry=0x55555568a2c7 "microdesc", pds_flags=pds_flags@entry=2)
at src/or/directory.c:467
#14 0x000055555558c354 in update_consensus_networkstatus_downloads
(now=now@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
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs