Skip to content

Openssl is broken in 1.8 mode due to IO::WaitReadable #1747

@enebo

Description

@enebo

I see some if (runtime.is1_9()) to guard around IO::WaitReadable but apparently that is not enough since I cannot load openssl in 1.8 mode:

JRUBY_OPTS="--1.8" jruby -S irb
irb(main):001:0> RUBY_VERSION
RUBY_VERSION
=> "1.8.7"
irb(main):002:0> require 'openssl'
require 'openssl'
NameError: uninitialized constant IO::WaitReadable
    from org/jruby/RubyModule.java:2723:in `const_missing'
    from /Users/enebo/work/jruby/lib/ruby/shared/jopenssl/load.rb:12:in `(root)'
    from org/jruby/RubyKernel.java:1057:in `require'
    from /Users/enebo/work/jruby/lib/ruby/shared/openssl.rb:1:in `(root)'
    from org/jruby/RubyKernel.java:1057:in `require'
    from /Users/enebo/work/jruby/lib/ruby/shared/openssl.rb:1:in `(root)'
    from org/jruby/RubyKernel.java:1096:in `eval'
    from (irb):1:in `(root)'
    from (irb):2:in `evaluate'
    from /Users/enebo/work/jruby/lib/ruby/1.8/irb.rb:158:in `eval_input'
    from /Users/enebo/work/jruby/lib/ruby/1.8/irb.rb:271:in `signal_status'
    from org/jruby/RubyKernel.java:1501:in `loop'
    from /Users/enebo/work/jruby/lib/ruby/1.8/irb.rb:155:in `eval_input'
    from org/jruby/RubyKernel.java:1250:in `catch'
    from org/jruby/RubyKernel.java:1250:in `catch'
    from /Users/enebo/work/jruby/lib/ruby/1.8/irb.rb:154:in `eval_input'

Side-note: someone should change guard from is1_9 to !is1_8 to reflect only 1.8 does not have this constant. This is a blocker for 1.7.13 atm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions