Skip to content

Allow Method objects to be Ractor shareable #12978

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

jhawthorn
Copy link
Member

@jhawthorn jhawthorn commented Mar 24, 2025

This is built on top of #12977 (itself just a rebase of #7182). The last commit, bbad067, has the noteable change.

This makes Method objects shareable via Ractor.make_shareable, with similar semantics to making iseq procs shareable. That is, it will only be made shareable if the receiver is already frozen/shareable, otherwise it will raise Ractor::IsolationError.

I'll file a redmine ticket, since the behaviour deserves to be discussed.

Copy link

launchable-app bot commented Mar 24, 2025

Tests Failed

✖️1 test failed ✔️28740 tests passed

25/162 test sessions failed

❌ Test session #4111141 failedos:macos-14 ![workflow:YJIT macOS Arm64](https://img.shields.io/badge/workflow-YJIT macOS Arm64-blue.svg) test_opts:--enable-yjit test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28430 tests passed

❌ Test session #4111143 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28410 tests passed

❌ Test session #4111145 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️27459 tests passed

❌ Test session #4111147 failedos:macos-14 workflow:macOS test_opts:--repeat-count:2 test_task:test-alldetails on CI
🔔 1 issue ✖️1 test failed ✔️28408 tests passed

❌ Test session #4111148 failedos:macos-14 ![workflow:YJIT macOS Arm64](https://img.shields.io/badge/workflow-YJIT macOS Arm64-blue.svg) test_opts:--enable-yjit:dev test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28476 tests passed

❌ Test session #4111151 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28406 tests passed

❌ Test session #4111158 failedos:macos-15 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28415 tests passed

❌ Test session #4111162 failedos:macos-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28425 tests passed

❌ Test session #4111169 failedos:macos-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28382 tests passed

❌ Test session #4111171 failedos:ubuntu-24.04 workflow:Ubuntu test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28511 tests passed

❌ Test session #4111177 failedos:ubuntu-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28425 tests passed

❌ Test session #4111179 failedos:ubuntu-22.04 ![workflow:YJIT Ubuntu](https://img.shields.io/badge/workflow-YJIT Ubuntu-blue.svg) test_opts:--enable-yjit:dev test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️27562 tests passed

❌ Test session #4111180 failedos:ubuntu-22.04 workflow:Ubuntu test_opts:--disable-yjit test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28312 tests passed

❌ Test session #4111184 failedos:ubuntu-22.04 ![workflow:YJIT Ubuntu](https://img.shields.io/badge/workflow-YJIT Ubuntu-blue.svg) test_opts:--enable-yjit:dev test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28532 tests passed

❌ Test session #4111187 failedos:ubuntu-22.04 workflow:Ubuntu test_opts:--enable-shared--enable-load-relative test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28465 tests passed

❌ Test session #4111190 failedos:ubuntu-22.04 workflow:Ubuntu test_opts:cppflags:-DVM_CHECK_MODE test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28529 tests passed

❌ Test session #4111192 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28428 tests passed

❌ Test session #4111200 failedos:ubuntu-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28421 tests passed

❌ Test session #4111201 failedos:ubuntu-22.04 workflow:Ubuntu test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28374 tests passed

❌ Test session #4111205 failedos:ubuntu-24.04-arm workflow:Ubuntu test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28505 tests passed

❌ Test session #4111211 failedos:ubuntu-22.04 ![workflow:YJIT Ubuntu](https://img.shields.io/badge/workflow-YJIT Ubuntu-blue.svg) test_opts:RUSTC:'rustc+1.58.0' test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28451 tests passed

❌ Test session #4111224 failedos:macos-13 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28429 tests passed

❌ Test session #4111269 failedos:windows-2019 workflow:Windows test_opts:none test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28093 tests passed

❌ Test session #4111277 failedos:windows-2019 workflow:Windows test_opts:none test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28026 tests passed

❌ Test session #4111280 failedos:windows-2022 workflow:MinGW test_opts:none test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28106 tests passed

@jhawthorn jhawthorn force-pushed the shareable_methods branch from 8178190 to a53b3ff Compare April 8, 2025 03:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant