[tor-bugs] #5093 [Obfsproxy]: obfsproxy treats EAGAIN as EOF?

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Sun Feb 12 00:01:38 UTC 2012


#5093: obfsproxy treats EAGAIN as EOF?
-----------------------+----------------------------------------------------
 Reporter:  arma       |          Owner:  asn
     Type:  defect     |         Status:  new
 Priority:  normal     |      Milestone:     
Component:  Obfsproxy  |        Version:     
 Keywords:             |         Parent:     
   Points:             |   Actualpoints:     
-----------------------+----------------------------------------------------
 ditzydoo saw this in her logs:
 {{{
 2012-02-11 15:07:40 [info] EOF from 127.0.0.1:5001
 2012-02-11 15:07:40 [info] EOF from 127.0.0.1:5001
 2012-02-11 15:07:40 [info] EOF from 127.0.0.1:5001
 2012-02-11 15:07:40 [info] EOF from 127.0.0.1:5001
 2012-02-11 15:07:40 [info] EOF from 127.0.0.1:5001
 2012-02-11 15:07:40 [info] EOF from 127.0.0.1:5001
 2012-02-11 15:07:41 [info] [scrubbed]:51264 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:07:41 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:08:44 [info] [scrubbed]:14924 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:08:44 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:09:33 [info] [scrubbed]:12792 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:09:33 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:09:50 [warn] Error during flush of connection with
 127.0.0.1:5001: Broken pipe
 2012-02-11 15:10:06 [info] [scrubbed]:50247 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:10:06 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:10:51 [info] [scrubbed]:25002 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:10:51 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:10:59 [info] [scrubbed]:16450 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:10:59 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:11:47 [info] [scrubbed]:16490 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:11:47 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:13:02 [info] [scrubbed]:18014 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:13:02 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:13:22 [info] [scrubbed]:1236 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:13:22 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:13:24 [info] [scrubbed]:16605 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:13:24 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:18:12 [info] [scrubbed]:4046 (obfs2): trying to connect to
 127.0.0.1:5001
 2012-02-11 15:18:12 [warn] Error talking to 127.0.0.1:5001: Resource
 temporarily unavailable
 2012-02-11 15:20:08 [info] Closing all listeners.
 2012-02-11 15:20:08 [info] Got SIGINT. Preparing shutdown.
 2012-02-11 15:20:08 [info] Exiting.
 }}}

 error_cb() says
 {{{
   if (what & BEV_EVENT_ERROR) {
     log_warn("Error talking to %s: %s",
              conn->peername,
              evutil_socket_error_to_string(errcode));
 [...]
   error_or_eof(conn);
 }}}

 and error_or_eof's comments say
 {{{
 /**
    Something broke one side of the connection, or we reached EOF.
    We prepare the connection to be closed ASAP.
 }}}

 grep for EAGAIN in the code shows nothing. Are we really hanging up as
 soon as we get an EAGAIN? Or does libevent magically take care of that for
 us somehow?

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


More information about the tor-bugs mailing list