[#75687] [Ruby trunk Bug#12416] struct rb_id_table lacks mark function — shyouhei@...
Issue #12416 has been reported by Shyouhei Urabe.
3 messages
2016/05/23
[#75763] [Ruby trunk Feature#12435] Using connect_nonblock to open TCP connections in Net::HTTP#connect — mohamed.m.m.hafez@...
Issue #12435 has been reported by Mohamed Hafez.
3 messages
2016/05/28
[#75774] Errno::EAGAIN thrown by OpenSSL::SSL::SSLSocket#connect_nonblock — Mohamed Hafez <mohamed.m.m.hafez@...>
Hi all, every now and then in my production server, I'm
4 messages
2016/05/30
[#75775] Re: Errno::EAGAIN thrown by OpenSSL::SSL::SSLSocket#connect_nonblock
— Mohamed Hafez <mohamed.m.m.hafez@...>
2016/05/30
Or does MRI's OpenSSL::SSL::SSLSocket#connect_nonblock just return
[#75782] Important: Somewhat backwards-incompatible change (Fwd: [ruby-cvs:62388] duerst:r55225 (trunk): * string.c: Activate full Unicode case mapping for UTF-8) — Martin J. Dürst <duerst@...>
With the change below, I have activated full Unicode case mapping for
4 messages
2016/05/31
[ruby-core:75778] Re: Errno::EAGAIN thrown by OpenSSL::SSL::SSLSocket#connect_nonblock
From:
Mohamed Hafez <mohamed.m.m.hafez@...>
Date:
2016-05-30 20:14:28 UTC
List:
ruby-core #75778
Great, thanks Eric I've posted an issue with JRuby and am digging into its code to see if I can spot the error myself On Mon, May 30, 2016 at 12:50 PM, Eric Wong <normalperson@yhbt.net> wrote: > Mohamed Hafez <mohamed.m.m.hafez@gmail.com> wrote: > > On Mon, May 30, 2016 at 9:18 AM, Mohamed Hafez < > mohamed.m.m.hafez@gmail.com> > > wrote: > > > > > Hi all, every now and then in my production server, I'm > > > getting Errno::EAGAIN errors thrown by by > > > OpenSSL::SSL::SSLSocket#connect_nonblock from at > > > https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb#L938 > > > > > > I'm using JRuby, so initially I assumed it was just a JRuby > implementation > > > bug and that MRI's OpenSSL::SSL::SSLSocket#connect_nonblock must > > > handle Errno::EAGAIN internally, but now that I think about it, the > only > > > way to handle Errno::EAGAIN is to wait for a bit and then retry, and > > > connect_nonblock isn't supposed to block so how would it do that.... > > > > Or does MRI's OpenSSL::SSL::SSLSocket#connect_nonblock just return > > :wait_writable > > in this case, since from my understanding this error gets thrown when the > > tcp write buffer is full? > > (top-posting corrected) > > Yes, connect_nonblock(exception: false) should not raise for > EAGAIN or Wait*, it should return :wait_* symbol > > JRuby needs to implement `exception: false' support which was > added in MRI 2.3 > > Sorry I could not add that to rubyspec, rubyspec requires > using a proprietary messaging system/workflow to contribute. > > > > Since this only happens once in a while in production, I don't actually > > > have a way of seeing if MRI Ruby will also throw this error, but I > can't > > > see how it wouldn't if connect_nonblock can't block for a while before > > > retrying, but let me know if I'm wrong. If I am correct, could I > submit a > > > pull request to catch Errno::EAGAIN at > > > https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb#L938 and then > > > retry? > > No, this should be fixed in other Ruby implementations for 2.3 > compatibility. > > Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> > <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core> > Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>