[tor-bugs] #2746 [Tor Relay]: libevent2 problems on CCC tor servers
Tor Bug Tracker & Wiki
torproject-admin at torproject.org
Mon Mar 14 19:24:01 UTC 2011
#2746: libevent2 problems on CCC tor servers
-----------------------+----------------------------------------------------
Reporter: kaner | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: Tor Relay | Version: Tor: 0.2.2.22-alpha
Keywords: | Parent:
Points: | Actualpoints:
-----------------------+----------------------------------------------------
Comment(by nickm):
Is this really with .22-alpha? And which libevent2 version?
The error implies that kevent() in libevent's kqueue.c is giving an error
"EBADF", which implies that we are getting a failure because "the
specified file descriptor is invalid." (See kqueue.c , in function
kq_dispatch.)
That's quite weird! If a particular file descriptor that we were passing
to kevent were bad, we would (in theory) be getting that error passed back
in events[i].flags, not set with an error when kevent returns. So this
sounds to me as if freebsd were complaining that the kqueue fd (the one
that was returned from kqueue()) was bad!
Possibilities that come to mind if that analysis is right:
* Bug in freebsd. (not so likely -- the freebsd kqueue code is usually
pretty solid)
* Something closed the kqueue fd.
* Something corrupted the libevent kqop structure, so that it's looking
at the wrong fd.
Reasons why that analysis might be wrong.
* Maybe I am misunderstanding why kevent() would give EBADF.
* Maybe there is a bug in the error-reporting code, and the error with
which kevent is failing is not really EBADF.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/2746#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list