Skip to content

Ractor: don't invoke initialize_* callbacks when moving an object #13023

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

Closed
wants to merge 1 commit into from

Conversation

casperisfine
Copy link
Contributor

[Bug #20255]

Followup: #13008

Alternatively we could invoke it, but would need to do it in the context of the newly spawned Ractor so that accessing global non-shareable objects is not possible.

@ko1 @jhawthorn @tenderlove any opinion?

[Bug #20255]

Alternatively we could invoke it, but would need to do it in the
context of the newly spawned Ractor so that accessing global non-shareable
objects is not possible.
Copy link

launchable-app bot commented Mar 31, 2025

Tests Failed

✖️27 tests failed ✔️28431 tests passed(4 flakes)

25/85 test sessions failed

❌ Test session #4077791 failedCFLAGS: CXXFLAGS: cppflags: optflags:-O2 ![with-gcc:gcc-13 -flto=auto -ffat-lto-objects -Werror=lto-type-mismatch](https://img.shields.io/badge/with--gcc-gcc--13 --flto=auto --ffat--lto--objects --Werror=lto--type--mismatch-blue.svg) workflow:Compilations test_task:testdetails on CI
🔔 2 issues ✖️2 tests failed ✔️32 tests passed

❌ Test session #4077793 failedCFLAGS: CXXFLAGS: cppflags:-DVM_DEBUG_BP_CHECK optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 1 issue ✖️1 test failed ✔️31 tests passed

❌ Test session #4077796 failedCFLAGS: CXXFLAGS: cppflags:-DHASH_DEBUG optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 1 issue ✖️1 test failed ✔️32 tests passed

❌ Test session #4077797 failed![CFLAGS:-std=c99 -Werror=pedantic -pedantic-errors -Wno-strict-prototypes](https://img.shields.io/badge/CFLAGS---std=c99 --Werror=pedantic --pedantic--errors --Wno--strict--prototypes-blue.svg) CXXFLAGS: cppflags: optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 1 issue ✖️1 test failed ✔️32 tests passed

❌ Test session #4077798 failedCFLAGS: CXXFLAGS: cppflags: optflags:-O1 with-gcc:clang-13 workflow:Compilations test_task:testdetails on CI
🔔 2 issues ✖️2 tests failed ✔️32 tests passed

❌ Test session #4077799 failedCFLAGS: CXXFLAGS: cppflags:-DNDEBUG optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 2 issues ✖️2 tests failed ✔️31 tests passed

❌ Test session #4077800 failedCFLAGS: ![CXXFLAGS:-std=c++20 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long](https://img.shields.io/badge/CXXFLAGS---std=c++20 --Werror=pedantic --pedantic--errors --Wno--c++11--long--long-blue.svg) cppflags: optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 1 issue ✖️1 test failed ✔️32 tests passed

❌ Test session #4077801 failedCFLAGS: CXXFLAGS: cppflags:-DUSE_LAZY_LOAD optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 2 issues ✖️2 tests failed ✔️30 tests passed

❌ Test session #4077804 failedCFLAGS: CXXFLAGS: cppflags:-DGC_DEBUG_STRESS_TO_CLASS optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 1 issue ✖️1 test failed ✔️32 tests passed

❌ Test session #4077805 failedCFLAGS: CXXFLAGS: cppflags: optflags:-O1 with-gcc:clang-18 workflow:Compilations test_task:testdetails on CI
🔔 2 issues ✖️2 tests failed ✔️31 tests passed

❌ Test session #4077806 failedCFLAGS: CXXFLAGS: cppflags: optflags:-O2 ![with-gcc:clang-18 -flto=auto](https://img.shields.io/badge/with--gcc-clang--18 --flto=auto-blue.svg) workflow:Compilations test_task:testdetails on CI
🔔 2 issues ✖️2 tests failed ✔️31 tests passed

❌ Test session #4077819 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 ✔️31 tests passed

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

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

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

❌ Test session #4077836 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 ✔️31 tests passed

❌ Test session #4077837 failedos:macos-14 workflow:macOS test_opts:--repeat-count:2 test_task:test-alldetails on CI
🔔 17 issues ✖️27 tests failed ✔️28401 tests passed

❌ Test session #4077845 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 ✔️31 tests passed

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

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

❌ Test session #4077864 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
🔔 2 issues ✖️2 tests failed ✔️31 tests passed

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

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

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

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

@casperisfine
Copy link
Contributor Author

This isn't possible because Array and other classes do rely on initialize_clone existing:

class Array
  def initialize_clone(o)
    # noop
  end
end

p [1, 2, 3, 4, 5].clone # => []

@casperisfine casperisfine deleted the ractor-move-no-init-clone branch April 2, 2025 10:39
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.

2 participants