-
Notifications
You must be signed in to change notification settings - Fork 186
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
TruffleRuby's support for Childprocess gem #1525
Comments
Probably the best solution here is adding a backend using |
hi guys, first of all, I want to thank you all for the amazing work that you guys have done with truffleruby. Is there any update on this feature? I have a heavy threaded app that uses selenium web driver within 50 threads that would really benefit by truffleruby. I have been looking forward to implement it on this app for a the last 2 years :) |
@colorfulsing Did you see any issue from Now we have FFI implemented, so I think the |
Actually the
If we activate it explicitly:
Which sounds like a FFI issue, we'll try to look at that. The better solution would be to use Process.spawn though, so I'll file an issue on the gem repo for that (enkessler/childprocess#172). |
hi @eregon , thank you very much for the quick response. I'm currently testing using standalone I have also installed these packages on the docker image:
And also installed
And this is the log when using truffleruby-head from yesterday:
Let me know if I can help you with anything else, and thanks again for the help! :D |
It seems that it requires |
Yes, the You can set |
I see, that's fine, I'm ok to add new env vars on our servers to avoid I'm really eager tho, that means that there is not much left before I'm able to implement it on our app :D Thanks for the info! |
* Fixes the error mentioned in #1525 (comment)
…rray_of_* (#1525) PullRequest: truffleruby/2246
The fix in the TruffleRuby FFI backend was fairly trivial: ff8619d
works. What's left is auto-detecting this in |
|
… fork * Such as on TruffleRuby, JRuby, etc. * ForkExecProcess does not work at all on these platforms anyway. * PosixSpawnProcess is not thread-safe with regard to the current working directory (oracle/truffleruby#1525 (comment)) but it's still better than failing with no fork. * enkessler#172 is the proper solution longer-term.
… fork * Such as on TruffleRuby, JRuby, etc. * ForkExecProcess does not work at all on these platforms anyway. * PosixSpawnProcess is not thread-safe with regard to the current working directory (oracle/truffleruby#1525 (comment)) but it's still better than failing with no fork. * #172 is the proper solution longer-term.
… fork * Such as on TruffleRuby, JRuby, etc. * ForkExecProcess does not work at all on these platforms anyway. * PosixSpawnProcess is not thread-safe with regard to the current working directory (oracle/truffleruby#1525 (comment)) but it's still better than failing with no fork. * #172 is the proper solution longer-term.
This is now properly fixed in childprocess 5 🎉 |
I'm not sure, if this is the right place to put in here.
childprocess
is used byselenium-webdriver
(see https://rubygems.org/gems/childprocess/reverse_dependencies)selenium-webdriver
gem is used by many testing libraries such ascapybara
.childprocess
is not under active maintenance. In fact, a new maintainer is needed (enkessler/childprocess#131).The issue is, it uses fork under TruffleRuby (which is not supported).
Backtrace:
Workaround:
export CHILDPROCESS_POSIX_SPAWN=1
, see #1525 (comment)The text was updated successfully, but these errors were encountered: