Skip to content

Method Missing: org.jruby.RubyInteger.int2fix #5216

@erikogan

Description

@erikogan

Environment

Upgrading a project from jRuby 9.1.17.0 to 9.2.0.0 on OS X and Linux in a CI Docker container:

% jruby -v
jruby 9.2.0.0 (2.5.0) 2018-05-24 81156a8 Java HotSpot(TM) 64-Bit Server VM 25.152-b16 on 1.8.0_152-b16 +jit [darwin-x86_64]
% uname -a
Darwin inquanok 17.6.0 Darwin Kernel Version 17.6.0: Tue May  8 15:22:16 PDT 2018; root:xnu-4570.61.1~1/RELEASE_X86_64 x86_64

(My environment generally has JRUBY_OPTS=--debug set, but I don’t believe that is relevant.)

The project is a Rails 5.1 application using jruby-pg, and the error occurs on environment initialization, the example below is starting RSpec, but a rails console will also trigger it. [example updated because the rails console error is easier to read]

Expected Behavior

jRuby 9.1.17.0 has no trouble loading jruby-pg in a rails context. I can provide a link to a stripped down repository exhibiting the issue, but it’s a pretty easy reproduction case, I doubt even Rails is required in the mix.

Actual Behavior

My first suspicion was that jruby-pg needed to be updated to work with jRuby 9.2, but the INT2FIX macro still exists in MRI 2.5, so I suspect this may be a more general issue. Since @headius is the author of jruby-pg, I figure he’ll know best where it should be fixed. I’m happy to close this issue and reopen it over there if I surmised incorrectly.

LoadError: load error: pg_ext -- java.lang.NoSuchMethodError: org.jruby.RubyInteger.int2fix(Lorg/jruby/Ruby;J)Lorg/jruby/RubyNumeric;
                                          require at org/jruby/RubyKernel.java:970
                           require_with_backports at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/backports-3.11.3/lib/backports/std_lib.rb:9
                                 block in require at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292
                                  load_dependency at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258
                                          require at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292
                                           <main> at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/jruby-pg-0.1-java/lib/pg.rb:4
                                          require at org/jruby/RubyKernel.java:970
                           require_with_backports at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/backports-3.11.3/lib/backports/std_lib.rb:9
                                 block in require at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292
                                  load_dependency at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258
                                          require at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292
                                           <main> at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/bundler/gems/redshift_exporter-233118d3f14d/lib/redshift_exporter.rb:1
                                          require at org/jruby/RubyKernel.java:970
                           require_with_backports at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/backports-3.11.3/lib/backports/std_lib.rb:9
                                 block in require at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292
                                  load_dependency at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258
                                          require at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292
                                           <main> at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/bundler/gems/redshift_exporter-233118d3f14d/lib/redshift_exporter.rb:4
                                             load at org/jruby/RubyKernel.java:1001
                                  block in (root) at /Users/erik/work/export_service/config/initializers/zzz_redshift_exporter.rb:1
                                  load_dependency at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258
                                           (root) at /Users/erik/work/export_service/config/initializers/zzz_redshift_exporter.rb:3
                                  block in (root) at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:1
                                             load at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286
                                             load at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286
                 block in load_config_initializer at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/engine.rb:655
                                             each at org/jruby/RubyArray.java:1801
                              block in instrument at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/activesupport-5.1.6/lib/active_support/notifications.rb:168
                                    instance_exec at org/jruby/RubyBasicObject.java:2677
                                              run at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/initializable.rb:30
                        block in run_initializers at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/initializable.rb:59
                              block in tsort_each at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:228
       block in each_strongly_connected_component at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:350
  block in each_strongly_connected_component_from at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:422
           each_strongly_connected_component_from at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:431
  block in each_strongly_connected_component_from at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:421
                                             each at org/jruby/RubyArray.java:1801
                                 tsort_each_child at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/initializable.rb:48
                                             call at org/jruby/RubyMethod.java:117
           each_strongly_connected_component_from at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:415
       block in each_strongly_connected_component at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:349
                                             each at org/jruby/RubyArray.java:1801
                                             call at org/jruby/RubyMethod.java:129
                          load_config_initializer at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/engine.rb:654
                                           Engine at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/engine.rb:612
                                           Engine at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/engine.rb:611
                each_strongly_connected_component at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:347
                                       tsort_each at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:226
                                           <main> at /Users/erik/.rbenv/versions/jruby-9.2.0.0/lib/ruby/stdlib/tsort.rb:205
                                          require at org/jruby/RubyKernel.java:970
                           require_with_backports at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/backports-3.11.3/lib/backports/std_lib.rb:9
                                 run_initializers at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/initializable.rb:58
                                      initialize! at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/application.rb:353
                                           (root) at /Users/erik/work/export_service/config/environment.rb:7
                                           (root) at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/application.rb:1
                             require_environment! at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/application.rb:329
             require_application_and_environment! at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/command/actions.rb:16
                                          perform at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/railties-5.1.6/lib/rails/commands/console/console_command.rb:96
                                              run at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/thor-0.20.0/lib/thor/command.rb:27
                                           <main> at /Users/erik/.rbenv/versions/jruby-9.2.0.0/gemsets/export_service/gems/thor-0.20.0/lib/thor/invocation.rb:126
                                          require at org/jruby/RubyKernel.java:970
                                           <main> at bin/rails:6

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions