Cleanup the rb_catch_obj workaround#1035
Merged
Merged
Conversation
Followup: ruby#1031 Now that the bug has been fixed upstream, we can only apply it on unpatched version. Also refactor the workaround to expose the exact same API as `rb_catch_obj`, making it easier to ignore and remove later.
byroot
commented
Jun 21, 2026
| $defs << "-DJSON_DEBUG" if ENV.fetch("JSON_DEBUG", "0") != "0" | ||
| $defs << "-DJSON_WORKAROUND_RB_CATCH_BUG" if RUBY_ENGINE == 'truffleruby' | ||
|
|
||
| if RUBY_ENGINE == 'truffleruby' && RUBY_VERSION < '4.0' |
Member
Author
There was a problem hiding this comment.
FYI @eregon, let me know if the logic ain't correct here, I'm not very familiar with Truffle
Member
There was a problem hiding this comment.
That works (in both cases the workaround is not applied on truffleruby-head which is now fixed) but I think RUBY_ENGINE_VERSION is little bit cleaner (explicitly mentions the version fixing the bug)
Suggested change
| if RUBY_ENGINE == 'truffleruby' && RUBY_VERSION < '4.0' | |
| if RUBY_ENGINE == 'truffleruby' && RUBY_ENGINE_VERSION < '40.0' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Followup: #1031
Now that the bug has been fixed upstream, we can only apply it on unpatched version.
Also refactor the workaround to expose the exact same API as
rb_catch_obj, making it easier to ignore and remove later.