We need to get the complete backtrace for this. I could find no reference to EWOULDBLOCKWaitReadable in JRuby, so I suspect this is coming from some external library.
If you can provide a reproduction, that would be best. Otherwise,
Trigger the error and capture the full backtrace.
Trigger the error while passing -Xbacktrace.style=full to JRuby.
Put both traces in a gist and add a comment here.
I have the following trivial patch that ensures this class is defined, but I'd like to know who's trying to access it.
diff --git a/core/src/main/ruby/jruby/kernel/io.rb b/core/src/main/ruby/jruby/kernel/io.rb
index 69fb8b5..753d6d8 100644
--- a/core/src/main/ruby/jruby/kernel/io.rb+++ b/core/src/main/ruby/jruby/kernel/io.rb@@ -7,6 +7,19 @@ class IO
+ if Errno::EAGAIN == Errno::WOULDBLOCK+ IO::EWOULDBLOCKWaitReadable = IO::EAGAINWaitReadable+ IO::EWOULDBLOCKWaitWritable = IO::EAGAINWaitWritable+ else+ class EWOULDBLOCKWaitReadable < Errno::EWOULDBLOCK+ include IO::WaitReadable+ end++ class EWOULDBLOCKWaitWritable < Errno::EWOULDBLOCK+ include IO::WaitWritable+ end+ end+
class EINPROGRESSWaitWritable < Errno::EINPROGRESS
Ok, it looks like this is an oversight in JRuby. We defined the EAGAIN version but not the EWOULDBLOCK version, and this is the first case where someone actually wanted that class to be defined. I'll merge the patch...should be good.
jruby 18.104.22.168 (2.3.1) 2017-01-11 68056ae Java HotSpot(TM) 64-Bit Server VM 24.80-b11 on 1.7.0_80-b15 +jit [linux-x86_64]
Linux abd-laptop 3.16.0-031600-generic #201408031935 SMP Sun Aug 3 23:36:11 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
I have trouble in using bunny gem (https://github.com/ruby-amqp/bunny) with above environment
NameError: uninitialized constant IO::EWOULDBLOCKWaitReadable
The text was updated successfully, but these errors were encountered: