-
Notifications
You must be signed in to change notification settings - Fork 8
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
Can't set up Ruby 3.4: ruby_executable_node() gave node_status 0 exit status 1 #51
Comments
Seems to be an error on ruby version 3.4 |
Thanks - I haven't had a chance to look at this year's Ruby yet, error is right during VM setup I think, hasn't even got to your code. Will take a look. |
lol rbenv 3.4.1 is differently bad, segfault while trying to BUG I think but doing approx the same require you're seeing.
|
Crashes same from straight C, probably not Swift's fault.
e: Linux 3.4.1 breaks in the same way (#52) - not a macOS ruby-build problem. Must be how I'm holding it, sadly. |
I've set up CRuby with pkcconfig instead of rbenv, I don't seem to get that segfault. (Ruby was installed using I did take a look look at the source code, seems the error is thrown from here: RubyGateway/Sources/RubyGateway/RbVM.swift Line 136 in 9aca654
I don't know what Using just CRuby I could get a regular example to work e.g. import CRuby
ruby_init();
rb_eval_string("puts 'hello'"); |
Yes it the |
Ah that makes sense. Had a thought that maybe something changed in the C API, but I could only find some functions that were removed in 5.4: https://docs.ruby-lang.org/en/3.4/NEWS_md.html#label-C+API+updates I'll do some testing later |
Comparing & experimenting with the actual ruby code, the problem goes away if we call If we're actually obliged to call this thing with a legit value then the API is problematic for RubyGateway because we don't have a 'root' stack frame to tell Ruby about. Aha, it's ruby/ruby#9505 which removed an So.... need to stare at this code all over again and reach certainty that this is still not actually relevant and it's OK to just do what we used to do in Ruby 3.3. It is not a goal of this project to work correctly with "ruby asan fake stacks" whatever they turn out to be. e: while debugging this I stumbled in a stacksmasher caused by e2: from the ruby build/configure log:
....so |
The following code produces my error:
Error returned:
I configured CRuby with:
Ruby version:
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
Swift version:
RubyGateway version: 6.0.0
The text was updated successfully, but these errors were encountered: