-
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
22.3.0-dev-01607d73 dead handle 0xbad000000010000
exception
#2720
Comments
Thank you for the report. In that commit range, the only change for C extensions is 01607d7. I will confirm if that guess is indeed the issue. |
It's already clear from the stacktrace actually:
|
* Otherwise the GC might read the variable when it is not pointing to a Ruby object yet. * TruffleRuby also assumes it can read the pointer when rb_gc_register_address() is called: oracle/truffleruby#2720
We should fix these TODOs though, I'll create an issue for that => #2721: truffleruby/src/main/c/cext/gc.c Lines 15 to 20 in 01607d7
truffleruby/src/main/c/cext/gc.c Lines 61 to 66 in 01607d7
|
Thanks for investigating, and for the upstream PR. |
…ed (#345) rb_gc_register_address() must be called after the variable was assigned. Otherwise the GC might read the variable when it is not pointing to a Ruby object yet. TruffleRuby also assumes it can read the pointer when rb_gc_register_address() is called: oracle/truffleruby#2720 * Prefer rb_gc_register_mark_object() since the variable is never reassigned * Mark immediately after assigning the variable to prevent the VALUE to move by GC compaction on CRuby
In the https://github.com/sparklemotion/sqlite3-ruby test suite, we started seeing this error within the past week (between ea16721 (good) and 01607d7 (bad)):
Full log can be found here: https://github.com/sparklemotion/sqlite3-ruby/runs/8214375961?check_suite_focus=true
The version of truffleruby being used in that error run is 22.3.0-dev-01607d73.
About a week earlier, the same sqlite3-ruby commit ran successfully using 22.3.0-dev-ea16721f.
The text was updated successfully, but these errors were encountered: