OP sometimes does not fetch hidden service descriptor
When the onion proxy receives a hidden service request from the client and has no up-to-date hidden service descriptor, it should make a request to the directory. However, this is only done when Tor does not already have a connection to the directory, yet. So, from time to time, Tor thinks that there is already a connection to the Dir running and aborts the hidden service descriptor request. But---and here comes the problem---the request is simply dropped and the descriptor is NOT requested later. Only a subsequent request from the client application leads to another consideration to fetch the descriptor from the directory (possibly with the same result: dropped).
Should the request be added to some "request queue" and be performed during a periodic maintenance tasks?
I added my log file (with some additional log statements) that shows the affected methods.
1172409375015 Tor Client Feb 25 14:16:15.015 [info] connection_ap_handshake_process_socks(): method invoked: 67 1172409375015 Tor Client Feb 25 14:16:15.015 [info] connection_ap_handshake_process_socks(): method invoked: 67 1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_process_socks(): method invoked: 67 1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): event fired: C01 1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): method invoked: 45 1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): Got a hidden service request for ID 'scxfcfgpypn33tjt' 1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_cache_lookup_entry(): method invoked: 03 1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_ap_handshake_rewrite_and_attach(): Unknown descriptor scxfcfgpypn33tjt. Fetching. 1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_client_refetch_renddesc(): event fired: C03 1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_client_refetch_renddesc(): method invoked: 35 1172409375031 Tor Client Feb 25 14:16:15.031 [info] connection_get_by_type_state_rendquery(): method invoked: 62 1172409375031 Tor Client Feb 25 14:16:15.031 [info] rend_cmp_service_ids(): Comparing two strings scxfcfgpypn33tjt and with result 1 1172409375046 Tor Client Feb 25 14:16:15.031 [info] connection_get_by_type_state_rendquery(): This method says we already have a connection running: scxfcfgpypn33tjt, 1172409375046 Tor Client Feb 25 14:16:15.031 [info] rend_client_refetch_renddesc(): Would fetch a new renddesc here (for "scxfcfgpypn33tjt"), but one is already in progress. 1172409375046 Tor Client Feb 25 14:16:15.046 [info] connection_edge_process_inbuf(): data from edge while in 'waiting for rendezvous desc' state. Leaving it on buffer.
[Automatically added by flyspray2trac: Operating System: Windows 2k/XP]