Ractor support
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu từ lib/sqlite3/database.rb:89 và chạy phần tái hiện Ractor trong issue bằng Ruby 3. Truy vết đường đi của C-extension liên quan đến việc mở cơ sở dữ liệu và xác định hỗ trợ Ractor yêu cầu những gì. Hoàn thành khi ví dụ có thể tạo và sử dụng cơ sở dữ liệu từ một Ractor không phải Ractor chính mà không gặp Ractor::UnsafeError.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hello maintainers,
Is there any interest or planned change to add support to this gem for use within a Ruby 3 Ractor?
Currently, constructing a database instance is failing with the error message introduced into this Ruby commit. I have collected this stacktrace:
~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/sqlite3-1.4.2/lib/sqlite3/database.rb:89:in `open_v2': ractor unsafe method called from not main ractor (Ractor::UnsafeError)
from ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/sqlite3-1.4.2/lib/sqlite3/database.rb:89:in `initialize'
...
It can be reproduced by:
sqlite_ractor = Ractor.new do
db = SQLite3::Database.open "xyz.db"
end
puts sqlite_ractor.take
The Ruby commit message justifies the error because:
C extensions can violate the ractor-safety
However, this gem doesn't appear to store references to Ruby objects that might be accessed across Ractors / invalidly shared, so perhaps its C extensions can be marked as Ractor-safe?
- Ngôn ngữ chính
- Ruby
- Star
- 845
- Fork
- 220
- Merge trung bình
- 4 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của sparklemotion/sqlite3-ruby
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
sparklemotion/sqlite3-ruby#751 ·
-
needs-more-info
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
sparklemotion/sqlite3-ruby#653 · 3 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
sparklemotion/sqlite3-ruby#639 · 4 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
sparklemotion/sqlite3-ruby#628 · 10 bình luận · 1 reaction ·
-
bug help-wanted platform/windows
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
sparklemotion/sqlite3-ruby#618 ·
Tất cả issue của sparklemotion/sqlite3-ruby
Issue tương tự
-
agent:triaged bug bughunt pm:bundler priority:p1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
SocketDev/socket-patch#1573 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug chat verified
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 6 ngày
-
🐞 bug pending triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
CircuitVerse/CircuitVerse#8031 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Empty members in the Accept header cause a 500Có thể đã có người làm @koic đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
modelcontextprotocol/ruby-sdk#609 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
BazaRb::Fake#enter rejects dotted badges accepted by BazaRb#enterCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày