Your message dated Sat, 3 Dec 2022 18:59:29 -0500
with message-id <[email protected]>
and subject line Re: jruby fails to run without declaring the 
DEBIAN_DISABLE_RUBYGEMS_INTEGRATION environment variable
has caused the Debian Bug report #977979,
regarding jruby fails to run without declaring the 
DEBIAN_DISABLE_RUBYGEMS_INTEGRATION environment variable
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
977979: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977979
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: jruby
Version: 9.1.17.0-3
Severity: grave

Dear maintainers,

It seems jruby fails to run without declaring the
DEBIAN_DISABLE_RUBYGEMS_INTEGRATION environment variable:

jruby -e "puts 'Hello World'"
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper$ReflectiveAccess 
to method sun.nio.ch.SelChImpl.getFD()
WARNING: Please consider reporting this to the maintainers of 
jnr.posix.JavaLibCHelper$ReflectiveAccess
WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective access operations
WARNING: All illegal access operations will be denied in a future release
NameError: undefined method `default_specifications_dir' for class 
`#<Class:0x24bdb479>'
  singleton class at 
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:84
           <main> at 
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:58
          require at org/jruby/RubyKernel.java:956
           <main> at /usr/share/jruby/lib/ruby/stdlib/rubygems.rb:1
          require at org/jruby/RubyKernel.java:956
           <main> at /usr/share/jruby/lib/ruby/stdlib/rubygems.rb:1347
             load at org/jruby/RubyKernel.java:974
           <main> at uri:classloader:/jruby/kernel/gem_prelude.rb:1

Any value for DEBIAN_DISABLE_RUBYGEMS_INTEGRATION makes it work again:

DEBIAN_DISABLE_RUBYGEMS_INTEGRATION=hamburger jruby -e "puts 'Hello World'"
Hello World

Talking with Antonio Terceiro, it seems the underlying problem comes
from the current jruby version in Debian bundling an old version of
rubygems, that isn't compatible with the code in
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb.

Setting DEBIAN_DISABLE_RUBYGEMS_INTEGRATION seems like a cheap
trick, as ruby gems in debian are 2.7 compatible, and our
jruby is 2.3 compatible.

Really, jruby shouldn't load gems from /usr/lib/ruby/vendor_ruby
(but I'll open another bug about this).

-- 
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   [email protected] / veronneau.org
  ⠈⠳⣄



Attachment: OpenPGP_signature
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message --- This bug is now fixed with of upload of jruby_9.3.9.0+ds-1. The new version of jruby in Debian does not attempt to load any ruby code from the shared system libraries/gems.

Thanks,

-- Jerome

--- End Message ---

Reply via email to