-
Notifications
You must be signed in to change notification settings - Fork 188
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
Internal exception in ruby-pg CI with truffleruby-head #3478
Comments
I've seen similar failures in Nokogiri's test suite, though it appears to be sporadic for me and for an earlier version of TR. I'm happy to open a separate bug report, but the stack trace is so similar I thought I'd start here. Example test output: https://github.com/sparklemotion/nokogiri/actions/runs/8194425716/job/22410492610#step:7:114 Version:
|
|
Interesting. The two most recent Nokogiri errors I have found ruby backtraces to tests that deal with duplicating nodes:
and
I'll take a deeper look when I get a chance. |
Observed a very similar error for What's interesting is that it is throwing from just loading the cext with
|
@ntkme Could you file a separate issue for that one? Going forward, it seems best to file separate issues (one per gem) for |
I finally got truffleruby-24.x running locally and now it looks like a bug in Truffleruby-24.0. s_nan = rb_eval_string("0.0/0.0");
rb_global_variable(&s_nan);
s_pos_inf = rb_eval_string("1.0/0.0");
rb_global_variable(&s_pos_inf);
s_neg_inf = rb_eval_string("'-1.0/0.0'");
rb_global_variable(&s_neg_inf); Then in a C-func the value is returned like so: static VALUE
pg_text_dec_float(...){
return s_neg_inf;
} But to that time the returned Float object is no longer valid, resulting in the The same happens with any floating point number. But nothing crashs, when I use some other ruby object. s_nan = rb_eval_string("'xyz'");
# rb_global_variable(&s_nan); then Truffleruby crashs with very much the same error like with a Float object. But when I uncomment the This is in contrast to Float objects. They fail with the |
@larskanis Thank you for the investigation and details, this makes it a lot easier to look into it. |
I can reproduce the issue reliably in a C API spec, with both bignums and floats ( |
The issue for the Float case seems that the ValueWrapper is not kept alive, after the For bignums like A quick workaround until this is fixed is to run with |
I've opened a new issue for the nokogiri errors above at #3503 |
This fix should be included for the 24.0.1 Release (Apr 16, 2024). |
It happens at every run here in the pg specs when returning a float NaN value.
This error is raised since several weeks in truffleruby-head "24.1.0-dev-3a920de7, like ruby 3.2.2, GraalVM CE Native [x86_64-linux]". It doesn't happen in truffleruby "23.1.2, like ruby 3.2.2, Oracle GraalVM Native [x86_64-linux]".
Here is a failing CI run: https://github.com/ged/ruby-pg/actions/runs/8115487309/job/22183459895#step:12:458
The output:
The text was updated successfully, but these errors were encountered: