[#63592] [ruby-trunk - Bug #10009] IO operation is 10x slower in multi-thread environment — normalperson@...
Issue #10009 has been updated by Eric Wong.
3 messages
2014/07/08
[#63682] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/13
[#63703] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/14
[#63743] [ruby-trunk - Bug #10037] Since r46798 on Solaris, "[BUG] rb_vm_get_cref: unreachable" during make — ngotogenome@...
Issue #10037 has been updated by Naohisa Goto.
3 messages
2014/07/15
[#64136] Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb — "Jeffrey 'jf' Lim" <jfs.world@...>
As per subject.
4 messages
2014/07/31
[#64138] Re: Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb
— "Jeffrey 'jf' Lim" <jfs.world@...>
2014/07/31
On Thu, Jul 31, 2014 at 6:03 PM, Jeffrey 'jf' Lim <jfs.world@gmail.com>
[ruby-core:63696] [ruby-trunk - Bug #10031] Net::IMAP idle can still block a thread forever.
From:
normalperson@...
Date:
2014-07-14 00:13:09 UTC
List:
ruby-core #63696
Issue #10031 has been updated by Eric Wong. Setting SO_KEEPALIVE on the socket will help, but that still takes at least 2 hours to detect on a stock Linux system. Do you want to set a shorter keepalive, or is ~2 hours OK? You can change the interval using OS-specific knobs (e.g. sysctl). Totally untested one line patch here: --- a/lib/net/imap.rb +++ b/lib/net/imap.rb @@ -1053,6 +1053,7 @@ module Net @tagno = 0 @parser = ResponseParser.new @sock = TCPSocket.open(@host, @port) + @sock.setsockopt(:SOL_SOCKET, :SO_KEEPALIVE, 1) begin if options[:ssl] start_tls_session(options[:ssl]) ---------------------------------------- Bug #10031: Net::IMAP idle can still block a thread forever. https://bugs.ruby-lang.org/issues/10031#change-47750 * Author: James Pike * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- When calling Net::IMAP idle often errors will go unnoticed forever, simply leaving the Thread that called "idle" blocking forever. For example try bringing your internet connection down whilst a thread is calling the idle method, the calling thread will now be blocked forever. I've encountered this issue also without losing my internet connection, sometimes the remote server will disconnect the client and the client will never notice leading to the same issue. -- https://bugs.ruby-lang.org/