Jruby: `LoadError: no such file to load -- racc/info` when using JRuby 9.2.15.0

Created on 26 Feb 2021  路  3Comments  路  Source: jruby/jruby

Environment Information

Provide at least:

  • % jruby -v
    jruby 9.2.15.0 (2.5.7) 2021-02-24 aa05fda562 Java HotSpot(TM) 64-Bit Server VM 25.271-b09 on 1.8.0_271-b09 +jit [darwin-x86_64]
  • Darwin atelier.local 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64

Other relevant info you may wish to add:

  • Installed or activated gems
% gem list parser

*** LOCAL GEMS ***

parser (3.0.0.0)
regexp_parser (2.1.1)

Expected Behavior

There is no error like JRuby 9.2.14.0.

# JRuby 9.2.14.0
% ruby -v
jruby 9.2.14.0 (2.5.7) 2020-12-08 ebe64bafb9 Java HotSpot(TM) 64-Bit Server VM 25.271-b09 on 1.8.0_271-b09 +jit [darwin-x86_64]
% ruby -rparser -e 'Parser'

Actual Behavior

LoadError: no such file to load -- racc/info error will occur.

#!/bin/bash -eo pipefail
bundle exec rake internal_investigation
rake aborted!
LoadError: no such file to load -- racc/info
/usr/local/bundle/gems/parser-3.0.0.0/lib/parser.rb:12:in `<main>'
/usr/local/bundle/gems/rubocop-ast-1.4.1/lib/rubocop/ast.rb:3:in
`<main>'
/usr/local/bundle/gems/rubocop-ast-1.4.1/lib/rubocop-ast.rb:3:in
`<main>'
/home/circleci/project/lib/rubocop.rb:14:in `<main>'
tasks/cops_documentation.rake:4:in `<main>'
/home/circleci/project/Rakefile:21:in `block in <main>'
/home/circleci/project/Rakefile:21:in `<main>'
/opt/jruby/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)

Exited with code exit status 1
CircleCI received exit code 1

I encountered this issue in RuboCop's CI build.
https://app.circleci.com/pipelines/github/rubocop/rubocop/4118/workflows/a4451248-05e0-4361-963d-2297357e7885/jobs/174452

stdlib

Most helpful comment

Workaround: install and explicitly activate the racc gem. The problem here is that the built-in racc in JRuby only includes a subset of the racc files, but since it is not set up as a default gem requiring racc will not activate any upgraded gem. You end up with only a subset of racc sources being available, leading to this issue.

This will be fixed in .16 by #6576. We had originally intended to make this change in .15 but suspected it was breaking our snapshot deployment. That turned out not to be the case, but it was too late to make the release.

All 3 comments

We're running into this with 9.2.15.0 and trying to invoke RuboCop

Workaround: install and explicitly activate the racc gem. The problem here is that the built-in racc in JRuby only includes a subset of the racc files, but since it is not set up as a default gem requiring racc will not activate any upgraded gem. You end up with only a subset of racc sources being available, leading to this issue.

This will be fixed in .16 by #6576. We had originally intended to make this change in .15 but suspected it was breaking our snapshot deployment. That turned out not to be the case, but it was too late to make the release.

Please confirm that this is fixed in 9.2.16 by building the jruby-9.2 branch or downloading a snapshot build from https://www.jruby.org/nightly.

Was this page helpful?
0 / 5 - 0 ratings