Skip to content

LoadError due to java.lang.NoSuchMethodError when requiring strscan #9147

@jeremyevans

Description

@jeremyevans

When running Tilt's CI, there was a repeatable failure in JRuby 9.4 (not in JRuby 10.0 or JRuby 9.2).

Failing CI log (notice same failure in both attempts):

https://github.com/jeremyevans/tilt/actions/runs/20419255652/job/58667813697#step:5:13

The failure occurs when requiring csv, which requires strscan. The strange part is the error itself, which includes java.lang.NoSuchMethodError:

LoadError: load error: strscan -- java.lang.NoSuchMethodError: 'org.jruby.RubyClass org.jruby.RubyClass.defineClassUnder(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.RubyClass, org.jruby.runtime.ObjectAllocator)'

I don't have JRuby 9.4 installed locally, so I cannot reproduce this locally.

Environment Information

jruby 9.4.14.0 (3.1.7) 2025-08-28 ddda6d5992 OpenJDK 64-Bit Server VM 17.0.17+10 on 17.0.17+10 +jit [x86_64-linux]

GitHub Actions runner: ubuntu-24.04 Version: 20251215.174.1

Expected Behavior

Does not raise LoadError.

Actual Behavior

Raises LoadError:

LoadError: load error: strscan -- java.lang.NoSuchMethodError: 'org.jruby.RubyClass org.jruby.RubyClass.defineClassUnder(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.RubyClass, org.jruby.runtime.ObjectAllocator)'
           require at org/jruby/RubyKernel.java:1187
           require at /home/runner/.rubies/jruby-9.4.14.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:144
            <main> at /home/runner/.rubies/jruby-9.4.14.0/lib/ruby/stdlib/csv/parser.rb:3
           require at org/jruby/RubyKernel.java:1187
  require_relative at org/jruby/RubyKernel.java:1216
            <main> at /home/runner/.rubies/jruby-9.4.14.0/lib/ruby/stdlib/csv.rb:98
           require at org/jruby/RubyKernel.java:1187
           require at /home/runner/.rubies/jruby-9.4.14.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:144
            <main> at /home/runner/work/tilt/tilt/lib/tilt/csv.rb:38
           require at org/jruby/RubyKernel.java:1187
           require at /home/runner/.rubies/jruby-9.4.14.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:144
            <main> at /home/runner/work/tilt/tilt/test/tilt_csv_test.rb:2
           require at org/jruby/RubyKernel.java:1187
           require at /home/runner/.rubies/jruby-9.4.14.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:144
            <main> at test/all.rb:8
              each at org/jruby/RubyArray.java:2018
            <main> at test/all.rb:8

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions