[tor-bugs] #3769 [Tor Relay]: Bufferevent-based server sometimes succeeds, sometimes fails.

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Thu Aug 25 06:00:38 UTC 2011


#3769: Bufferevent-based server sometimes succeeds, sometimes fails.
-----------------------+----------------------------------------------------
 Reporter:  nickm      |          Owner:                    
     Type:  defect     |         Status:  new               
 Priority:  major      |      Milestone:  Tor: 0.2.3.x-final
Component:  Tor Relay  |        Version:                    
 Keywords:             |         Parent:  #3561             
   Points:             |   Actualpoints:                    
-----------------------+----------------------------------------------------

Comment(by Sebastian):

 Running fluxe3 with bufferevents now (no filtering bufferevents yet):

 ~/build/libevent$ git rev-parse HEAD
 2cbe115cbcdd47d954fa47a96c206c5c6ee63ddc

 ~/build/tor$ git rev-parse HEAD
 b161674d5dc312f95a495bed3c25d892fc9f0550

 The situation looks very much improved, no more reports about failing to
 open circuits (the circuit build timeout also doesn't rise anymore).

 I did see another few of these tho: [warn] TLS error while handshaking
 (with bufferevent) with [scrubbed]: ssl handshake failure (in SSL
 routines:SSL3_READ_BYTES:SSL3_ST_SR_CERT_A)


 When connecting to it as a client, i get this:

 {{{
 $ src/or/tor --usebridges 1 --bridge 78.47.18.110:80
 [notice] Tor v0.2.3.2-alpha-dev (git-b161674d5dc312f9). This is
 experimental software. Do not rely on it for strong anonymity. (Running on
 Darwin x86_64)
 ...
 [notice] Bootstrapped 10%: Finishing handshake with directory server.
 [notice] Learned fingerprint ED13D1D13C1E57C6A406DD64551D2F905AB99AFF for
 bridge 78.47.18.110:80
 [notice] Bootstrapped 15%: Establishing an encrypted directory connection.
 [notice] Bootstrapped 20%: Asking for networkstatus consensus.
 [notice] Bootstrapped 50%: Loading relay descriptors.
 [notice] new bridge descriptor 'fluxe3' (fresh)
 [notice] I learned some more directory information, but not enough to
 build a circuit: We have no usable consensus.
 [warn] Received http status code 404 ("Not found") from server
 '78.47.18.110:80' while fetching consensus directory.
 [warn] Received http status code 404 ("Not found") from server
 '78.47.18.110:80' while fetching consensus directory.
 }}}

 and sure enough - there isn't a cached-microdesc-consensus file in
 fluxe3's datadir. Only 20 minutes after starting up did it decide to fetch
 a microdesc-consensus and store it in its datadir. A client that connets
 through it (again via the bridges line from above) successfully
 bootstraps. While it does so, the relay logs (5 times in total):

 {{{
 [warn] Bug: Duplicate call to connection_mark_for_close at
 directory.c:3549 (first at directory.c:3549)
 }}}

 This COULD be a coincidence as it is a public relay, but it happened right
 in the second where the client fetched descriptors, and it happened again
 when I re-started my client without cached dir info. Restarting it with
 cached dir info doesn't cause problems.

 Another thing that is curious is that it takes the client a full minute to
 go do this step:
 {{{

 Aug 25 07:55:38.000 [notice] I learned some more directory information,
 but not enough to build a circuit: We have no usable consensus.
 Aug 25 07:56:39.000 [notice] We're missing a certificate from authority
 with signing key 3509BA5A624403A905C74DA5C8A0CEC9E0D3AF86: launching
 request.
 }}}

 This is reproducible. After all this, using the tor client for basic
 browsing works.

 The client is not using bufferevents in these tests. I'm keeping the relay
 up on bufferevents for now, please run tests as you see fit.

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


More information about the tor-bugs mailing list