Skip to content

jruby.sh fails with JRUBY_CP: unbound variable #9216

@eregon

Description

@eregon

Environment Information

Provide at least:

  • JRuby version (jruby -v) and command line (flags, JRUBY_OPTS, etc)
    jruby-head, jruby 10.0.4.0-SNAPSHOT (3.4.5) 2026-02-05 f21870a665 OpenJDK 64-Bit Server VM 25.0.2+10 on 25.0.2+10 +indy +jit [x86_64-linux]
  • Operating system and platform (e.g. uname -a)
    x86_64 GNU/Linux

Happens both with or without jruby-launcher.
I installed jruby using ruby-build jruby-dev -d ~/.rubies (needs rbenv/ruby-build#2603).

I noticed that JRuby seems to fail most command_line specs in https://github.com/eregon/rubyspec-stats/actions/runs/21672566977/job/62483988845
I can reproduce when running the same command inside the JRuby repository:

$ chruby jruby-dev
$ cd jruby
$ jruby -v
jruby 10.0.4.0-SNAPSHOT (3.4.5) 2026-02-05 f21870a665 OpenJDK 64-Bit Server VM 25.0.2+10 on 25.0.2+10 +indy +jit [x86_64-linux]
$ spec/mspec/bin/mspec ci --timeout 60 --target ruby --marker . --format yaml --output stats.yml spec/ruby/command_line/dash_a_spec.rb
$ ruby -Xbacktrace.style=mri /home/eregon/code/jruby/spec/mspec/bin/mspec-ci --timeout 60 --marker . --format yaml --output stats.yml spec/ruby/command_line/dash_a_spec.rb
/home/eregon/code/jruby/spec/mspec/lib/mspec/commands/mspec.rb:110: warning: unsupported exec option: close_others
jruby 10.0.4.0-SNAPSHOT (3.4.5) 2026-02-05 f21870a665 OpenJDK 64-Bit Server VM 25.0.2+10 on 25.0.2+10 +indy +jit [x86_64-linux]
./home/eregon/code/jruby/bin/jruby.sh: line 990: JRUBY_CP: unbound variable
/home/eregon/code/jruby/bin/jruby.sh: line 990: JRUBY_CP: unbound variable
zsh: exit 1     spec/mspec/bin/mspec ci --timeout 60 --target ruby --marker . --format yaml

This does not happen when running the specs inside the ruby/spec repository directly, I'm not sure why but one difference is that spec/jruby.mspec doesn't get loaded there.

For rubyspec-stats it's intentional to run the specs from the jruby repo to get the tags and specs at the same version and e.g. not crash/hang for specs which crash/hang the interpreter.

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