On Thu, Apr 29, 2010 at 5:19 AM, Sebastian Sjöberg <sebastian.sjob...@axis.com> wrote: > Hi, > > I've encountered a problem with openssl bufferevents where libevent reports > fd:s as writeable but no action is being taken.
[...] > There is no problem when I'm connecting without tls so I think this is an > issue with openssl bufferevents and my guess is that somehow the write events > that openssl bufferevents sets up sometimes doesn't get removed or disabled > properly. > > Is this an issue that someone else has seen and does anyone have any pointers > on how to debug this problem? I haven't run into this myself yet, but the openssl code is relatively new, and probably has some bugs left. To clarify, it seems that the problem is that Libevent bufferevent openssl code never deletes the relevant read events, even though it isn't actually interested in reading? Or the problem is that epoll is returning immediately but not making any events active? If it's the first problem, I'd try adding debugging messages to the points in bufferevent_openssl that call event_add, event_del, and _bufferevent_add_event, along with debugging statements to display the return values of SSL_read and SSL_write, to see at what point we're supposed to be deleting the relevant read event but not really doing it. If it's the second problem, I'd start by testing whether stuff begins to work when you set the EVENT_NOEPOLL environment variable. If so, then the bug is probably with the epoll backend -- or at least, it requires the epoll backend to appear. To debug this, I'd add debugging messages to the loop in epoll_dispatch that calls evmap_io_active to tell me whenever it decided not to call evmap_io_active, and I'd have evmap_io_active tell me whenever it made 0 events become active. With any luck, the debugging output should help figure out exactly what's going wrong here. I'm afraid I'm about to be away from the internet for tomorrow and the weekend, so I won't be able to help much more until early next week. Good luck! yrs, -- Nick *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.