Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot raise KeyError without arguments after 9.3.0.0 #6860

Closed
GabrielNagy opened this issue Sep 27, 2021 · 0 comments · Fixed by #6861
Closed

Cannot raise KeyError without arguments after 9.3.0.0 #6860

GabrielNagy opened this issue Sep 27, 2021 · 0 comments · Fixed by #6861
Milestone

Comments

@GabrielNagy
Copy link
Contributor

Environment Information

> jruby -v
jruby 9.3.0.0 (2.6.8) 2021-09-17 85c20e780f OpenJDK 64-Bit Server VM 25.292-b10 on 1.8.0_292-b10 +jit [linux-x86_64]
> uname -a
Linux rocinante 5.10.61-1-MANJARO #1 SMP PREEMPT Thu Aug 26 20:36:54 UTC 2021 x86_64 GNU/Linux

Expected Behavior

JRuby should allow raising KeyError with no arguments, similar to MRI:

> ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
> ruby -e'raise KeyError'
Traceback (most recent call last):
-e:1:in `<main>': KeyError (KeyError)

Actual Behavior

Raising KeyError without arguments raises an ArgumentError:

> jruby -e'raise KeyError'
ArgumentError: wrong number of arguments calling `initialize` (given 0, expected 1..3)
        new at org/jruby/RubyClass.java:906
  exception at org/jruby/RubyException.java:129
     <main> at -e:1

Failure initially observed in https://github.com/puppetlabs/facter/pull/2438/checks?check_run_id=3719821972

This has worked previously with JRuby 9.2.19.0:

> jruby -v
jruby 9.2.19.0 (2.5.8) 2021-06-15 55810c552b OpenJDK 64-Bit Server VM 25.292-b10 on 1.8.0_292-b10 +jit [linux-x86_64]
> jruby -e'raise KeyError'
Exception `KeyError' at -e:1 - KeyError
KeyError: KeyError
  <main> at -e:1
luchihoratiu added a commit to luchihoratiu/facter that referenced this issue Sep 27, 2021
This commit pins jruby in GitHub Actions unit tests workflow to
`9.2.19.0` since the latest version `9.3.0.0` introduced a non-backwards
compatible change which breaks Facter
(jruby/jruby#6860). This is a temporary change
until a fixed version will be released.
luchihoratiu added a commit to luchihoratiu/facter that referenced this issue Sep 27, 2021
This commit pins jruby in GitHub Actions unit tests workflow to
`9.2.19.0` since the latest version `9.3.0.0` introduced a non-backwards
compatible change which breaks Facter
(jruby/jruby#6860). This is a temporary change
until a fixed version will be released.
GabrielNagy added a commit to GabrielNagy/jruby that referenced this issue Sep 27, 2021
After JRuby 9.3, attempting to raise a KeyError with no arguments would
fail with an ArgumentError. This commit fixes this behavior to match
MRI, and updates the `key` and `receiver` methods to raise if they are
unset.

After this change, all MRI tests from `test_key_error.rb` pass.

Fixes jruby#6860.
GabrielNagy added a commit to GabrielNagy/jruby that referenced this issue Sep 27, 2021
After JRuby 9.3, attempting to raise a KeyError with no arguments would
fail with an ArgumentError. This commit fixes this behavior to match
MRI, and updates the `key` and `receiver` methods to raise if they are
unset.

After this change, all MRI tests from `test_key_error.rb` pass.

Fixes jruby#6860.
GabrielNagy added a commit to GabrielNagy/jruby that referenced this issue Sep 27, 2021
After JRuby 9.3, attempting to raise a KeyError with no arguments would
fail with an ArgumentError. This commit fixes this behavior to match
MRI, and updates the `key` and `receiver` methods to raise if they are
unset.

Prior to this, the relevant MRI tests for this functionality were not
running in CI, and when ran manually 3 tests were failing. Add the
`test_key_error.rb` file to the `mri.code` suite. After this change, all
tests from `test_key_error.rb` pass.

Fixes jruby#6860.
@enebo enebo added this to the JRuby 9.3.1.0 milestone Sep 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants