`Gem::Version.new`, `#bump`, and `#release` do not work in ractor
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 55/100
Línea de trabajo
Start with lib/rubygems/version.rb, especially Gem::Version.new, #bump, and #release, and review how their class variables are used. Reproduce the reported Ractor::IsolationError in a non-main Ractor, then add or update the relevant RubyGems tests to cover those methods in Ractors. Done means the methods work in the reported Ractor scenarios without the class-variable isolation error, with focused tests passing.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
reproduction:
Gem::VERSION # => "4.0.23"
Ractor.new { Gem::Version.new(1) }
# => #<Thread:0x0000000122ea71d0 run> terminated with exception (report_on_exception is true):
# => ~/.asdf/installs/ruby/4.0/lib/ruby/4.0.0/rubygems/version.rb:201:in 'Gem::Version.new':
# => can not access class variables from non-main Ractors (@@all from Gem::Version) (Ractor::IsolationError)
relevant code: https://github.com/ruby/rubygems/blob/f033df93676007227d1ae0bd7326008e6396b3e9/lib/rubygems/version.rb#L212-L220
i guess this hasn't become apparent yet because gem versions are usually initialized at load-time? it could, however, be an issue for a few gems that do things like if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0') at runtime.
same for #bump and #release:
Ractor.new(Gem::Version.new(1), &:bump)
# => #<Thread:0x00000001206e3658 run> terminated with exception (report_on_exception is true):
# => ~/.asdf/installs/ruby/4.0/lib/ruby/site_ruby/4.0.0/rubygems/version.rb:236:in 'Gem::Version#bump':
# => can not access class variables from non-main Ractors (@@bump from Gem::Version) (Ractor::IsolationError)
Ractor.new(Gem::Version.new(1), &:release)
# => #<Thread:0x00000001206c0b80 run> terminated with exception (report_on_exception is true):
# => ~/.asdf/installs/ruby/4.0/lib/ruby/site_ruby/4.0.0/rubygems/version.rb:314:in 'Gem::Version#release':
# => can not access class variables from non-main Ractors (@@release from Gem::Version) (Ractor::IsolationError)
- Lenguaje dominante
- Ruby
- Estrellas
- 4k
- Forks
- 2k
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 50
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ruby/rubygems
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Cooldown drops the locked version of a gem named in bundle lock --update or bundle updatePosiblemente ocupada @senid231 la tomó hace 3 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Profiling `require "bundler/setup"` in a 450-gem app: 13 findings, a series of small PRsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
Los mantenedores suelen responder en 1 día
-
Gem::Package::TarReader silently ignores pax/GNU extension headersPosiblemente ocupada @akasakariko la tomó hace 7 días. AbiertoRubyGems
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
ruby/rubygems#9988 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Gem.load_plugins loads same plugin multiple times from different Gem.path entriesPosiblemente ocupada @sourya2704 la tomó hace 12 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
ruby/rubygems#9945 · 4 comentarios · 3 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de ruby/rubygems
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
palladius/rails8-app-on-gcp#198 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
WikiEducationFoundation/WikiEduDashboard#7258 ·
Los mantenedores suelen responder en 1 día
-
UX/UI verified
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 5 días
-
Invalid UTF-8 in `MCP-Protocol-Version`, `Mcp-Method` or `Mcp-Name` gives 500 instead of 400Posiblemente ocupada @atesgoral la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
modelcontextprotocol/ruby-sdk#663 ·
Los mantenedores suelen responder en 1 día
-
Missing es-ES translation: components/student/TracksList.tsx:tracksList.searchLanguageTracksAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día