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
Use the bundler shipped with ruby for non-MRI #2811
Conversation
eregon
commented
Jan 27, 2022
- Should workaround 22.0.0.2 & Bundler activation oracle/truffleruby#2586
Let's make sure CI passes before merging, at this point I think this should work around the issue but not sure yet. |
At least the compile step worked (https://github.com/puma/puma/runs/4971399375?check_suite_focus=true) unlike https://github.com/puma/puma/runs/4943479989 where it failed before this. |
Mmh, but 22.0 seems to get a StackOverflow during one test: So let's pin it to 21.3 for now to fix CI I guess. |
Oddly enough it passed on macOS: https://github.com/puma/puma/runs/4971399525?check_suite_focus=true |
Ah, the test expects a stack overflow: Lines 347 to 364 in 93815b2
That's extremely brittle for a test, not surprised it's transient. Seems it was an unlucky run, I'll rerun it:
|
* Should workaround oracle/truffleruby#2586
65a0823
to
092cd52
Compare
@eregon Thanks. So, if I've got this right, Ubuntu truffleruby failed twice, but Ubuntu truffleruby-head and macOS truffleruby (10.15 and 11) all
Debatable. Both Ruby and Puma should be able to gracefully recover from many serious problems. And, yes, that's a PITA sometimes. Not sure what to do, but Puma seems to be a good test for TruffleRuby. JFYI, what seems like a long time ago, I 'suggested' many repos run Windows CI, and also ruby-head. A lot of bugs showed up in the beginning... |
Maybe we should skip that test on TruffleRuby? |
I adapted the test so it passes reliably on TruffleRuby. It's indeed some kind of issue in Native Image (GR-36668) that it doesn't produce a normal StackOverflowError, OTOH no VM I know of is safe to use after a stack overflow or an OOM (not the JVM, not CRuby), that might have killled arbitrary cleanup code, e.g. code to unlock a lock, code to clean up a file descriptor or like in this case it might fail at a random place while trying to print something to the console. |
Actually I'm thinking to potentially not translate stack-overflow/out-of-memory on TruffleRuby, and just let it terminate the execution and print a clear message. Such errors are so problematic semantically that it might be best to not try running anything after they happen. |
* Should workaround oracle/truffleruby#2586 * Make the test_lowlevel_error_message test more reliable
* Should workaround oracle/truffleruby#2586 * Make the test_lowlevel_error_message test more reliable
* Should workaround oracle/truffleruby#2586 * Make the test_lowlevel_error_message test more reliable